PostGIS  3.4.0dev-r@@SVN_REVISION@@

◆ lwpoly_to_wkt_sb()

static void lwpoly_to_wkt_sb ( const LWPOLY poly,
stringbuffer_t sb,
int  precision,
uint8_t  variant 
)
static

Definition at line 181 of file lwout_wkt.c.

182 {
183  uint32_t i = 0;
184  if ( ! (variant & WKT_NO_TYPE) )
185  {
186  stringbuffer_append_len(sb, "POLYGON", 7); /* "POLYGON" */
188  }
189  if ( lwpoly_is_empty(poly) )
190  {
191  empty_to_wkt_sb(sb);
192  return;
193  }
194 
195  stringbuffer_append_len(sb, "(", 1);
196  for ( i = 0; i < poly->nrings; i++ )
197  {
198  if ( i > 0 )
199  stringbuffer_append_len(sb, ",", 1);
200  ptarray_to_wkt_sb(poly->rings[i], sb, precision, variant);
201  }
202  stringbuffer_append_len(sb, ")", 1);
203 }
static uint8_t variant
Definition: cu_in_twkb.c:26
static uint8_t precision
Definition: cu_in_twkb.c:25
int lwpoly_is_empty(const LWPOLY *poly)
#define WKT_NO_TYPE
Well-Known Text (WKT) Output Variant Types.
static void dimension_qualifiers_to_wkt_sb(const LWGEOM *geom, stringbuffer_t *sb, uint8_t variant)
Definition: lwout_wkt.c:40
static void empty_to_wkt_sb(stringbuffer_t *sb)
Definition: lwout_wkt.c:70
static void ptarray_to_wkt_sb(const POINTARRAY *ptarray, stringbuffer_t *sb, int precision, uint8_t variant)
Definition: lwout_wkt.c:97
static void stringbuffer_append_len(stringbuffer_t *s, const char *a, size_t alen)
Append the specified string to the stringbuffer_t using known length.
Definition: stringbuffer.h:93
POINTARRAY ** rings
Definition: liblwgeom.h:519
uint32_t nrings
Definition: liblwgeom.h:524

References dimension_qualifiers_to_wkt_sb(), empty_to_wkt_sb(), lwpoly_is_empty(), LWPOLY::nrings, precision, ptarray_to_wkt_sb(), LWPOLY::rings, stringbuffer_append_len(), variant, and WKT_NO_TYPE.

Referenced by lwgeom_to_wkt_sb(), lwmpoly_to_wkt_sb(), lwmsurface_to_wkt_sb(), and lwpsurface_to_wkt_sb().

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