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 493 of file lwin_wkb.c.
494{
497 return NULL;
498
499 if( pa == NULL || pa->
npoints == 0 )
500 {
501 if (pa)
504 }
505
507 {
509 return NULL;
510 }
511
513 {
515 return NULL;
516 }
517
519}
#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 lwerror(const char *fmt,...)
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().