96{
98 GEOSGeometry *gepu;
102 if ( ! gepall ) {
104 return NULL;
105 }
106
107
108
109 gepu = GEOSUnaryUnion(gepall);
110 if ( ! gepu ) {
111 GEOSGeom_destroy(gepall);
113 return NULL;
114 }
115 GEOSGeom_destroy(gepall);
116
118 GEOSGeom_destroy(gepu);
119 if ( ! ret ) {
120 lwerror(
"Error during GEOS2LWGEOM");
121 return NULL;
122 }
123
124 return ret;
125}
char lwgeom_geos_errmsg[LWGEOM_GEOS_ERRMSG_MAXSIZE]
GEOSGeometry * LWGEOM2GEOS(const LWGEOM *lwgeom, uint8_t autofix)
LWGEOM * GEOS2LWGEOM(const GEOSGeometry *geom, uint8_t want3d)
void lwmpoint_free(LWMPOINT *mpt)
#define FLAGS_GET_Z(flags)
static LWMPOINT * lwgeom_extract_endpoints(const LWGEOM *lwg)
void lwerror(const char *fmt,...)
Write a notice out to the error handler.