PostGIS  2.2.8dev-r@@SVN_REVISION@@

◆ lwline_to_wkb_buf()

static uint8_t* lwline_to_wkb_buf ( const LWLINE line,
uint8_t *  buf,
uint8_t  variant 
)
static

Definition at line 465 of file lwout_wkb.c.

References empty_to_wkb_buf(), endian_to_wkb_buf(), integer_to_wkb_buf(), lwgeom_is_empty(), lwgeom_wkb_needs_srid(), lwgeom_wkb_type(), ptarray_to_wkb_buf(), LWGEOM::srid, and WKB_EXTENDED.

Referenced by lwgeom_to_wkb_buf().

466 {
467  /* Only process empty at this level in the EXTENDED case */
468  if ( (variant & WKB_EXTENDED) && lwgeom_is_empty((LWGEOM*)line) )
469  return empty_to_wkb_buf((LWGEOM*)line, buf, variant);
470 
471  /* Set the endian flag */
472  buf = endian_to_wkb_buf(buf, variant);
473  /* Set the geometry type */
475  /* Set the optional SRID for extended variant */
476  if ( lwgeom_wkb_needs_srid((LWGEOM*)line, variant) )
477  buf = integer_to_wkb_buf(line->srid, buf, variant);
478  /* Set the coordinates */
479  buf = ptarray_to_wkb_buf(line->points, buf, variant);
480  return buf;
481 }
static uint8_t * empty_to_wkb_buf(const LWGEOM *geom, uint8_t *buf, uint8_t variant)
Definition: lwout_wkb.c:301
static int lwgeom_wkb_needs_srid(const LWGEOM *geom, uint8_t variant)
Definition: lwout_wkb.c:49
uint8_t variant
Definition: cu_in_twkb.c:26
static uint32_t lwgeom_wkb_type(const LWGEOM *geom, uint8_t variant)
Definition: lwout_wkb.c:68
int32_t srid
Definition: liblwgeom.h:383
static uint8_t * integer_to_wkb_buf(const int ival, uint8_t *buf, uint8_t variant)
Definition: lwout_wkb.c:182
#define WKB_EXTENDED
Definition: liblwgeom.h:1932
static uint8_t * ptarray_to_wkb_buf(const POINTARRAY *pa, uint8_t *buf, uint8_t variant)
Definition: lwout_wkb.c:357
static uint8_t * endian_to_wkb_buf(uint8_t *buf, uint8_t variant)
Definition: lwout_wkb.c:150
int lwgeom_is_empty(const LWGEOM *geom)
Return true or false depending on whether a geometry is an "empty" geometry (no vertices members) ...
Definition: lwgeom.c:1297
Here is the call graph for this function:
Here is the caller graph for this function: