686 GEOSGeometry *g1, *g3 ;
688 int srid = geom1->
srid;
697 LWDEBUG(3,
"linemerge() START");
706 LWDEBUG(3,
" constructed geometrys - calling geos");
707 LWDEBUGF(3,
" g1 = %s", GEOSGeomToWKT(g1));
710 g3 = GEOSLineMerge(g1);
712 LWDEBUG(3,
" linemerge finished");
716 GEOSGeom_destroy(g1);
717 lwerror(
"Error performing linemerge: %s",
722 LWDEBUGF(3,
"result: %s", GEOSGeomToWKT(g3) ) ;
724 GEOSSetSRID(g3, srid);
730 GEOSGeom_destroy(g1);
731 GEOSGeom_destroy(g3);
732 lwerror(
"Error performing linemerge: GEOS2LWGEOM: %s",
737 GEOSGeom_destroy(g1);
738 GEOSGeom_destroy(g3);
void lwnotice(const char *fmt,...)
Write a notice out to the notice handler.
char lwgeom_geos_errmsg[LWGEOM_GEOS_ERRMSG_MAXSIZE]
#define LWDEBUG(level, msg)
void lwgeom_geos_error(const char *fmt,...)
#define FLAGS_GET_Z(flags)
Macros for manipulating the 'flags' byte.
GEOSGeometry * LWGEOM2GEOS(const LWGEOM *lwgeom, int autofix)
LWGEOM * GEOS2LWGEOM(const GEOSGeometry *geom, char want3d)
int lwgeom_is_empty(const LWGEOM *geom)
Return true or false depending on whether a geometry is an "empty" geometry (no vertices members) ...
LWCOLLECTION * lwcollection_construct_empty(uint8_t type, int srid, char hasz, char hasm)
#define LWDEBUGF(level, msg,...)
int lwgeom_has_m(const LWGEOM *geom)
Return LW_TRUE if geometry has M ordinates.
void lwerror(const char *fmt,...)
Write a notice out to the error handler.