PostGIS  2.5.0dev-r@@SVN_REVISION@@
GSERIALIZED* GEOS2POSTGIS ( GEOSGeom  geom,
char  want3d 
)

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

References geometry_serialize(), GEOS2LWGEOM(), LW_TRUE, lwgeom_add_bbox(), lwgeom_free(), lwgeom_needs_bbox(), and lwgeom_summary().

Referenced by boundary(), buffer(), centroid(), clusterintersecting_garray(), GEOSnoop(), pgis_union_geometry_array(), pointonsurface(), polygonize_garray(), ST_MinimumClearanceLine(), and topologypreservesimplify().

2777 {
2778  LWGEOM *lwgeom;
2779  GSERIALIZED *result;
2780 
2781  lwgeom = GEOS2LWGEOM(geom, want3d);
2782  if ( ! lwgeom )
2783  {
2784  lwpgerror("%s: GEOS2LWGEOM returned NULL", __func__);
2785  return NULL;
2786  }
2787 
2788  POSTGIS_DEBUGF(4, "%s: GEOS2LWGEOM returned a %s", __func__, lwgeom_summary(lwgeom, 0));
2789 
2790  if ( lwgeom_needs_bbox(lwgeom) == LW_TRUE )
2791  {
2792  lwgeom_add_bbox(lwgeom);
2793  }
2794 
2795  result = geometry_serialize(lwgeom);
2796  lwgeom_free(lwgeom);
2797 
2798  return result;
2799 }
void lwgeom_free(LWGEOM *geom)
Definition: lwgeom.c:1137
LWGEOM * geom
#define LW_TRUE
Return types for functions with status returns.
Definition: liblwgeom.h:75
GSERIALIZED * geometry_serialize(LWGEOM *lwgeom)
void lwgeom_add_bbox(LWGEOM *lwgeom)
Compute a bbox if not already computed.
Definition: lwgeom.c:679
LWGEOM * GEOS2LWGEOM(const GEOSGeometry *geom, char want3d)
char * lwgeom_summary(const LWGEOM *lwgeom, int offset)
Definition: lwgeom_debug.c:158
int lwgeom_needs_bbox(const LWGEOM *geom)
Check whether or not a lwgeom is big enough to warrant a bounding box.
Definition: lwgeom.c:1190

Here is the call graph for this function:

Here is the caller graph for this function: