Advance the parse state forward appropriately. WKB point has just a set of doubles, with the quantity depending on the dimension of the point, so this looks like a special case of the above with only one point.
405{
406 static uint32_t npoints = 1;
408 size_t pa_size;
409 uint32_t ndims = 2;
411
412
413 if(
s->has_z ) ndims++;
414 if(
s->has_m ) ndims++;
416
417
420 return NULL;
421
422
423 if( !
s->swap_bytes )
424 {
427 }
428
429 else
430 {
431 uint32_t i = 0;
432 double *dlist;
435 for( i = 0; i < ndims; i++ )
436 {
438 }
439 }
440
441
443 if ( isnan(pt->
x) && isnan(pt->
y) )
444 {
447 }
448 else
449 {
451 }
452}
LWPOINT * lwpoint_construct(int32_t srid, GBOX *bbox, POINTARRAY *point)
LWPOINT * lwpoint_construct_empty(int32_t srid, char hasz, char hasm)
void ptarray_free(POINTARRAY *pa)
POINTARRAY * ptarray_construct_copy_data(char hasz, char hasm, uint32_t npoints, const uint8_t *ptlist)
Construct a new POINTARRAY, copying in the data from ptlist.
POINTARRAY * ptarray_construct(char hasz, char hasm, uint32_t npoints)
Construct an empty pointarray, allocating storage and setting the npoints, but not filling in any inf...
#define WKB_DOUBLE_SIZE
Well-Known Binary (WKB) Output Variant Types.
static void wkb_parse_state_check(wkb_parse_state *s, size_t next)
Check that we are not about to read off the end of the WKB array.
static double double_from_wkb_state(wkb_parse_state *s)
Double Read an 8-byte double and advance the parse state forward.
static const POINT2D * getPoint2d_cp(const POINTARRAY *pa, uint32_t n)
Returns a POINT2D pointer into the POINTARRAY serialized_ptlist, suitable for reading from.
uint8_t * serialized_pointlist