Reviews run for a minimum of one week. The outcome of the review is decided on this date. This is the last day to make comments or ask questions about this review.
1.20.0
New Features
- Add CoverageValidator CoveragePolygonValidator
- Add CoverageGapFinder
- Add CoverageUnion
- Add CoverageSimplifier
- Add OverlayNG support for simple GeometryCollection inputs
- Add Geometry.hasDimension(int dim) method
- Add ConcaveHull.alphaShape function
- Add OffsetCurve Joined mode
- Add PointLocation.isOnSegment function
- Add RelateNG API for improved topological relationship functionality and performance
Functionality Improvements
- Improve TopologyPreservingSimplifier to prevent edge-disjoint line collapse
- Improve OffsetCurve to return more linework for some input situations
- Reduce buffer curve short fillet segments
- Added ability to specify boundary for LargestEmptyCircle
- Improve DouglaPeuckerSimplifier and TopologyPreservingSimplifier to handle ring endpoints
- Add Angle functions sinSnap and cosSnap to avoid small errors, e.g. with buffer operations
- Improve Buffer input simplification for rings
- Improve CoverageSimplifier with ring removal, smoothing, inner/outer and per-feature tolerances
Bug Fixes
- Fix WKBReader and WKBWriter handling of M measures when writing to WKB and reading from WKB
- Fix PreparedGeometry handling of EMPTY elements
- Fix WKBReader parsing of WKB containing multiple empty elements
- Fix LineSegment.orientationIndex(LineSegment) to correct orientation for non-collinear segments on right
- Fix DepthSegment compareTo method
- Ensure GeometryFixer does not change coordinate dimension
- Improve ConvexHull radial sort robustness
- Improve robustness of Delaunay Triangulation frame size heuristic
- Fix PreparedLineString.intersects to handle mixed GCs correctly
- Fix QuadEdgeSubdivision.TriangleEdgesListVisitor
- Fix PolygonHoleJoiner to handle all valid inputs (allows PolygonTriangulator, ConstrainedDelaunayTriangulator, and ConcaveHullOfPolygons to work correctly)
- Fix OffsetCurve handling of input with repeated points
- Fix OffsetCurve handling zero offset distance
- Fix MaximumInscribedCircle and LargestEmptyCircle to avoid long looping for thin inputs
- Fix OffsetCurve to use a minimum QuadrantSegs value
- Fix HilbertEncoder Y extent handling
- Fix Geometry.getCoordinate to return non-null coordinate for collections with empty first element
- Fix LargestEmptyCircle to handle polygonal obstacles
- Make intersection computation more robust
- Fix VariableBuffer to handle zero vertex buffer distances correctly
- Fix IncrementalDelaunayTriangulator to ensure triangulation boundary is convex
- Fix OverlayNG Area Check heuristic for difference
- Fix InteriorPointPoint to handle empty elements
- Fix DistanceOp for empty elements
- Fix predicates for MultiPoint with EMPTY
- Fix InteriorPoint for MultiLineString with EMPTY
- Fix TopologyPreservingSimplifier to prevent incorrect topology from jumping components
- Fix OffsetCurve to ensure end segments are included
- Fix PointLocator to respect BoundaryNodeRule for single lines
- Fix BufferOp Inverted Ring Removal check
- Improve VariableBuffer segment buffer cap generation
- Fix TopologyPreservingSimplifier ring endpoint removal indexing
Performance Improvements
- Improve Polygonizer performance in some cases with many islands
- Improve Convex Hull performance by avoiding duplicate uniquing
- Improve HPRtree performance
- Improve performance of noding and overlay via HPRtree
- Improve DistanceOp performance for Point-Point
- Improve CoveragePolygonValidator via section performance optimization
New Features
- Add CoverageValidator CoveragePolygonValidator
- Add CoverageGapFinder
- Add CoverageUnion
- Add CoverageSimplifier
- Add OverlayNG support for simple GeometryCollection inputs
- Add Geometry.hasDimension(int dim) method
- Add ConcaveHull.alphaShape function
- Add OffsetCurve Joined mode
- Add PointLocation.isOnSegment function
- Addd RelateNG API for improved topological relationship functionality and performance
Functionality Improvements
- Improve TopologyPreservingSimplifier to prevent edge-disjoint line collapse
- Improve OffsetCurve to return more linework for some input situations
- Reduce buffer curve short fillet segments
- Added ability to specify boundary for LargestEmptyCircle
- Improve DouglaPeuckerSimplifier and TopologyPreservingSimplifier to handle ring endpoints
- Add Angle functions sinSnap and cosSnap to avoid small errors, e.g. with buffer operations
- Improve Buffer input simplification for rings
- Improve CoverageSimplifier with ring removal, smoothing, inner/outer and per-feature tolerances
Bug Fixes
- Fix PreparedGeometry handling of EMPTY elements
- Fix WKBReader parsing of WKB containing multiple empty elements
- Fix LineSegment.orientationIndex(LineSegment) to correct orientation for non-collinear segments on right
- Fix DepthSegment compareTo method
- Ensure GeometryFixer does not change coordinate dimension
- Improve ConvexHull radial sort robustness
- Improve robustness of Delaunay Triangulation frame size heuristic
- Fix PreparedLineString.intersects to handle mixed GCs correctly
- Fix QuadEdgeSubdivision.TriangleEdgesListVisitor
- Fix PolygonHoleJoiner to handle all valid inputs (allows PolygonTriangulator, ConstrainedDelaunayTriangulator, and ConcaveHullOfPolygons to work correctly)
- Fix OffsetCurve handling of input with repeated points
- Fix OffsetCurve handling zero offset distance
- Fix MaximumInscribedCircle and LargestEmptyCircle to avoid long looping for thin inputs
- Fix OffsetCurve to use a minimum QuadrantSegs value
- Fix HilbertEncoder Y extent handling
- Fix Geometry.getCoordinate to return non-null coordinate for collections with empty first element
- Fix LargestEmptyCircle to handle polygonal obstacles
- Make intersection computation more robust
- Fix VariableBuffer to handle zero vertex buffer distances correctly
- Fix IncrementalDelaunayTriangulator to ensure triangulation boundary is convex
- Fix OverlayNG Area Check heuristic for difference
- Fix InteriorPointPoint to handle empty elements
- Fix DistanceOp for empty elements
- Fix predicates for MultiPoint with EMPTY
- Fix InteriorPoint for MultiLineString with EMPTY
- Fix TopologyPreservingSimplifier to prevent incorrect topology from jumping components
- Fix OffsetCurve to ensure end segments are included
- Fix PointLocator to respect BoundaryNodeRule for single lines
- Fix BufferOp Inverted Ring Removal check
- Improve VariableBuffer segment buffer cap generation
- Fix TopologyPreservingSimplifier ring endpoint removal indexing
Performance Improvements
- Improve Polygonizer performance in some cases with many islands
- Improve Convex Hull performance by avoiding duplicate uniquing
- Improve HPRtree performance
- Improve performance of noding and overlay via HPRtree
- Improve DistanceOp performance for Point-Point
- Improve CoveragePolygonValidator via section performance optimization
- Log in to post comments