CIRCULARSTRING Read a WKB circularstring, starting just after the endian byte, type number and optional srid number.
Advance the parse state forward appropriately. There is only one pointarray in a linestring. Optionally check for minimal following of rules (three point minimum, odd number of points).
Definition at line 502 of file lwin_wkb.c.
503{
506 return NULL;
507
508 if( pa == NULL || pa->
npoints == 0 )
509 {
510 if (pa)
513 }
514
516 {
518 return NULL;
519 }
520
522 {
524 return NULL;
525 }
526
528}
#define LW_PARSER_CHECK_ODD
const char * lwtype_name(uint8_t type)
Return the type name string associated with a type number (e.g.
#define LW_PARSER_CHECK_MINPOINTS
Parser check flags.
void ptarray_free(POINTARRAY *pa)
LWCIRCSTRING * lwcircstring_construct_empty(int32_t srid, char hasz, char hasm)
LWCIRCSTRING * lwcircstring_construct(int32_t srid, GBOX *bbox, POINTARRAY *points)
void void lwerror(const char *fmt,...) __attribute__((format(printf
Write a notice out to the error handler.
static POINTARRAY * ptarray_from_wkb_state(wkb_parse_state *s)
POINTARRAY Read a dynamically sized point array and advance the parse state forward.
References LW_PARSER_CHECK_MINPOINTS, LW_PARSER_CHECK_ODD, lwcircstring_construct(), lwcircstring_construct_empty(), lwerror(), lwtype_name(), POINTARRAY::npoints, ptarray_free(), ptarray_from_wkb_state(), and s.
Referenced by lwgeom_from_wkb_state().