PostGIS  2.5.7dev-r@@SVN_REVISION@@

◆ asgeojson_poly_size()

static size_t asgeojson_poly_size ( const LWPOLY poly,
char *  srs,
GBOX bbox,
int  precision 
)
static

Polygon Geometry.

Definition at line 267 of file lwout_geojson.c.

268 {
269  size_t size;
270  uint32_t i;
271 
272  size = sizeof("{\"type\":\"Polygon\",");
273  if (srs) size += asgeojson_srs_size(srs);
274  if (bbox) size += asgeojson_bbox_size(FLAGS_GET_Z(poly->flags), precision);
275  size += sizeof("\"coordinates\":[");
276  for (i=0; i<poly->nrings; i++)
277  {
278  size += pointArray_geojson_size(poly->rings[i], precision);
279  size += sizeof("[]");
280  }
281  size += sizeof(",") * i;
282  size += sizeof("]}");
283 
284  return size;
285 }
static uint8_t precision
Definition: cu_in_twkb.c:25
#define FLAGS_GET_Z(flags)
Macros for manipulating the 'flags' byte.
Definition: liblwgeom.h:140
static size_t pointArray_geojson_size(POINTARRAY *pa, int precision)
Returns maximum size of rendered pointarray in bytes.
static size_t asgeojson_srs_size(char *srs)
Handle SRS.
Definition: lwout_geojson.c:95
static size_t asgeojson_bbox_size(int hasz, int precision)
Handle Bbox.
POINTARRAY ** rings
Definition: liblwgeom.h:460
uint32_t nrings
Definition: liblwgeom.h:458
uint8_t flags
Definition: liblwgeom.h:455
unsigned int uint32_t
Definition: uthash.h:78

References asgeojson_bbox_size(), asgeojson_srs_size(), LWPOLY::flags, FLAGS_GET_Z, LWPOLY::nrings, pointArray_geojson_size(), precision, and LWPOLY::rings.

Referenced by asgeojson_geom_size(), and asgeojson_poly().

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