PostGIS  3.0.6dev-r@@SVN_REVISION@@

◆ lwcollection_to_wkb_size()

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

Definition at line 628 of file lwout_wkb.c.

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

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: