geos

Geometry Engine, Open Source

LGPL-2.1 License

Downloads
10
Stars
1.1K
Committers
86

Bot releases are visible (Hide)

geos - Release 3.13.0 Latest Release

Published by github-actions[bot] about 1 month ago

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 https://github.com/locationtech/jts/pull/1052 (Martin Davis, Paul Ramsey)
  • 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)
  • Fixes/Improvements:

    • WKTReader: Points with all-NaN coordinates are not considered empty anymore (GH-927, Casper van der Wel)
    • WKTWriter: Points with all-NaN coordinates are written as such (GH-927, Casper van der Wel)
    • ConvexHull: Performance improvement for larger geometries (JTS-985, Martin Davis)
    • Distance: Improve performance, especially for point-point distance (GH-1067, Dan Baston)
    • Intersection: change to using DoubleDouble computation to improve robustness (GH-937, Martin Davis)
    • Fix LargestEmptyCircle to respect polygonal obstacles (GH-939, Martin Davis)
    • Fix WKTWriter to emit EMPTY elements in multi-geometries (GH-952, Mike Taves)
    • Fix IncrementalDelaunayTriangulator to ensure triangulation boundary is convex (GH-953, Martin Davis)
    • Fix PreparedLineStringDistance for lines within envelope and polygons (GH-959, Martin Davis)
    • Improve scale handling for PrecisionModel (GH-956, Martin Davis)
    • Fix error in CoordinateSequence::add when disallowing repeated points (GH-963, Dan Baston)
    • Fix WKTWriter::writeTrimmedNumber for big and small values (GH-973, Mike Taves)
    • Fix InteriorPointPoint to handle empty elements (GH-977, Martin Davis)
    • Fix TopologyPreservingSimplifier endpoint handling to avoid self-intersections (GH-986, Martin Davis)
    • Fix spatial predicates for MultiPoint with EMPTY (GH-989, Martin Davis)
    • Fix DiscreteHausdorffDistance for LinearRing (GH-1000, Martin Davis)
    • Fix IsSimpleOp for MultiPoint with empty element (GH-1005, Martin Davis)
    • Fix PreparedPolygonContains for GC with MultiPoint (GH-1008, Martin Davis)
    • Fix reading WKT with EMPTY token with white space (GH-1025, Mike Taves)
    • Fix buffer Inverted Ring Removal check (GH-1056, Martin Davis)
    • Add PointLocation.isOnSegment and remove LineIntersector point methods (GH-1083, Martin Davis)
    • Densify: Interpolate Z coordinates (GH-1094)
    • GEOSLineSubstring: Fix crash on NaN length fractions (GH-1088, Dan Baston)
    • MinimumClearance: Fix crash on NaN inputs (GH-1082, Dan Baston)
    • Centroid: Fix crash on polygons with empty holes (GH-1075, Dan Baston)
    • GEOSRelatePatternMatch: Fix crash on invalid DE-9IM pattern (GH-1089, Dan Baston)
    • CoveragePolygonValidator: add section performance optimization (GH-1099, Martin Davis)
    • TopologyPreservingSimplifier: fix to remove ring endpoints safely (GH-1110, Martin Davis)
    • TopologyPreservingSimplifier: fix stack overflow on degenerate inputs (GH-1113, Dan Baston)
    • DouglasPeuckerSimplifier: fix stack overflow on NaN tolerance (GH-1114, Dan Baston)
    • GEOSConcaveHullOfPolygons: Avoid crash on zero-area input (GH-1076, Dan Baston)
geos - Release 3.12.2

Published by github-actions[bot] 5 months ago

2024-06-05

  • Fixes:
    • Intersection: change to using DoubleDouble computation to improve robustness (GH-937, Martin Davis)
    • Fix build on Illumus (GH-971)
    • Buffer mitre join error (GH-995, Paul Ramsey)
    • Return 2D empty linestring on GEOSGeom_createLineString(NULL) (GH-998, Paul Ramsey)
    • Fix DiscreteHausdorffDistance for LinearRing (GH-1000, Martin Davis)
    • PointOnSurface crashes with a collection containing a empty linestring (GH-1002, Paul Ramsey)
    • Fix IsSimpleOp for MultiPoint with empty element (GH-1005, Martin Davis)
    • Fix PreparedPolygonContains for GC with MultiPoint (GH-1008, Martin Davis)
    • Fix TopologyPreservingSimplifier to prevent jumping components (GH-1012, Martin Davis)
    • Fix reading WKT with EMPTY token with white space (GH-1025, Mike Taves)
    • Segfault in CoverageSimplify for non-polygonal inputs (GH-1039, Paul Ramsey)
    • Fix buffer Inverted Ring Removal check (GH-1056, Martin Davis)
    • CoveragePolygonValidator: add section performance optimization (GH-1099, Martin Davis)
geos - Release 3.11.4

Published by github-actions[bot] 5 months ago

2024-06-05

  • Fixes/Improvements:
    • Intersection: change to using DoubleDouble computation to improve robustness (GH-937, Martin Davis)
    • Fix IncrementalDelaunayTriangulator to ensure triangulation boundary is convex (GH-953, Martin Davis)
    • Fix build on Illumus (GH-971)
    • Fix DiscreteHausdorffDistance for LinearRing (GH-1000, Martin Davis)
    • PointOnSurface crashes with a collection containing a empty linestring (GH-1002, Paul Ramsey)
    • Fix IsSimpleOp for MultiPoint with empty element (GH-1005, Martin Davis)
    • Fix reading WKT with EMPTY token with white space (GH-1025, Mike Taves)
geos - Release 3.9.5

Published by github-actions[bot] 11 months ago

2023-11-12

  • Bug fixes / improvements:
    • GEOSUnaryUnion: Fix crash on collection containing empty point (GH-830, Dan Baston)
    • IndexedFacetDistance: Fix crash with Inf coordinates (GH-821, Dan Baston)
    • HausdorffDistance: Fix crash on collection containing empty point (GH-840, Dan Baston)
    • MaximumInscribedCircle: Fix infinite loop with non-finite coordinates (GH-843, Dan Baston)
    • DistanceOp: Fix crash on collection containing empty point (GH-842, Dan Baston)
    • GEOSClipByRect: Fix case with POINT EMPTY (GH-913, Mike Taves)
    • Remove undefined behaviour in use of null PrecisionModel (GH-931, Jeff Walton)
    • Skip over testing empty distances for mixed collections (GH-979, Paul Ramsey)
    • Add missing cstdint headers (GH-990, GH-743, Regina Obe, Sergei Trofimovich)
geos - Release 3.8.4

Published by github-actions[bot] 11 months ago

2024-11-12

  • Bug fixes / improvements
    • Fix PreparedGeometry to avoid crashes with EMPTY elements in input (GH-678, Martin Davis)
    • GEOSClipByRect: Fix case with POINT EMPTY (GH-913, Mike Taves)
    • Fix Crash in GEOSIntersects with empty point inputs (GH-673, Daniel Baston)
    • Add missing includes in TopologyLocation (GH-991, Regina Obe)
geos - Release 3.10.6

Published by github-actions[bot] 11 months ago

2023-11-11

  • Fixes/Improvements:
    • LargestEmptyCircle: enhance boundary to allow any polygonal geometry (GH-859, Martin Davis)
    • Build issues with gcc-13 (GH-863)
    • GeoJSONReader: Fix 2D empty geometry creation (GH-910, Mike Taves)
    • GEOSClipByRect: Fix case with POINT EMPTY (GH-913, Mike Taves)
    • Remove undefined behaviour in use of null PrecisionModel (GH-931, Jeff Walton)
    • PreparedLineStringIntersects: Fix incorrect result with mixed-dim collection with points (GH-774, Dan Baston)
    • Skip over testing empty distances for mixed collections (GH-979, Paul Ramsey)
    • Do not hide illegal argument exception in HeuristicOverlay (GH-925, Sandro Santilli)
geos - Release 3.11.3

Published by github-actions[bot] 11 months ago

2023-11-11

  • Fixes/Improvements:
    • Tri: add exceptions for invalid indexes (GH-853, Martin Davis)
    • OffsetCurve: handle zero-distance offsets (GH-850, Martin Davis)
    • LargestEmptyCircle: enhance boundary to allow any polygonal geometry (GH-859, Martin Davis)
    • Build issues with RH (GH-860)
    • OffsetCurve: fix EndCap parameter handling (GH-899, Martin Davis)
    • GeoJSONReader: Fix 2D empty geometry creation (GH-910, Mike Taves)
    • OffsetCurve: add minimum threshold for quadsegs (GH-897, Martin Davis, Paul Ramsey)
    • GEOSClipByRect: Fix case with POINT EMPTY (GH-913, Mike Taves)
    • Remove undefined behaviour in use of null PrecisionModel (GH-931, Jeff Walton)
    • Fix InteriorPointPoint to handle empty elements (GH-977, Martin Davis)
    • PreparedLineStringIntersects: Fix incorrect result with mixed-dim collection with points (GH-774, Dan Baston)
    • Skip over testing empty distances for mixed collections (GH-979, Paul Ramsey)
    • geosop: change output to show Z (Mike Taves)
geos - Release 3.12.1

Published by github-actions[bot] 11 months ago

2023-11-11

  • Fixes:
    • Remove undefined behaviour in use of null PrecisionModel (GH-931, Jeff Walton)
    • Explicitly set endianness for some tests so that output matches expected (GH-934, Paul Ramsey)
    • Fix IncrementalDelaunayTriangulator to ensure triangulation boundary is convex (GH-953, Martin Davis)
    • Improve scale handling for PrecisionModel (GH-956, Martin Davis)
    • Fix PreparedLineStringDistance for lines within envelope and polygons (GH-959, Martin Davis)
    • Fix error in CoordinateSequence::add when disallowing repeated points (GH-963, Dan Baston)
    • Fix InteriorPointPoint to handle empty elements (GH-977, Martin Davis)
    • Skip over testing empty distances for mixed collections. (GH-979, Paul Ramsey)
    • Fix TopologyPreservingSimplifier endpoint handling to avoid self-intersections (GH-986, Martin Davis)
    • Build warnings with Visual Studio (GH-929, Jeff Mckenna, Paul Ramsey)
    • Fix CMake on Windows with Visual Studio (GH-945, Aaron Barany)
geos - Release 3.12.0

Published by github-actions[bot] over 1 year ago

2023-06-27

  • New things:

    • C++14 is now required.
    • Polygonal coverages: CoverageValidator, CoveragePolygonValidator,
      CoverageGapFinder, CoverageUnion (JTS-900, Martin Davis & Paul Ramsey)
    • Support reading and writing M values through WKB and WKT readers/writers
      (GH-721, Dan Baston)
    • Interpolate M values in overlay results (GH-802, Dan Baston)
    • CAPI: GEOSPreparedContainsXY, GEOSPreparedIntersectsXY (GH-677, Dan Baston)
    • Add CoordinateSequenceIterator (GH-685, Dan Baston)
    • Geometry clustering: DBSCAN, geometry intersection/distance, envelope
      intersection/distance (GH-688, Dan Baston)
    • CAPI: GEOSDisjointSubsetUnion (GH-692, Dan Baston)
    • CAPI: GEOSLineSubstring (GH-706, Dan Baston)
    • CAPI: GEOSEqualsIdentical (GH-810, Dan Baston)
    • CAPI: GEOSOrientPolygons (GH-818, Dan Baston)
    • CAPI: GEOSSTRtree_build (GH-835, Dan Baston)
    • CAPI: GEOSConcaveHullByLength (GH-849, Martin Davis)
    • CAPI: GEOSGeomGetM (GH-864, Mike Taves)
    • Voronoi: Add option to create diagram in order consistent with inputs (GH-781, Dan Baston)
    • Polygonal coverages: CoverageSimplifier (JTS-911, Martin Davis)
    • CAPI: GEOSCoverageIsValid, GEOSCoverageSimplifyVW (GH-867, Paul Ramsey)
    • CAPI: GEOSGeom_releaseCollection (GH-848)
    • CAPI: GEOSMinimumRotatedRectangle now uses MinimumAreaRectangle (Paul Ramsey)
  • Breaking Changes

    • CoverageUnion now requires valid inputs to produce valid outputs
      and may return invalid outputs silently when fed invalid inputs.
      Use CoverageValidator first if you do not know the validity of your data.
  • Fixes/Improvements:

    • WKTReader: Fix parsing of Z and M flags in WKTReader (#676 and GH-669, Dan Baston)
    • WKTReader: Throw exception on inconsistent geometry dimension (#1080, Dan Baston)
    • WKTReader: Throw exception if WKT contains extra text after end of geometry (#1095, Dan Baston)
    • GEOSIntersects: Fix crash with empty point inputs (#1110, Dan Baston)
    • GEOSIntersects: Improve performance/robustness by using PreparedGeometry algorithm (GH-775, Dan Baston)
    • LineMerger: Recursively collect all components from GeometryCollections (#401, Dan Baston)
    • GeometryPrecisionReducer: Return correct dimensionality for empty results (GH-684, Dan Baston)
    • Improve performance of coverage union (GH-681, Dan Baston)
    • Improve performance of prepared polygon intersection (GH-690, Dan Baston)
    • Improve performance of prepared polygon distance (GH-693, Dan Baston)
    • Implement indexed calculations for prepared geometry isWithinDistance (GH-691, Dan Baston)
    • Fix LineSegment.orientationIndex(LineSegment) (GH-699, Martin Davis)
    • Fix DepthSegment comparison operation (GH-707, Martin Davis)
    • Add OverlayNG support for simple GeometryCollection inputs (GH-716, Martin Davis)
    • Fix TopologyPreservingSimplifier to produce stable results for Multi inputs (GH-718, Martin Davis)
    • Improve ConvexHull radial sort robustness (GH-724, Martin Davis)
    • Use more robust Delaunay Triangulation frame size heuristic (GH-728, Martin Davis)
    • DiscreteFrechetDistance: Fix crash with empty inputs (GH-751, Dan Baston)
    • GEOSSimplify / DouglasPeuckerSimplifier: Allow ring origin to be removed (GH-773, Dan Baston)
    • GEOSTopologyPreserveSimplify / TopologyPreservingSimplifier: Allow ring origin to be removed (GH-784, Dan Baston)
    • PreparedLineStringIntersects: Fix incorrect result with mixed-dim collection (GH-774, Dan Baston)
    • GEOSIntersection: Fix FE_INVALID exception on intersection of disjoint geometries
      (GH-791, Joris Van den Bossche & Dan Baston)
    • Fix incorrect result from Envelope::disjoint (GH-791, Dan Baston)
    • Polygonizer: Fix duplicate lines return by getInvalidRingLines (GH-782, Martin Davis & Dan Baston)
    • GEOSUnaryUnion: Fix crash on collection containing empty point (GH-830, Dan Baston)
    • GEOSBuffer: Fix crash with Inf coordinates (GH-822, Dan Baston)
    • GEOSSTRtree_iterate: Do not return removed items (GH-833, Dan Baston)
    • IndexedFacetDistance: Fix crash with Inf coordinates (GH-821, Dan Baston)
    • HausdorffDistance: Fix crash on collection containing empty point (GH-840, Dan Baston)
    • MaximumInscribedCircle: Fix infinite loop with non-finite coordinates (GH-843, Dan Baston)
    • DistanceOp: Fix crash on collection containing empty point (GH-842, Dan Baston)
    • OffsetCurve: improve behaviour and add Joined mode (JTS-956, Martin Davis)
    • GeometryPrecisionReducer: preserve input collection types (GH-846, Paul Ramsey)
    • OffsetCurve: handle zero-distance offsets (GH-850, Martin Davis)
    • Tri: add exceptions for invalid indexes (GH-853, Martin Davis)
    • LargestEmptyCircle: enhance boundary to allow any polygonal geometry (GH-859, Martin Davis)
    • Fix MaximumInscribedCircle and LargestEmptyCircle performance and memory issues (GH-883, Martin Davis)
    • GEOSHasZ: Fix handling with empty geometries (GH-887, Mike Taves)
    • OffsetCurve: fix EndCap parameter handling (GH-899, Martin Davis)
    • Reduce artifacts in single-sided Buffers: (GH-665 #810 and #712, Sandro Santilli)
    • GeoJSONReader: Fix 2D empty geometry creation (GH-909, Mike Taves)
    • GEOSClipByRect: Fix case with POINT EMPTY (GH-913, Mike Taves)
    • Support mixed GeometryCollection in overlay ops (GH-797, Paul Ramsey)
  • Changes:

    • Remove Orientation.isCCW exception to simplify logic and align with JTS (GH-878, Martin Davis)
    • Change MultiPoint WKT to use parentheses in sub-members (GH-903, Mike Taves)
    • Change WKBWriter default output dimension to 4 (GH-908, Mike Taves)
    • Change WKTWriter defaults output dimension to 4 and trim to 'on' (GH-915, Mike Taves)
geos - Release 3.12.0beta2

Published by github-actions[bot] over 1 year ago

xxxx-xx-xx

  • New things:

    • C++14 is now required.
    • Polygonal coverages: CoverageValidator, CoveragePolygonValidator,
      CoverageGapFinder, CoverageUnion (JTS-900, Martin Davis & Paul Ramsey)
    • Support reading and writing M values through WKB and WKT readers/writers
      (GH-721, Dan Baston)
    • Interpolate M values in overlay results (GH-802, Dan Baston)
    • CAPI: GEOSPreparedContainsXY, GEOSPreparedIntersectsXY (GH-677, Dan Baston)
    • Add CoordinateSequenceIterator (GH-685, Dan Baston)
    • Geometry clustering: DBSCAN, geometry intersection/distance, envelope
      intersection/distance (GH-688, Dan Baston)
    • CAPI: GEOSDisjointSubsetUnion (GH-692, Dan Baston)
    • CAPI: GEOSLineSubstring (GH-706, Dan Baston)
    • CAPI: GEOSEqualsIdentical (GH-810, Dan Baston)
    • CAPI: GEOSOrientPolygons (GH-818, Dan Baston)
    • CAPI: GEOSSTRtree_build (GH-835, Dan Baston)
    • CAPI: GEOSConcaveHullByLength (GH-849, Martin Davis)
    • CAPI: GEOSGeomGetM (GH-864, Mike Taves)
    • Voronoi: Add option to create diagram in order consistent with inputs (GH-781, Dan Baston)
    • Polygonal coverages: CoverageSimplifier (JTS-911, Martin Davis)
    • CAPI: GEOSCoverageIsValid, GEOSCoverageSimplifyVW (GH-867, Paul Ramsey)
    • CAPI: GEOSGeom_releaseCollection (GH-848)
    • CAPI: GEOSMinimumRotatedRectangle now uses MinimumAreaRectangle (Paul Ramsey)
  • Breaking Changes

    • CoverageUnion now requires valid inputs to produce valid outputs
      and may return invalid outputs silently when fed invalid inputs.
      Use CoverageValidator first if you do not know the validity of your data.
  • Fixes/Improvements:

    • WKTReader: Fix parsing of Z and M flags in WKTReader (#676 and GH-669, Dan Baston)
    • WKTReader: Throw exception on inconsistent geometry dimension (#1080, Dan Baston)
    • WKTReader: Throw exception if WKT contains extra text after end of geometry (#1095, Dan Baston)
    • GEOSIntersects: Fix crash with empty point inputs (#1110, Dan Baston)
    • GEOSIntersects: Improve performance/robustness by using PreparedGeometry algorithm (GH-775, Dan Baston)
    • LineMerger: Recursively collect all components from GeometryCollections (#401, Dan Baston)
    • GeometryPrecisionReducer: Return correct dimensionality for empty results (GH-684, Dan Baston)
    • Improve performance of coverage union (GH-681, Dan Baston)
    • Improve performance of prepared polygon intersection (GH-690, Dan Baston)
    • Improve performance of prepared polygon distance (GH-693, Dan Baston)
    • Implement indexed calculations for prepared geometry isWithinDistance (GH-691, Dan Baston)
    • Fix LineSegment.orientationIndex(LineSegment) (GH-699, Martin Davis)
    • Fix DepthSegment comparison operation (GH-707, Martin Davis)
    • Add OverlayNG support for simple GeometryCollection inputs (GH-716, Martin Davis)
    • Fix TopologyPreservingSimplifier to produce stable results for Multi inputs (GH-718, Martin Davis)
    • Improve ConvexHull radial sort robustness (GH-724, Martin Davis)
    • Use more robust Delaunay Triangulation frame size heuristic (GH-728, Martin Davis)
    • DiscreteFrechetDistance: Fix crash with empty inputs (GH-751, Dan Baston)
    • GEOSSimplify / DouglasPeuckerSimplifier: Allow ring origin to be removed (GH-773, Dan Baston)
    • GEOSTopologyPreserveSimplify / TopologyPreservingSimplifier: Allow ring origin to be removed (GH-784, Dan Baston)
    • PreparedLineStringIntersects: Fix incorrect result with mixed-dim collection (GH-774, Dan Baston)
    • GEOSIntersection: Fix FE_INVALID exception on intersection of disjoint geometries
      (GH-791, Joris Van den Bossche & Dan Baston)
    • Fix incorrect result from Envelope::disjoint (GH-791, Dan Baston)
    • Polygonizer: Fix duplicate lines return by getInvalidRingLines (GH-782, Martin Davis & Dan Baston)
    • GEOSUnaryUnion: Fix crash on collection containing empty point (GH-830, Dan Baston)
    • GEOSBuffer: Fix crash with Inf coordinates (GH-822, Dan Baston)
    • GEOSSTRtree_iterate: Do not return removed items (GH-833, Dan Baston)
    • IndexedFacetDistance: Fix crash with Inf coordinates (GH-821, Dan Baston)
    • HausdorffDistance: Fix crash on collection containing empty point (GH-840, Dan Baston)
    • MaximumInscribedCircle: Fix infinite loop with non-finite coordinates (GH-843, Dan Baston)
    • DistanceOp: Fix crash on collection containing empty point (GH-842, Dan Baston)
    • OffsetCurve: improve behaviour and add Joined mode (JTS-956, Martin Davis)
    • GeometryPrecisionReducer: preserve input collection types (GH-846, Paul Ramsey)
    • OffsetCurve: handle zero-distance offsets (GH-850, Martin Davis)
    • Tri: add exceptions for invalid indexes (GH-853, Martin Davis)
    • LargestEmptyCircle: enhance boundary to allow any polygonal geometry (GH-859, Martin Davis)
    • Fix MaximumInscribedCircle and LargestEmptyCircle performance and memory issues (GH-883, Martin Davis)
    • GEOSHasZ: Fix handling with empty geometries (GH-887, Mike Taves)
    • OffsetCurve: fix EndCap parameter handling (GH-899, Martin Davis)
    • Reduce artifacts in single-sided Buffers: (GH-665 #810 and #712, Sandro Santilli)
    • GeoJSONReader: Fix 2D empty geometry creation (GH-909, Mike Taves)
    • GEOSClipByRect: Fix case with POINT EMPTY (GH-913, Mike Taves)
    • Support mixed GeometryCollection in overlay ops (GH-797, Paul Ramsey)
  • Changes:

    • Remove Orientation.isCCW exception to simplify logic and align with JTS (GH-878, Martin Davis)
    • Change MultiPoint WKT to use parentheses in sub-members (GH-903, Mike Taves)
    • Change WKBWriter default output dimension to 4 (GH-908, Mike Taves)
    • Change WKTWriter defaults output dimension to 4 and trim to 'on' (GH-915, Mike Taves)
geos - Release 3.12.0beta1

Published by github-actions[bot] over 1 year ago

xxxx-xx-xx

  • New things:

    • C++14 is now required.
    • Polygonal coverages: CoverageValidator, CoveragePolygonValidator,
      CoverageGapFinder, CoverageUnion (JTS-900, Martin Davis & Paul Ramsey)
    • Support reading and writing M values through WKB and WKT readers/writers
      (GH-721, Dan Baston)
    • Interpolate M values in overlay results (GH-802, Dan Baston)
    • CAPI: GEOSPreparedContainsXY, GEOSPreparedIntersectsXY (GH-677, Dan Baston)
    • Add CoordinateSequenceIterator (GH-685, Dan Baston)
    • Geometry clustering: DBSCAN, geometry intersection/distance, envelope
      intersection/distance (GH-688, Dan Baston)
    • CAPI: GEOSDisjointSubsetUnion (GH-692, Dan Baston)
    • CAPI: GEOSLineSubstring (GH-706, Dan Baston)
    • CAPI: GEOSEqualsIdentical (GH-810, Dan Baston)
    • CAPI: GEOSOrientPolygons (GH-818, Dan Baston)
    • CAPI: GEOSSTRtree_build (GH-835, Dan Baston)
    • CAPI: GEOSConcaveHullByLength (GH-849, Martin Davis)
    • CAPI: GEOSGeomGetM (GH-864, Mike Taves)
    • Voronoi: Add option to create diagram in order consistent with inputs (GH-781, Dan Baston)
    • Polygonal coverages: CoverageSimplifier (JTS-911, Martin Davis)
    • CAPI: GEOSCoverageIsValid, GEOSCoverageSimplifyVW (GH-867, Paul Ramsey)
    • CAPI: GEOSGeom_releaseCollection (GH-848)
    • CAPI: GEOSMinimumRotatedRectangle now uses MinimumAreaRectangle (Paul Ramsey)
  • Breaking Changes

    • CoverageUnion now requires valid inputs to produce valid outputs
      and may return invalid outputs silently when fed invalid inputs.
      Use CoverageValidator first if you do not know the validity of your data.
  • Fixes/Improvements:

    • WKTReader: Fix parsing of Z and M flags in WKTReader (#676 and GH-669, Dan Baston)
    • WKTReader: Throw exception on inconsistent geometry dimension (#1080, Dan Baston)
    • WKTReader: Throw exception if WKT contains extra text after end of geometry (#1095, Dan Baston)
    • GEOSIntersects: Fix crash with empty point inputs (#1110, Dan Baston)
    • GEOSIntersects: Improve performance/robustness by using PreparedGeometry algorithm (GH-775, Dan Baston)
    • LineMerger: Recursively collect all components from GeometryCollections (#401, Dan Baston)
    • GeometryPrecisionReducer: Return correct dimensionality for empty results (GH-684, Dan Baston)
    • Improve performance of coverage union (GH-681, Dan Baston)
    • Improve performance of prepared polygon intersection (GH-690, Dan Baston)
    • Improve performance of prepared polygon distance (GH-693, Dan Baston)
    • Implement indexed calculations for prepared geometry isWithinDistance (GH-691, Dan Baston)
    • Fix LineSegment.orientationIndex(LineSegment) (GH-699, Martin Davis)
    • Fix DepthSegment comparison operation (GH-707, Martin Davis)
    • Add OverlayNG support for simple GeometryCollection inputs (GH-716, Martin Davis)
    • Fix TopologyPreservingSimplifier to produce stable results for Multi inputs (GH-718, Martin Davis)
    • Improve ConvexHull radial sort robustness (GH-724, Martin Davis)
    • Use more robust Delaunay Triangulation frame size heuristic (GH-728, Martin Davis)
    • DiscreteFrechetDistance: Fix crash with empty inputs (GH-751, Dan Baston)
    • GEOSSimplify / DouglasPeuckerSimplifier: Allow ring origin to be removed (GH-773, Dan Baston)
    • GEOSTopologyPreserveSimplify / TopologyPreservingSimplifier: Allow ring origin to be removed (GH-784, Dan Baston)
    • PreparedLineStringIntersects: Fix incorrect result with mixed-dim collection (GH-774, Dan Baston)
    • GEOSIntersection: Fix FE_INVALID exception on intersection of disjoint geometries
      (GH-791, Joris Van den Bossche & Dan Baston)
    • Fix incorrect result from Envelope::disjoint (GH-791, Dan Baston)
    • Polygonizer: Fix duplicate lines return by getInvalidRingLines (GH-782, Martin Davis & Dan Baston)
    • GEOSUnaryUnion: Fix crash on collection containing empty point (GH-830, Dan Baston)
    • GEOSBuffer: Fix crash with Inf coordinates (GH-822, Dan Baston)
    • GEOSSTRtree_iterate: Do not return removed items (GH-833, Dan Baston)
    • IndexedFacetDistance: Fix crash with Inf coordinates (GH-821, Dan Baston)
    • HausdorffDistance: Fix crash on collection containing empty point (GH-840, Dan Baston)
    • MaximumInscribedCircle: Fix infinite loop with non-finite coordinates (GH-843, Dan Baston)
    • DistanceOp: Fix crash on collection containing empty point (GH-842, Dan Baston)
    • OffsetCurve: improve behaviour and add Joined mode (JTS-956, Martin Davis)
    • GeometryPrecisionReducer: preserve input collection types (GH-846, Paul Ramsey)
    • OffsetCurve: handle zero-distance offsets (GH-850, Martin Davis)
    • Tri: add exceptions for invalid indexes (GH-853, Martin Davis)
    • LargestEmptyCircle: enhance boundary to allow any polygonal geometry (GH-859, Martin Davis)
    • Fix MaximumInscribedCircle and LargestEmptyCircle performance and memory issues (GH-883, Martin Davis)
    • GEOSHasZ: Fix handling with empty geometries (GH-887, Mike Taves)
    • OffsetCurve: fix EndCap parameter handling (GH-899, Martin Davis)
    • Reduce artifacts in single-sided Buffers: (GH-665 #810 and #712, Sandro Santilli)
    • GeoJSONReader: Fix 2D empty geometry creation (GH-909, Mike Taves)
    • GEOSClipByRect: Fix case with POINT EMPTY (GH-913, Mike Taves)
  • Changes:

    • Remove Orientation.isCCW exception to simplify logic and align with JTS (GH-878, Martin Davis)
    • Change MultiPoint WKT to use parentheses in sub-members (GH-903, Mike Taves)
    • Change WKBWriter default output dimension to 4 (GH-908, Mike Taves)
    • Change WKTWriter defaults output dimension to 4 and trim to 'on' (GH-915, Mike Taves)
geos - Release 3.11.2

Published by github-actions[bot] over 1 year ago

2023-03-16

  • Fixes/Improvements:
    • GEOSIntersection: Fix FE_INVALID exception on intersection of disjoint geometries
      (GH-791, Joris Van den Bossche & Dan Baston)
    • Fix incorrect result from Envelope::disjoint (GH-791, Dan Baston)
    • Fix handling of odd cases in PolygonHoleJoiner (JTS-946, Paul Ramsey, Martin Davis)
    • Support gcc-13 (GH-743, Sergei Trofimovich)
    • Disallow Inf envelopes in Quadtree, avoid inf loop (Paul Ramsey)
    • GEOSUnaryUnion: Fix crash on collection containing empty point (GH-830, Dan Baston)
    • GEOSSTRtree_iterate: Do not return removed items (GH-833, Dan Baston)
    • IndexedFacetDistance: Fix crash with Inf coordinates (GH-821, Dan Baston)
    • HausdorffDistance: Fix crash on collection containing empty point (GH-840, Dan Baston)
    • MaximumInscribedCircle: Fix infinite loop with non-finite coordinates (GH-843, Dan Baston)
    • DistanceOp: Fix crash on collection containing empty point (GH-842, Dan Baston)
    • Guard against non-finite distances in Buffer/OffsetCurve (GH-661, Paul Ramsey)
geos - Release 3.11.1

Published by github-actions[bot] almost 2 years ago

2022-11-13

  • Fixes/Improvements:
    • Remove spurious version from --libs geos-config options
    • Fix PreparedGeometry to avoid crashes with EMPTY elements in input (GH-678, Martin Davis)
    • Fix LineSegment.orientationIndex(LineSegment) (GH-699, Martin Davis)
    • Fix DepthSegment comparison operation (GH-707, Martin Davis)
    • Add OverlayNG support for simple GeometryCollection inputs (GH-716, Martin Davis)
    • Fix TopologyPreservingSimplifier to produce stable results for Multi inputs (GH-718)
    • Fix WKB hex endian test (GH-720, Paul Ramsey)
    • Improve ConvexHull radial sort robustness (GH-724, Martin Davis)
    • Use more robust Delaunay Triangulation frame size heuristic (GH-728, Martin Davis)
geos - Release 3.11.0

Published by github-actions[bot] over 2 years ago

2022-07-01

  • New things:

    • OffsetCurve (GH-530, Paul Ramsey/Martin Davis)
    • ConcaveHull (GH-549, Paul Ramsey/Martin Davis)
    • PolygonHull (GH-603, Paul Ramsey/Martin Davis)
    • LineMerger directed option (GH-597, Sergei Sh)
    • CAPI: GEOSHilbertCode (GH-556, Brendan Ward)
    • CAPI: GEOSGeom_createRectangle (GH-558, Brendan Ward)
    • CAPI: GEOSGeom_transformXY (GH-563, Dan Baston/Brendan Ward)
    • CAPI: GEOSRemoveRepeatedPoints (GH-599, Paul Ramsey)
    • CAPI: GEOSLineMergeDirected (GH-597, Sergei Sh)
    • CAPI: setFixStructure for WKB/WKT readers to automatically repair
      structural errors in the input (GH-639, Paul Ramsey)
  • Fixes/Improvements:

    • Fix unaryUnion to avoid segfault with empty polygon (GH-501, Mike Taves)
    • Fix SnapRoundingNoder to use tolerance in noding; also fixes GeometryPrecisionReducer (#504, Sergei)
    • Allow direct setting of grid size (GH-513, Martin Davis)
    • Allow GEOS to be used as a CMake subproject (GH-518, Robert Coup)
    • Remove .inl inline files in favour of header declaration (GH-543, Paul Ramsey)
    • Add SnappingNoder seeding (Martin Davis)
    • Add OverlayNG area check heuristic (JTS-812, Paul Ramsey)
    • Fix RelateOp (and intersects predicate) for lines with intersections very near boundary (GH-570, Martin Davis)
    • Fix IsValidOp to handle repeated node points (JTS-845, Martin Davis)
    • Fix IsSimpleOp to handle closed LineStrings with repeated endpoints (JTS-851, Martin Davis)
    • Fix LengthIndexedLine (via LengthLocationMap fix) (JTS-859, Martin Davis)
    • Fix PolygonHoleJoiner (JTS-862, Martin Davis)
    • Improve test_geos_unit application error checking and reporting
    • Fix MinimumDiameter getMinimumRectangle for flat input (JTS-875, Martin Davis)
    • Fix BufferOp inverted ring check (JTS-878, Martin Davis)
    • Fix OverlayNG geomunion to avoid lines in result (Martin Davis)