LocationTech JTS Topology Suite™ 1.18.0 Release Review

Type
Release
State
Successful
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.

Release

1.18.0

Description

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)