JTS Topology Suite v1.17.0 Release Notes

Release Date: 2020-06-30 // over 1 year ago
  • Java Version: 1.8

    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)
    • ๐Ÿ›  Fix GML parsing of coordinates and SRS name (#553)

    โœ… 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
    • Add WKT panel Copy as WKB via Ctl-click

    โœ… 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