LocationTech JTS Topology Suite™ 1.18.0 Release Review

End Date of the Review Period

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.




Performance Improvements

  • An updated Overlay suite will available.
Conforms To UI/UX Guidelines
Not verified

Version 1.18.0

Release Date: 12/23/2020

API Changes

  • GeometryPrecisionReducer is less tolerant of invalid input (but also avoids failing on some valid ones) (#648)
  • Moved Position and Quadrant to org.locationtech.jts.geom package
  • Removed SimpleSnapRounder - use SnapRoundingNoder instead
  • Deprecated MCIndexSnapRounder - use SnapRoundingNoder instead

Functionality Improvements

  • Improve Orientation.isCCW to handle flat topology collapse (#588)
  • Add KMLReader (#593)
  • Add Densifier.setValidated method to allow disabling expensive polygon validation (#595)
  • Add OverlayNG codebase (#599)
  • Add Z support in OverlayNG (#645)
  • Add system property jts.overlay=ng to enable use of OverlayNG in Geometry methods (#615)
  • Add SnapRoundingNoder (#599)
  • Add SnappingNoder (#599)
  • Change GeometryPrecisionReducer to use OverlayNG with Snap-Rounding
  • Change GeometryNoder to use SnapRoundingNoder
  • Add KdTree size and depth methods (#603)
  • Improve WKBWriter to write empty Polygons using a more compact representation (#623)
  • Support read and initialize internal structure of STRtree and Quadtree (#634)
  • Improve GeometryPrecisionReducer to handle GeometryCollections (#648)
  • Add Orientation.isCCWArea (#655)

Performance Improvements

  • Improve performance of UnaryUnionOp by removing OverlayUnion optimization (#644)

Bug Fixes

  • Fix RayCrossingCounter to handle XYZM coordinates (#589)
  • Fix PackedCoordinateSequence to always use XYZM coordinates when dimension is 4 (#591)
  • Fix OrdinateFormat to work around a JDK issue with the minus sign character in Locale.NO (#596)
  • Fix GeoJsonReader to throw a ParseException for empty arrays (#600)
  • Fix WKTFileReader handling of files with large amount of whitespace (#616)
  • Fix WKBWriter to output 3D empty Points with 3 ordinates (#622)
  • Fix Geometry.reverse to handle all geometry structures (#628)
  • Fix GeometryPrecisionReducer to avoid silently mangling input (#648)
  • Fix Geometry.buffer to avoid dropping large polygon areas in some situations (#655)
    • also fixes DouglasPeuckerSimplifier (#498)