Discussion:
[Jts-topo-suite-user] JTS 1.14 released on SourceForge
Martin Davis
2016-01-12 21:41:40 UTC
Permalink
I'm happy to announce that JTS 1.14 is now available for download from
SourceForge.

https://sourceforge.net/projects/jts-topo-suite/

There are numerous additions and fixes in this version; see below and the
included Version History for full details.

==============================
JTS
-------------------
Functionality Improvements

•Added Envelope.compareTo method
•Fixed SegmentSetMutualIntersector classes to be thread-safe
•Fixed PreparedGeometry classes to be thread-safe
•Added LineDissolver class
•Added edgegraph package
•Added CoordinateSequences.isEqual method
•Extended CoordinateSequences.copy and CoordinateSequences.copy to handle
inputs of different dimension
•Added CoordinateArrays.envelope() function
•Added CoordinateArrays.intersection() function
•Added Polygonizer.setCheckValidRings() method for optimizing performance
in some situations
•Added KMLWriter to convert Geometry to KML representation
•Added Coordinate equals3D, equals2D(Coordinate, tolerance), and equalInZ
methods.
•Added VWSimplifier to perform Visvalingam-Whyatt simplification
•Enhanced WKBReader to handle Spatialite WKB format
•Added DD.setValue() methods
•Added getGeometry() methods to LinearComponentExtracter and
LineStringExtracter
•Added BufferParameters simplifyFactor setting
•Added node counting and ability to not keep intersection points to
InteriorIntersectionFinder
•Added Polygonizer functionality to extract only polygons forming a valid
polygonal geometry
•Added KdTree.toCoordinates
•Added MinimumBoundingCircle.getFarthestPoints method

Performance Improvements

•Performance & memory improvement in PreparedPolygonIntersects by
short-circuiting point input case
•Allow for memory usage optimization in CascadedPolygonUnion, by avoiding
retaining input collection
•Fix Point.isEmpty() to avoid allocating a coordinate
•Fix Geometry.equalsExact() to short-circuit when the inputs are identical
objects
•Add short-circuit to PointExtracter to improve performance for Points

Bug Fixes

•Fixed RobustLineIntersector heuristic for handling invalid intersection
points (computed as outside envelope of input segments due to numeric
precision issues)
•Fixed CGAlgorithmsDD.intersection to compute intersection correctly
•Fixed Geometry.interiorPoint() to compute a true interior point in certain
cases
•Fixed Geometry.equals to handle null argument
•Fixed DistanceToPoint to be thread-safe
•Fixed Geometry.interiorPoint() and InteriorPointArea to handle zero-area
geometries
•Fixed STRtree classes to be thread-safe (by synchronizing the
AbstractSTRtree.build() method)
•Fixed STRtree.remove() method to avoid a NPE
•Fixed DouglasPeuckerSimplifier and TopologyPreservingSimplifier to handle
empty geometry components in the input
•Fixed ConvexHull to handle input of array of identical coordinates
•Fixed GeometryTransformer.transformLinearRing() to handle null inputs
•Fixed the extractPoint(distance, offset) methods in LocationIndexedLine
and LengthIndexedLine to handle offsets from endpoints correctly.
•Fixed GeometryCollectionIterator to correctly handle atomic geometries
•Fixed InteriorIntersectionFinder to not short-circuit when finding all
nodes
•Fixed SubgraphDepthLocator to work with Java 7+ by avoiding sorting with
an inconsistent ordering
•Fixed FontGlyphReader to use correct Java font value of "SansSerif", and
added new constant to match.
•Fixed KdTree to correctly implement distance tolerance-based coordinate
matching
•Fixed LineString.normalize() to correctly handle CoordinateSequences
•Fixed CommonBitsRemover to correctly handle CoordinateSequences
•Fixed bug in CoordinateArraySequence.clone()

API Changes

•Changed interface of SegmentSetMutualIntersector to support thread-safety
by removing state
•Provided InteriorIntersectionFinderAdder to replace the poorly named
IntersectionFinderAdder
•Changed some classes in com.vividsolutions.jts.operation.buffer to be
package-private

Testing Improvements

•Added GeometryTestCase base class to simplify unit tests

==============================
JTS I/O
-------------------
Functionality Improvements

•Added GeoJsonReader and GeoJsonWriter classes

API Changes

•In OraWriter the connection is now provided to the write() method, not the
constructors

Bug Fixes
•Fixed OraReader to handle reading GeometryCollection with Point as second
element
•Many improvements to Oracle API code and performance
•Added OraWriter.setOptimizePoint and OraWriter.setOptimizeRectangle
methods

==============================
JTS TestBuilder
-----------------------------
Functionality Improvements

•Added ability to read multiple WKBHex geometries from a text file
•Added AutoZoom to input
•Added Oracle text output
•Added more function sets
•Removed dependency on Acme GIF encoder library
•Improved zooming logic
•Added mouse wheel zooming
•Improved UI for editing A/B geometries
•Added Compute New button to Geometry Functions panel
•Added SpatialIndex functions
•Added User Data labelling

UI Changes
•Moved Options menu items to View menu
•Removed Tools menu items (they are available as functions)

Bug Fixes
•Fixed to correctly handle changing Swing Look&Feel
Rob Emanuele
2016-01-12 22:32:58 UTC
Permalink
This is great news, many thanks to you Martin!
Post by Martin Davis
I'm happy to announce that JTS 1.14 is now available for download from
SourceForge.
https://sourceforge.net/projects/jts-topo-suite/
There are numerous additions and fixes in this version; see below and the
included Version History for full details.
==============================
JTS
-------------------
Functionality Improvements
•Added Envelope.compareTo method
•Fixed SegmentSetMutualIntersector classes to be thread-safe
•Fixed PreparedGeometry classes to be thread-safe
•Added LineDissolver class
•Added edgegraph package
•Added CoordinateSequences.isEqual method
•Extended CoordinateSequences.copy and CoordinateSequences.copy to handle
inputs of different dimension
•Added CoordinateArrays.envelope() function
•Added CoordinateArrays.intersection() function
•Added Polygonizer.setCheckValidRings() method for optimizing performance
in some situations
•Added KMLWriter to convert Geometry to KML representation
•Added Coordinate equals3D, equals2D(Coordinate, tolerance), and equalInZ
methods.
•Added VWSimplifier to perform Visvalingam-Whyatt simplification
•Enhanced WKBReader to handle Spatialite WKB format
•Added DD.setValue() methods
•Added getGeometry() methods to LinearComponentExtracter and
LineStringExtracter
•Added BufferParameters simplifyFactor setting
•Added node counting and ability to not keep intersection points to
InteriorIntersectionFinder
•Added Polygonizer functionality to extract only polygons forming a valid
polygonal geometry
•Added KdTree.toCoordinates
•Added MinimumBoundingCircle.getFarthestPoints method
Performance Improvements
•Performance & memory improvement in PreparedPolygonIntersects by
short-circuiting point input case
•Allow for memory usage optimization in CascadedPolygonUnion, by avoiding
retaining input collection
•Fix Point.isEmpty() to avoid allocating a coordinate
•Fix Geometry.equalsExact() to short-circuit when the inputs are identical
objects
•Add short-circuit to PointExtracter to improve performance for Points
Bug Fixes
•Fixed RobustLineIntersector heuristic for handling invalid intersection
points (computed as outside envelope of input segments due to numeric
precision issues)
•Fixed CGAlgorithmsDD.intersection to compute intersection correctly
•Fixed Geometry.interiorPoint() to compute a true interior point in
certain cases
•Fixed Geometry.equals to handle null argument
•Fixed DistanceToPoint to be thread-safe
•Fixed Geometry.interiorPoint() and InteriorPointArea to handle zero-area
geometries
•Fixed STRtree classes to be thread-safe (by synchronizing the
AbstractSTRtree.build() method)
•Fixed STRtree.remove() method to avoid a NPE
•Fixed DouglasPeuckerSimplifier and TopologyPreservingSimplifier to handle
empty geometry components in the input
•Fixed ConvexHull to handle input of array of identical coordinates
•Fixed GeometryTransformer.transformLinearRing() to handle null inputs
•Fixed the extractPoint(distance, offset) methods in LocationIndexedLine
and LengthIndexedLine to handle offsets from endpoints correctly.
•Fixed GeometryCollectionIterator to correctly handle atomic geometries
•Fixed InteriorIntersectionFinder to not short-circuit when finding all
nodes
•Fixed SubgraphDepthLocator to work with Java 7+ by avoiding sorting with
an inconsistent ordering
•Fixed FontGlyphReader to use correct Java font value of "SansSerif", and
added new constant to match.
•Fixed KdTree to correctly implement distance tolerance-based coordinate
matching
•Fixed LineString.normalize() to correctly handle CoordinateSequences
•Fixed CommonBitsRemover to correctly handle CoordinateSequences
•Fixed bug in CoordinateArraySequence.clone()
API Changes
•Changed interface of SegmentSetMutualIntersector to support thread-safety
by removing state
•Provided InteriorIntersectionFinderAdder to replace the poorly named
IntersectionFinderAdder
•Changed some classes in com.vividsolutions.jts.operation.buffer to be
package-private
Testing Improvements
•Added GeometryTestCase base class to simplify unit tests
==============================
JTS I/O
-------------------
Functionality Improvements
•Added GeoJsonReader and GeoJsonWriter classes
API Changes
•In OraWriter the connection is now provided to the write() method, not
the constructors
Bug Fixes
•Fixed OraReader to handle reading GeometryCollection with Point as second
element
•Many improvements to Oracle API code and performance
•Added OraWriter.setOptimizePoint and OraWriter.setOptimizeRectangle
methods
==============================
JTS TestBuilder
-----------------------------
Functionality Improvements
•Added ability to read multiple WKBHex geometries from a text file
•Added AutoZoom to input
•Added Oracle text output
•Added more function sets
•Removed dependency on Acme GIF encoder library
•Improved zooming logic
•Added mouse wheel zooming
•Improved UI for editing A/B geometries
•Added Compute New button to Geometry Functions panel
•Added SpatialIndex functions
•Added User Data labelling
UI Changes
•Moved Options menu items to View menu
•Removed Tools menu items (they are available as functions)
Bug Fixes
•Fixed to correctly handle changing Swing Look&Feel
------------------------------------------------------------------------------
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=267308311&iu=/4140
_______________________________________________
Jts-topo-suite-user mailing list
https://lists.sourceforge.net/lists/listinfo/jts-topo-suite-user
Michael Bedward
2016-01-14 00:49:30 UTC
Permalink
And another vote of thanks for all of this impressive work Martin.

It's also great to have the whole JTS 1.14 distribution in modular
form at Maven Central now.

Michael
Post by Rob Emanuele
This is great news, many thanks to you Martin!
Post by Martin Davis
I'm happy to announce that JTS 1.14 is now available for download from
SourceForge.
https://sourceforge.net/projects/jts-topo-suite/
There are numerous additions and fixes in this version; see below and the
included Version History for full details.
==============================
JTS
-------------------
Functionality Improvements
•Added Envelope.compareTo method
•Fixed SegmentSetMutualIntersector classes to be thread-safe
•Fixed PreparedGeometry classes to be thread-safe
•Added LineDissolver class
•Added edgegraph package
•Added CoordinateSequences.isEqual method
•Extended CoordinateSequences.copy and CoordinateSequences.copy to handle
inputs of different dimension
•Added CoordinateArrays.envelope() function
•Added CoordinateArrays.intersection() function
•Added Polygonizer.setCheckValidRings() method for optimizing performance
in some situations
•Added KMLWriter to convert Geometry to KML representation
•Added Coordinate equals3D, equals2D(Coordinate, tolerance), and equalInZ
methods.
•Added VWSimplifier to perform Visvalingam-Whyatt simplification
•Enhanced WKBReader to handle Spatialite WKB format
•Added DD.setValue() methods
•Added getGeometry() methods to LinearComponentExtracter and
LineStringExtracter
•Added BufferParameters simplifyFactor setting
•Added node counting and ability to not keep intersection points to
InteriorIntersectionFinder
•Added Polygonizer functionality to extract only polygons forming a valid
polygonal geometry
•Added KdTree.toCoordinates
•Added MinimumBoundingCircle.getFarthestPoints method
Performance Improvements
•Performance & memory improvement in PreparedPolygonIntersects by
short-circuiting point input case
•Allow for memory usage optimization in CascadedPolygonUnion, by avoiding
retaining input collection
•Fix Point.isEmpty() to avoid allocating a coordinate
•Fix Geometry.equalsExact() to short-circuit when the inputs are identical
objects
•Add short-circuit to PointExtracter to improve performance for Points
Bug Fixes
•Fixed RobustLineIntersector heuristic for handling invalid intersection
points (computed as outside envelope of input segments due to numeric
precision issues)
•Fixed CGAlgorithmsDD.intersection to compute intersection correctly
•Fixed Geometry.interiorPoint() to compute a true interior point in
certain cases
•Fixed Geometry.equals to handle null argument
•Fixed DistanceToPoint to be thread-safe
•Fixed Geometry.interiorPoint() and InteriorPointArea to handle zero-area
geometries
•Fixed STRtree classes to be thread-safe (by synchronizing the
AbstractSTRtree.build() method)
•Fixed STRtree.remove() method to avoid a NPE
•Fixed DouglasPeuckerSimplifier and TopologyPreservingSimplifier to handle
empty geometry components in the input
•Fixed ConvexHull to handle input of array of identical coordinates
•Fixed GeometryTransformer.transformLinearRing() to handle null inputs
•Fixed the extractPoint(distance, offset) methods in LocationIndexedLine
and LengthIndexedLine to handle offsets from endpoints correctly.
•Fixed GeometryCollectionIterator to correctly handle atomic geometries
•Fixed InteriorIntersectionFinder to not short-circuit when finding all
nodes
•Fixed SubgraphDepthLocator to work with Java 7+ by avoiding sorting with
an inconsistent ordering
•Fixed FontGlyphReader to use correct Java font value of "SansSerif", and
added new constant to match.
•Fixed KdTree to correctly implement distance tolerance-based coordinate
matching
•Fixed LineString.normalize() to correctly handle CoordinateSequences
•Fixed CommonBitsRemover to correctly handle CoordinateSequences
•Fixed bug in CoordinateArraySequence.clone()
API Changes
•Changed interface of SegmentSetMutualIntersector to support thread-safety
by removing state
•Provided InteriorIntersectionFinderAdder to replace the poorly named
IntersectionFinderAdder
•Changed some classes in com.vividsolutions.jts.operation.buffer to be
package-private
Testing Improvements
•Added GeometryTestCase base class to simplify unit tests
==============================
JTS I/O
-------------------
Functionality Improvements
•Added GeoJsonReader and GeoJsonWriter classes
API Changes
•In OraWriter the connection is now provided to the write() method, not
the constructors
Bug Fixes
•Fixed OraReader to handle reading GeometryCollection with Point as second
element
•Many improvements to Oracle API code and performance
•Added OraWriter.setOptimizePoint and OraWriter.setOptimizeRectangle
methods
==============================
JTS TestBuilder
-----------------------------
Functionality Improvements
•Added ability to read multiple WKBHex geometries from a text file
•Added AutoZoom to input
•Added Oracle text output
•Added more function sets
•Removed dependency on Acme GIF encoder library
•Improved zooming logic
•Added mouse wheel zooming
•Improved UI for editing A/B geometries
•Added Compute New button to Geometry Functions panel
•Added SpatialIndex functions
•Added User Data labelling
UI Changes
•Moved Options menu items to View menu
•Removed Tools menu items (they are available as functions)
Bug Fixes
•Fixed to correctly handle changing Swing Look&Feel
------------------------------------------------------------------------------
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=267308311&iu=/4140
_______________________________________________
Jts-topo-suite-user mailing list
https://lists.sourceforge.net/lists/listinfo/jts-topo-suite-user
------------------------------------------------------------------------------
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=267308311&iu=/4140
_______________________________________________
Jts-topo-suite-user mailing list
https://lists.sourceforge.net/lists/listinfo/jts-topo-suite-user
Loading...