PostGIS  3.4.0dev-r@@SVN_REVISION@@

◆ 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  }
368  break;
369  default:
370  lwerror("lwgeom_to_geojson: '%s' geometry type not supported", lwtype_name(geom->type));
371  }
372 }
#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
const char * lwtype_name(uint8_t type)
Return the type name string associated with a type number (e.g.
Definition: lwutil.c:216
#define TRIANGLETYPE
Definition: liblwgeom.h:115
void lwerror(const char *fmt,...)
Write a notice out to the error handler.
Definition: lwutil.c:190
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.
opts
Definition: ovdump.py:45
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, ovdump::opts, 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: