PostGIS  3.4.0dev-r@@SVN_REVISION@@

◆ lwcollection_to_wkb_size()

static size_t lwcollection_to_wkb_size ( const LWCOLLECTION col,
uint8_t  variant 
)
static

Definition at line 629 of file lwout_wkb.c.

630 {
631  /* Endian flag + type number + number of subgeoms */
632  size_t size = WKB_BYTE_SIZE + WKB_INT_SIZE + WKB_INT_SIZE;
633  uint32_t i = 0;
634 
635  /* Extended WKB needs space for optional SRID integer */
636  if ( lwgeom_wkb_needs_srid((LWGEOM*)col, variant) )
637  size += WKB_INT_SIZE;
638 
639  for ( i = 0; i < col->ngeoms; i++ )
640  {
641  /* size of subgeom */
642  size += lwgeom_to_wkb_size((LWGEOM*)col->geoms[i], variant | WKB_NO_SRID);
643  }
644 
645  return size;
646 }
static uint8_t variant
Definition: cu_in_twkb.c:26
#define WKB_NO_SRID
Definition: liblwgeom.h:2182
#define WKB_BYTE_SIZE
#define WKB_INT_SIZE
static size_t lwgeom_to_wkb_size(const LWGEOM *geom, uint8_t variant)
Definition: lwout_wkb.c:676
static int lwgeom_wkb_needs_srid(const LWGEOM *geom, uint8_t variant)
Definition: lwout_wkb.c:64

References LWCOLLECTION::geoms, lwgeom_to_wkb_size(), lwgeom_wkb_needs_srid(), LWCOLLECTION::ngeoms, variant, WKB_BYTE_SIZE, WKB_INT_SIZE, and WKB_NO_SRID.

Referenced by lwgeom_to_wkb_size().

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