PostGIS  3.4.0dev-r@@SVN_REVISION@@

◆ GEOS2POSTGIS()

GSERIALIZED* GEOS2POSTGIS ( GEOSGeom  geom,
char  want3d 
)

Definition at line 2832 of file postgis/lwgeom_geos.c.

2833 {
2834  LWGEOM *lwgeom;
2836 
2837  lwgeom = GEOS2LWGEOM(geom, want3d);
2838  if ( ! lwgeom )
2839  {
2840  lwpgerror("%s: GEOS2LWGEOM returned NULL", __func__);
2841  return NULL;
2842  }
2843 
2844  POSTGIS_DEBUGF(4, "%s: GEOS2LWGEOM returned a %s", __func__, lwgeom_summary(lwgeom, 0));
2845 
2846  if (lwgeom_needs_bbox(lwgeom)) lwgeom_add_bbox(lwgeom);
2847 
2848  result = geometry_serialize(lwgeom);
2849  lwgeom_free(lwgeom);
2850 
2851  return result;
2852 }
char result[OUT_DOUBLE_BUFFER_SIZE]
Definition: cu_print.c:262
LWGEOM * GEOS2LWGEOM(const GEOSGeometry *geom, uint8_t want3d)
void lwgeom_free(LWGEOM *geom)
Definition: lwgeom.c:1155
int lwgeom_needs_bbox(const LWGEOM *geom)
Check whether or not a lwgeom is big enough to warrant a bounding box.
Definition: lwgeom.c:1208
char * lwgeom_summary(const LWGEOM *lwgeom, int offset)
Definition: lwgeom_debug.c:166
void lwgeom_add_bbox(LWGEOM *lwgeom)
Compute a bbox if not already computed.
Definition: lwgeom.c:695

References GEOS2LWGEOM(), lwgeom_add_bbox(), lwgeom_free(), lwgeom_needs_bbox(), lwgeom_summary(), and result.

Referenced by buffer(), clusterintersecting_garray(), GEOSnoop(), pgis_union_geometry_array(), polygonize_garray(), ST_CoverageUnion(), ST_LargestEmptyCircle(), ST_MaximumInscribedCircle(), ST_MinimumClearanceLine(), ST_OrientedEnvelope(), and topologypreservesimplify().

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