Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
packaging changes: - change to cmake/build.mk - set test target (tests pass on NetBSD 10 amd64) - update HOMEPAGE - adjust revbumping instructions, because depending pcakages no longer wrongly link to the C++ library * NEWS: Changes in 3.13.0 (2024-09-06) - New things: - Add Angle::sinCosSnap to avoid small errors, e.g. with buffer operations (GH-978, Mike Taves) - Add classes for curved geometry types: CircularString, CompoundCurve, CurvedPolygon, MultiCurve, MultiSurface (GH-1046, Dan Baston/German QGIS users group/Canton of Basel-Landschaft/Canton of Zug) - Support curved geometry types in WKT/WKB readers/writers (GH-1046, GH-1104, GH-1106, Dan Baston) - 3D read and write support for GeoJSON (GH-1150, Oreilles) - Port of RelateNG locationtech/jts#1052 (Martin Davis, Paul Ramsey) - Rewrite of boolean predicates and relate matrix calculations - "Prepared" mode now available for all predicates and relate matrix - CAPI functions GEOSPreparedRelate and GEOSPreparedRelatePattern expose new functionality - CAPI implementations of GEOSPreparedTouches, etc, that were previously defaulting into non-prepared implementations now default into the RelateNG prepared implementation - Prepared implementations for Intersects, Covers, still use the older implementations - https://lin-ear-th-inking.blogspot.com/2024/05/jts-topological-relationships-next.html - https://lin-ear-th-inking.blogspot.com/2024/05/relateng-performance.html - Breaking Changes - Zero-length linestrings (eg LINESTRING(1 1, 1 1)) are now treated as equivalent to points (POINT(1 1)) in boolean predicates - CMake 3.15 or later is requried (GH-1143, Mike Taves) * https://libgeos.org/posts/2024-09-06-geos-3-13-released/ This secion restates the NEWS with a different organization. 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
- Loading branch information