https://libgeos.org/posts/2024-09-06-geos-3-13-released/
The 3.13 release of GEOS is now available to download. The headline features of this release are: - A new approach to boolean predicates via RelateNG - Faster performance for many cases where a short circuit is available - Avoiding the full computation of a topology graph for every call - Ability to use a high speed “prepared” approach for the complete set of predicates as well as the relate matrix functions - Initial support for ISO SQL/MM curve types - Create, read and write support for CircularString, CompoundCurve, CurvedPolygon, MultiCurve, MultiSurface This release includes the following new features in the C API (and of course underlying changes to the C++ code to support these features): - GEOSGeom_createEmptyCircularString() creates a new empty CircularString - GEOSGeom_createCircularString(coordseq) creates a CircularString with the supplied coordinates - GEOSGeom_createEmptyCompoundCurve() creates a new empty CompoundCurve - GEOSGeom_createCompoundCurve(curves, ncurves) creates a CompoundCurve with the supplied components (start/end coordinates must match up) - GEOSGeom_createEmptyCurvePolygon() creates a new empty CurvePolygon - GEOSGeom_createCurvePolygon(shell, holes, nholes) creates a CurvePolygon with the supplied rings - GEOSPreparedRelate(prepgeom, geom) generates a DE9IM intersection matrix for the geometry pair, where one input has been “prepared” for fast repeated calls - GEOSPreparedRelatePattern(prepgeom, geom, pattern) tests a pair of geometry against a known DE9IM pattern to see if the relationship is consistent with the pattern Thanks to everyone who contributed to this release!