コード例 #1
0
    static char *
asgeojson_point(GEOSGeom point, char *srs, bbox3D *bbox, int precision)
{
    char *output;
    int size;

    size = asgeojson_point_size(point, srs, bbox, precision);
    output = GDKmalloc(size);
    asgeojson_point_buf(point, srs, output, bbox, precision);
    return output;
}
コード例 #2
0
ファイル: lwout_geojson.c プロジェクト: NianYue/pipelinedb
static char *
asgeojson_point(const LWPOINT *point, char *srs, GBOX *bbox, int precision)
{
	char *output;
	int size;

	size = asgeojson_point_size(point, srs, bbox, precision);
	output = lwalloc(size);
	asgeojson_point_buf(point, srs, output, bbox, precision);
	return output;
}
コード例 #3
0
    static size_t
asgeojson_geom_size(GEOSGeom geom, bbox3D *bbox, int precision)
{
    int type = GEOSGeomTypeId(geom)+1;
    size_t size = 0;

    switch (type)
    {
        case wkbPoint_mdb:
            size = asgeojson_point_size(geom, NULL, bbox, precision);
            break;

        case wkbLineString_mdb:
            size = asgeojson_line_size(geom, NULL, bbox, precision);
            break;

        case wkbPolygon_mdb:
            size = asgeojson_poly_size(geom, NULL, bbox, precision);
            break;

        case wkbMultiPoint_mdb:
            size = asgeojson_multipoint_size(geom, NULL, bbox, precision);
            break;

        case wkbMultiLineString_mdb:
            size = asgeojson_multiline_size(geom, NULL, bbox, precision);
            break;

        case wkbMultiPolygon_mdb:
            size = asgeojson_multipolygon_size(geom, NULL, bbox, precision);
            break;

        default:
            assert(0);
            size = 0;
    }

    return size;
}
コード例 #4
0
ファイル: lwout_geojson.c プロジェクト: NianYue/pipelinedb
static size_t
asgeojson_geom_size(const LWGEOM *geom, GBOX *bbox, int precision)
{
	int type = geom->type;
	size_t size = 0;

	switch (type)
	{
	case POINTTYPE:
		size = asgeojson_point_size((LWPOINT*)geom, NULL, bbox, precision);
		break;

	case LINETYPE:
		size = asgeojson_line_size((LWLINE*)geom, NULL, bbox, precision);
		break;

	case POLYGONTYPE:
		size = asgeojson_poly_size((LWPOLY*)geom, NULL, bbox, precision);
		break;

	case MULTIPOINTTYPE:
		size = asgeojson_multipoint_size((LWMPOINT*)geom, NULL, bbox, precision);
		break;

	case MULTILINETYPE:
		size = asgeojson_multiline_size((LWMLINE*)geom, NULL, bbox, precision);
		break;

	case MULTIPOLYGONTYPE:
		size = asgeojson_multipolygon_size((LWMPOLY*)geom, NULL, bbox, precision);
		break;

	default:
		lwerror("GeoJson: geometry not supported.");
	}

	return size;
}