PostGIS 3.7.0dev-r@@SVN_REVISION@@
Loading...
Searching...
No Matches

◆ asgeojson_geometry()

static void asgeojson_geometry ( stringbuffer_t sb,
const LWGEOM geom,
const geojson_opts opts 
)
static

Definition at line 337 of file lwout_geojson.c.

338{
339 switch (geom->type)
340 {
341 case POINTTYPE:
342 asgeojson_point(sb, (LWPOINT*)geom, opts);
343 break;
344 case LINETYPE:
345 asgeojson_line(sb, (LWLINE*)geom, opts);
346 break;
347 case POLYGONTYPE:
348 asgeojson_poly(sb, (LWPOLY*)geom, opts);
349 break;
350 case MULTIPOINTTYPE:
351 asgeojson_multipoint(sb, (LWMPOINT*)geom, opts);
352 break;
353 case MULTILINETYPE:
354 asgeojson_multiline(sb, (LWMLINE*)geom, opts);
355 break;
356 case MULTIPOLYGONTYPE:
357 asgeojson_multipolygon(sb, (LWMPOLY*)geom, opts);
358 break;
359 case TRIANGLETYPE:
360 asgeojson_triangle(sb, (LWTRIANGLE *)geom, opts);
361 break;
362 case TINTYPE:
363 case COLLECTIONTYPE:
364 if (opts->isCollectionElement) {
365 lwerror("GeoJson: geometry not supported.");
366 }
367 asgeojson_collection(sb, (LWCOLLECTION*)geom, opts);
368 break;
369 default:
370 lwerror("lwgeom_to_geojson: '%s' geometry type not supported", lwtype_name(geom->type));
371 }
372}
const char * lwtype_name(uint8_t type)
Return the type name string associated with a type number (e.g.
Definition lwutil.c:216
#define COLLECTIONTYPE
Definition liblwgeom.h:108
#define MULTILINETYPE
Definition liblwgeom.h:106
#define LINETYPE
Definition liblwgeom.h:103
#define MULTIPOINTTYPE
Definition liblwgeom.h:105
#define POINTTYPE
LWTYPE numbers, used internally by PostGIS.
Definition liblwgeom.h:102
#define TINTYPE
Definition liblwgeom.h:116
#define MULTIPOLYGONTYPE
Definition liblwgeom.h:107
#define POLYGONTYPE
Definition liblwgeom.h:104
#define TRIANGLETYPE
Definition liblwgeom.h:115
void void lwerror(const char *fmt,...) __attribute__((format(printf
Write a notice out to the error handler.
static void asgeojson_point(stringbuffer_t *sb, const LWPOINT *point, const geojson_opts *opts)
Point Geometry.
static void asgeojson_triangle(stringbuffer_t *sb, const LWTRIANGLE *tri, const geojson_opts *opts)
Triangle Geometry.
static void asgeojson_multipoint(stringbuffer_t *sb, const LWMPOINT *mpoint, const geojson_opts *opts)
Multipoint Geometry.
static void asgeojson_line(stringbuffer_t *sb, const LWLINE *line, const geojson_opts *opts)
Line Geometry.
static void asgeojson_poly(stringbuffer_t *sb, const LWPOLY *poly, const geojson_opts *opts)
Polygon Geometry.
static void asgeojson_multipolygon(stringbuffer_t *sb, const LWMPOLY *mpoly, const geojson_opts *opts)
static void asgeojson_collection(stringbuffer_t *sb, const LWCOLLECTION *col, const geojson_opts *opts)
Collection Geometry.
static void asgeojson_multiline(stringbuffer_t *sb, const LWMLINE *mline, const geojson_opts *opts)
Multipoint Geometry.
uint8_t type
Definition liblwgeom.h:462

References asgeojson_collection(), asgeojson_line(), asgeojson_multiline(), asgeojson_multipoint(), asgeojson_multipolygon(), asgeojson_point(), asgeojson_poly(), asgeojson_triangle(), COLLECTIONTYPE, LINETYPE, lwerror(), lwtype_name(), MULTILINETYPE, MULTIPOINTTYPE, MULTIPOLYGONTYPE, POINTTYPE, POLYGONTYPE, TINTYPE, TRIANGLETYPE, LWGEOM::type, and LWPOINT::type.

Referenced by asgeojson_collection(), and lwgeom_to_geojson().

Here is the call graph for this function:
Here is the caller graph for this function: