1278{
1279 uint8_t *start_ptr = data_ptr;
1281 uint8_t *ordinate_ptr;
1282 uint32_t nrings = 0;
1283 uint32_t i = 0;
1284
1285 assert(data_ptr);
1286
1292
1293 data_ptr += 4;
1296 LWDEBUGF(4,
"nrings = %d", nrings);
1297 data_ptr += 4;
1298
1299 ordinate_ptr = data_ptr;
1300 if (nrings > 0)
1301 {
1304 ordinate_ptr += nrings * 4;
1305 if (nrings % 2)
1306 ordinate_ptr += 4;
1307 }
1308 else
1309 {
1312 }
1313
1314 for (i = 0; i < nrings; i++)
1315 {
1316 uint32_t npoints = 0;
1317
1318
1320 data_ptr += 4;
1321
1322
1324
1326 }
1327
1328 if (size)
1329 *size = ordinate_ptr - start_ptr;
1330
1331 return poly;
1332}
static uint32_t gserialized2_get_uint32_t(const uint8_t *loc)
POINTARRAY * ptarray_construct_reference_data(char hasz, char hasm, uint32_t npoints, uint8_t *ptlist)
Construct a new POINTARRAY, referencing to the data from ptlist.
#define FLAGS_GET_Z(flags)
void * lwalloc(size_t size)
#define FLAGS_NDIMS(flags)
#define FLAGS_GET_M(flags)
lwflags_t lwflags(int hasz, int hasm, int geodetic)
Construct a new flags bitmask.
#define LWDEBUGF(level, msg,...)