Description
API Changes
- Change Polygon getExteriorRing and getInteriorRingN accessors to return LinearRing.
- This is a binary incompatible change to the method signature. Recompilation is necessary. No source code changes are required.
Functionality Improvements
- Added IndexedFacetDistance.isWithinDistance
- Added OrdinateFormat to ensure that ordinate text output is accurate and consistent
- Added Triangle.circumcentreDD
- Added DD.determinant methods
- Added Envelope methods getDiameter, copy, disjoint (#483)
- Added Intersection class, refactored library to use it (#468)
- Added CascadedPolygonUnion union-by-buffer on error capability (#470)
- Added HalfEdge support for direction points (#479)
- Added CoordinateList.toCoordinateArray(isForward) (#482)
- Addded HPRtree Hilbert Packed R-tree (#494)
- Added VariableBuffer class for computing varying-distance buffers (#495)
- Added LineSegment.reflect method (#495)
- Added MaximumInscribedCircle algorithm (#530)
- Added LargestEmptyCircle algorithm (#530)
Performance Improvements
- Improve performance of UniqueCoordinateFilter (#422)
- Improve performance of Polygonizer (#431)
- Avoid use of ArrayList in MonotoneChain builders
- Add DistanceOp line-line envelope short-circuit optimizations (#534)
Bug Fixes
- Fix PackedCoordinateSequence.Float construction methods (#379, #381)
- Fix bug in Quadtree.ensureExtent (#416)
- Fix bugs in LinearLocation endpoint handling (#421)
- Fix bug in MinimumBoundingCircle maximum diameter algorithm, and provide method for it
- Improve robustness of CascadedPolygonUnion by adding OverlapUnion
- Fix bug in HalfEdge.insert method which caused CCW order not to be preserved in some cases
- Fix generation of Voronoi diagrams for cases with sites in a square (#447)
- Fix use of clipping envelope in VoronoiDiagramBuilder
- Fix infinite loop on empty input in IndexedPointInAreaLocator and SortedPackedIntervalRTree (#462)
- Fix WKT parsing in Turkish locale (#456)
- Improve accuracy of LineSegment.lineIntersection (#468)
- Fix Distance3DOp coordinate ordering (#480)
- Fix Geometry.reverse() to have consistent behaviour and to copy all fields (#513)
- Fix MinimumBoundingCircle.farthestPoints to work correctly (#522 and #533)
- Fix DistanceOp handling of geometry collections with empty components (#524)
JTS TestBuilder
Functionality Improvements
- Add a UI to run external commands
- Allow creating additional view layers
- Add map view title, legend and border options
- Support points in Reveal Topology mode
JTS TestRunner
Functionality Improvements
- Allow test files/dirs to be specified as free args
- Only load `.xml` files from directories
JtsOp
- Added command-line utility to run JTS operations
Conforms To UI/UX Guidelines
Not verified