PostGIS 3.7.0dev-r@@SVN_REVISION@@
Loading...
Searching...
No Matches

◆ lwline_to_wkb_size()

static size_t lwline_to_wkb_size ( const LWLINE line,
uint8_t  variant 
)
static

Definition at line 488 of file lwout_wkb.c.

489{
490 /* Endian flag + type number */
491 size_t size = WKB_BYTE_SIZE + WKB_INT_SIZE;
492
493 /* Only process empty at this level in the EXTENDED case */
494 if ( (variant & WKB_EXTENDED) && lwgeom_is_empty((LWGEOM*)line) )
495 return empty_to_wkb_size((LWGEOM*)line, variant);
496
497 /* Extended WKB needs space for optional SRID integer */
498 if ( lwgeom_wkb_needs_srid((LWGEOM*)line, variant) )
499 size += WKB_INT_SIZE;
500
501 /* Size of point array */
502 size += ptarray_to_wkb_size(line->points, variant);
503 return size;
504}
static uint8_t variant
Definition cu_in_twkb.c:26
#define WKB_EXTENDED
Definition liblwgeom.h:2212
#define WKB_BYTE_SIZE
#define WKB_INT_SIZE
static int lwgeom_is_empty(const LWGEOM *geom)
Return true or false depending on whether a geometry is an "empty" geometry (no vertices members)
Definition lwinline.h:199
static int lwgeom_wkb_needs_srid(const LWGEOM *geom, uint8_t variant)
Definition lwout_wkb.c:64
static size_t ptarray_to_wkb_size(const POINTARRAY *pa, uint8_t variant)
Definition lwout_wkb.c:380
static size_t empty_to_wkb_size(const LWGEOM *geom, uint8_t variant)
Definition lwout_wkb.c:320

References empty_to_wkb_size(), lwgeom_is_empty(), lwgeom_wkb_needs_srid(), LWLINE::points, ptarray_to_wkb_size(), variant, WKB_BYTE_SIZE, WKB_EXTENDED, and WKB_INT_SIZE.

Referenced by lwgeom_to_wkb_size().

Here is the call graph for this function:
Here is the caller graph for this function: