100{
102 GEOSGeometry *gepu;
106 if ( ! gepall ) {
108 return NULL;
109 }
110
111
112
113 gepu = GEOSUnaryUnion(gepall);
114 if ( ! gepu ) {
115 GEOSGeom_destroy(gepall);
117 return NULL;
118 }
119 GEOSGeom_destroy(gepall);
120
122 GEOSGeom_destroy(gepu);
123 if ( ! ret ) {
124 lwerror(
"Error during GEOS2LWGEOM");
125 return NULL;
126 }
127
128 return ret;
129}
char lwgeom_geos_errmsg[LWGEOM_GEOS_ERRMSG_MAXSIZE]
GEOSGeometry * LWGEOM2GEOS(const LWGEOM *lwgeom, uint8_t autofix)
void(*) 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 void lwerror(const char *fmt,...) __attribute__((format(printf
Write a notice out to the error handler.