691{
695 GEOSGeometry* g1;
696 GEOSGeometry* g2;
697 GEOSGeometry* g3;
698
700
701
703
704
706
708
711
712 if ( prec >= 0) {
713#if POSTGIS_GEOS_VERSION < 30900
716 return NULL;
717#else
718 g3 = GEOSIntersectionPrec(g1, g2, prec);
719#endif
720 }
721 else
722 {
723 g3 = GEOSIntersection(g1, g2);
724 }
725
727 GEOSSetSRID(g3, srid);
728
730
733}
char result[OUT_DOUBLE_BUFFER_SIZE]
void lwgeom_geos_error_minversion(const char *functionality, const char *minver)
GEOSGeometry * LWGEOM2GEOS(const LWGEOM *lwgeom, uint8_t autofix)
#define GEOS_FREE_AND_FAIL(...)
void lwgeom_geos_error(const char *fmt,...)
void(*) LWGEOM GEOS2LWGEOM)(const GEOSGeometry *geom, uint8_t want3d)
#define FLAGS_GET_Z(flags)
LWGEOM * lwgeom_clone_deep(const LWGEOM *lwgeom)
Deep clone an LWGEOM, everything is copied.
void lwnotice(const char *fmt,...) __attribute__((format(printf
Write a notice out to the notice handler.
static int lwgeom_is_empty(const LWGEOM *geom)
Return true or false depending on whether a geometry is an "empty" geometry (no vertices members)