331{
333 if (!poObjGeoms)
334 {
335 lwerror(
"Unable to find 'geometries' in GeoJSON string");
336 return NULL;
337 }
339
340 if (json_type_array == json_object_get_type(poObjGeoms))
341 {
342 const int nGeoms = json_object_array_length(poObjGeoms);
343 for (int i = 0; i < nGeoms; ++i)
344 {
345 json_object *poObjGeom = json_object_array_get_idx(poObjGeoms, i);
347 if (t)
349 else
350 {
352 return NULL;
353 }
354 }
355 }
356
357 return geom;
358}
void lwgeom_free(LWGEOM *geom)
LWCOLLECTION * lwcollection_construct_empty(uint8_t type, int32_t srid, char hasz, char hasm)
LWCOLLECTION * lwcollection_add_lwgeom(LWCOLLECTION *col, const LWGEOM *geom)
Appends geom to the collection managed by col.
void lwerror(const char *fmt,...)
Write a notice out to the error handler.
static LWGEOM * parse_geojson(json_object *geojson, int *hasz)
static json_object * findMemberByName(json_object *poObj, const char *pszName)