1347{
1349 uint8_t *start_ptr = data_ptr;
1351 uint32_t ngeoms = 0;
1352 uint32_t i = 0;
1353
1354 assert(data_ptr);
1355
1357 data_ptr += 4;
1358
1361 collection->
bbox = NULL;
1364
1366 collection->
ngeoms = ngeoms;
1367 data_ptr += 4;
1368
1369 if ( ngeoms > 0 )
1370 {
1373 }
1374 else
1375 {
1376 collection->
geoms = NULL;
1378 }
1379
1380
1382
1383 for ( i = 0; i < ngeoms; i++ )
1384 {
1386 size_t subsize = 0;
1387
1389 {
1392 return NULL;
1393 }
1395 data_ptr += subsize;
1396 }
1397
1398 if ( size )
1399 *size = data_ptr - start_ptr;
1400
1401 return collection;
1402}
static LWGEOM * lwgeom_from_gserialized1_buffer(uint8_t *data_ptr, lwflags_t lwflags, size_t *size)
static uint32_t gserialized1_get_uint32_t(const uint8_t *loc)
const char * lwtype_name(uint8_t type)
Return the type name string associated with a type number (e.g.
#define FLAGS_SET_BBOX(flags, value)
void * lwalloc(size_t size)
lwflags_t lwflags(int hasz, int hasm, int geodetic)
Construct a new flags bitmask.
#define SRID_UNKNOWN
Unknown SRID value.
int lwcollection_allows_subtype(int collectiontype, int subtype)
Check if subtype is allowed in collectiontype.
void void lwerror(const char *fmt,...) __attribute__((format(printf
Write a notice out to the error handler.