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

◆ parse_geojson()

static LWGEOM * parse_geojson ( json_object *  geojson,
int *  hasz 
)
inlinestatic

Definition at line 361 of file lwin_geojson.c.

362{
363 json_object *type = NULL;
364 const char *name;
365
366 if (!geojson)
367 {
368 lwerror("invalid GeoJSON representation");
369 return NULL;
370 }
371
372 type = findMemberByName(geojson, "type");
373 if (!type)
374 {
375 lwerror("unknown GeoJSON type");
376 return NULL;
377 }
378
379 name = json_object_get_string(type);
380
381 if (strcasecmp(name, "Point") == 0)
382 return parse_geojson_point(geojson, hasz);
383
384 if (strcasecmp(name, "LineString") == 0)
385 return parse_geojson_linestring(geojson, hasz);
386
387 if (strcasecmp(name, "Polygon") == 0)
388 return parse_geojson_polygon(geojson, hasz);
389
390 if (strcasecmp(name, "MultiPoint") == 0)
391 return parse_geojson_multipoint(geojson, hasz);
392
393 if (strcasecmp(name, "MultiLineString") == 0)
394 return parse_geojson_multilinestring(geojson, hasz);
395
396 if (strcasecmp(name, "MultiPolygon") == 0)
397 return parse_geojson_multipolygon(geojson, hasz);
398
399 if (strcasecmp(name, "GeometryCollection") == 0)
400 return parse_geojson_geometrycollection(geojson, hasz);
401
402 lwerror("invalid GeoJson representation");
403 return NULL; /* Never reach */
404}
void lwerror(const char *fmt,...)
Write a notice out to the error handler.
Definition lwutil.c:190
static LWGEOM * parse_geojson_multipoint(json_object *geojson, int *hasz)
static LWGEOM * parse_geojson_multipolygon(json_object *geojson, int *hasz)
static LWGEOM * parse_geojson_linestring(json_object *geojson, int *hasz)
static LWGEOM * parse_geojson_geometrycollection(json_object *geojson, int *hasz)
static json_object * findMemberByName(json_object *poObj, const char *pszName)
static LWGEOM * parse_geojson_point(json_object *geojson, int *hasz)
static LWGEOM * parse_geojson_polygon(json_object *geojson, int *hasz)
static LWGEOM * parse_geojson_multilinestring(json_object *geojson, int *hasz)

References findMemberByName(), lwerror(), parse_geojson_geometrycollection(), parse_geojson_linestring(), parse_geojson_multilinestring(), parse_geojson_multipoint(), parse_geojson_multipolygon(), parse_geojson_point(), and parse_geojson_polygon().

Referenced by lwgeom_from_geojson(), and parse_geojson_geometrycollection().

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