1228{
1229 uint8_t *start_ptr = data_ptr;
1231 uint8_t *ordinate_ptr;
1232 uint32_t nrings = 0;
1233 uint32_t i = 0;
1234
1235 assert(data_ptr);
1236
1242
1243 data_ptr += 4;
1246 LWDEBUGF(4,
"nrings = %d", nrings);
1247 data_ptr += 4;
1248
1249 ordinate_ptr = data_ptr;
1250 if ( nrings > 0)
1251 {
1254 ordinate_ptr += nrings * 4;
1255 if ( nrings % 2 )
1256 ordinate_ptr += 4;
1257 }
1258 else
1259 {
1262 }
1263
1264 for ( i = 0; i < nrings; i++ )
1265 {
1266 uint32_t npoints = 0;
1267
1268
1270 data_ptr += 4;
1271
1272
1274
1276 }
1277
1278 if ( size )
1279 *size = ordinate_ptr - start_ptr;
1280
1281 return poly;
1282}
static uint32_t gserialized1_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 SRID_UNKNOWN
Unknown SRID value.
#define LWDEBUGF(level, msg,...)