[geos-commits] [SCM] GEOS branch main updated. e0b1a0a934ec91383909d4af143141925db814be
git at osgeo.org
git at osgeo.org
Fri Sep 6 13:18:14 PDT 2024
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GEOS".
The branch, main has been updated
via e0b1a0a934ec91383909d4af143141925db814be (commit)
from 158d790fe9fa1d94a99cdf356746d46484f08946 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit e0b1a0a934ec91383909d4af143141925db814be
Author: Paul Ramsey <pramsey at cleverelephant.ca>
Date: Fri Sep 6 13:17:54 2024 -0700
news posting for 3.13 release
diff --git a/web/content/posts/2024-09-06-geos-3-13-released.md b/web/content/posts/2024-09-06-geos-3-13-released.md
new file mode 100644
index 000000000..d628ee710
--- /dev/null
+++ b/web/content/posts/2024-09-06-geos-3-13-released.md
@@ -0,0 +1,90 @@
+---
+title: "Version 3.13.0"
+type: posts
+date: 2024-09-06T00:00:00
+---
+
+The 3.13 release of GEOS is now available [to download]({{< ref "/usage/download" >}}).
+
+The headline features of this release are:
+
+* A new approach to boolean predicates via [RelateNG](/posts/2024-08-13-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](https://en.wikipedia.org/wiki/DE-9IM) 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
+
+
+<!--more-->
+
+The full list of changes is as follows:
+
+- **New things:**
+ - Add classes for curved geometry types ([GH-1046](https://github.com/libgeos/geos/issues/1046), Dan Baston/German QGIS users group/Canton of Basel-Landschaft/Canton of Zug)
+ - CircularString
+ - CompoundCurve
+ - CurvedPolygon
+ - MultiCurve
+ - MultiSurface
+ - Support curved geometry types in WKT/WKB readers/writers ([GH-1046](https://github.com/libgeos/geos/issues/1046), [GH-1104](https://github.com/libgeos/geos/issues/1104), [GH-1106](https://github.com/libgeos/geos/issues/1106), Dan Baston)
+ - 3D read and write support for GeoJSON ([GH-1150](https://github.com/libgeos/geos/issues/1150), Oreilles)
+ - RelateNG ([GH-1052](https://github.com/locationtech/jts/pull/1052) Martin Davis, Paul Ramsey)
+ - Rewrite of [boolean predicates and relate matrix calculations](https://lin-ear-th-inking.blogspot.com/2024/05/jts-topological-relationships-next.html)
+ - "Prepared" mode now [available for all predicates](https://lin-ear-th-inking.blogspot.com/2024/05/relateng-performance.html) 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
+
+- **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](https://github.com/libgeos/geos/issues/1143), Mike Taves)
+
+- **Fixes/Improvements:**
+ - Add Angle::sinCosSnap to avoid small errors, e.g. with buffer operations ([GH-978](https://github.com/libgeos/geos/issues/978), Mike Taves)
+ - WKTReader: Points with all-NaN coordinates are not considered empty anymore ([GH-927](https://github.com/libgeos/geos/issues/927), Casper van der Wel)
+ - WKTWriter: Points with all-NaN coordinates are written as such ([GH-927](https://github.com/libgeos/geos/issues/927), Casper van der Wel)
+ - ConvexHull: Performance improvement for larger geometries ([JTS-985](https://github.com/locationtech/jts/issues/985), Martin Davis)
+ - Distance: Improve performance, especially for point-point distance ([GH-1067](https://github.com/libgeos/geos/issues/1067), Dan Baston)
+ - Intersection: change to using DoubleDouble computation to improve robustness ([GH-937](https://github.com/libgeos/geos/issues/937), Martin Davis)
+ - Fix LargestEmptyCircle to respect polygonal obstacles ([GH-939](https://github.com/libgeos/geos/issues/939), Martin Davis)
+ - Fix WKTWriter to emit EMPTY elements in multi-geometries ([GH-952](https://github.com/libgeos/geos/issues/952), Mike Taves)
+ - Fix IncrementalDelaunayTriangulator to ensure triangulation boundary is convex ([GH-953](https://github.com/libgeos/geos/issues/953), Martin Davis)
+ - Fix PreparedLineStringDistance for lines within envelope and polygons ([GH-959](https://github.com/libgeos/geos/issues/959), Martin Davis)
+ - Improve scale handling for PrecisionModel ([GH-956](https://github.com/libgeos/geos/issues/956), Martin Davis)
+ - Fix error in CoordinateSequence::add when disallowing repeated points ([GH-963](https://github.com/libgeos/geos/issues/963), Dan Baston)
+ - Fix WKTWriter::writeTrimmedNumber for big and small values ([GH-973](https://github.com/libgeos/geos/issues/973), Mike Taves)
+ - Fix InteriorPointPoint to handle empty elements ([GH-977](https://github.com/libgeos/geos/issues/977), Martin Davis)
+ - Fix TopologyPreservingSimplifier endpoint handling to avoid self-intersections ([GH-986](https://github.com/libgeos/geos/issues/986), Martin Davis)
+ - Fix spatial predicates for MultiPoint with EMPTY ([GH-989](https://github.com/libgeos/geos/issues/989), Martin Davis)
+ - Fix DiscreteHausdorffDistance for LinearRing ([GH-1000](https://github.com/libgeos/geos/issues/1000), Martin Davis)
+ - Fix IsSimpleOp for MultiPoint with empty element ([GH-1005](https://github.com/libgeos/geos/issues/1005), Martin Davis)
+ - Fix PreparedPolygonContains for GC with MultiPoint ([GH-1008](https://github.com/libgeos/geos/issues/1008), Martin Davis)
+ - Fix reading WKT with EMPTY token with white space ([GH-1025](https://github.com/libgeos/geos/issues/1025), Mike Taves)
+ - Fix buffer Inverted Ring Removal check ([GH-1056](https://github.com/libgeos/geos/issues/1056), Martin Davis)
+ - Add PointLocation.isOnSegment and remove LineIntersector point methods ([GH-1083](https://github.com/libgeos/geos/issues/1083), Martin Davis)
+ - Densify: Interpolate Z coordinates ([GH-1094](https://github.com/libgeos/geos/issues/1094))
+ - GEOSLineSubstring: Fix crash on NaN length fractions ([GH-1088](https://github.com/libgeos/geos/issues/1088), Dan Baston)
+ - MinimumClearance: Fix crash on NaN inputs ([GH-1082](https://github.com/libgeos/geos/issues/1082), Dan Baston)
+ - Centroid: Fix crash on polygons with empty holes ([GH-1075](https://github.com/libgeos/geos/issues/1075), Dan Baston)
+ - GEOSRelatePatternMatch: Fix crash on invalid DE-9IM pattern ([GH-1089](https://github.com/libgeos/geos/issues/1089), Dan Baston)
+ - CoveragePolygonValidator: add section performance optimization ([GH-1099](https://github.com/libgeos/geos/issues/1099), Martin Davis)
+ - TopologyPreservingSimplifier: fix to remove ring endpoints safely ([GH-1110](https://github.com/libgeos/geos/issues/1110), Martin Davis)
+ - TopologyPreservingSimplifier: fix stack overflow on degenerate inputs ([GH-1113](https://github.com/libgeos/geos/issues/1113), Dan Baston)
+ - DouglasPeuckerSimplifier: fix stack overflow on NaN tolerance ([GH-1114](https://github.com/libgeos/geos/issues/1114), Dan Baston)
+ - GEOSConcaveHullOfPolygons: Avoid crash on zero-area input ([GH-1076](https://github.com/libgeos/geos/issues/1076), Dan Baston)
+
+
-----------------------------------------------------------------------
Summary of changes:
web/content/posts/2024-09-06-geos-3-13-released.md | 90 ++++++++++++++++++++++
1 file changed, 90 insertions(+)
create mode 100644 web/content/posts/2024-09-06-geos-3-13-released.md
hooks/post-receive
--
GEOS
More information about the geos-commits
mailing list