|
JTS 1.8.0
|
JTS Version 1.8.0
Release Date: Dec 19, 2006
Functionality Improvements
- Improved robustness for overlay operations, via using geometry snapping
- Added Angle class
- Added methods to Triangle class
- Added LineSegment.midPoint method
- Added ability to specify output of Z values to WKTWriter
- Added setFormatted, setTab, setMaxCoordinatesPerLine methods to WKTWriter
- Added BoundaryNodeRule classes, and ability to specify a Boundary Node Rule in RelateOp, IsSimpleOp, BoundaryOp
- Added ability to get the failure location to IsSimpleOp
- Added BoundaryOp with improved algorithm for lineal geometries. Changed lineal Geometry classes to use it.
- Enhanced Geometry overlay methods to accept empty GeometryCollections.
- Enhanced Error Handling for WKTReader
- Added CoordinateSequenceFilter
- Added AffineTransformation and AffineTransformationBuilder
API Changes
- Changed API for IsSimpleOp (required to support returning failure location)
Bug Fixes
- Fixed bug in GeometryFactory.buildGeometry causing failure if input contained all GeometryCollections of the same subclass
- Changed AssertFailure to TopologyException in PolygonBuilder
- Improved correctness of RobustLineIntersector in certain cases where segment endpoints intersect
|
|
JTS 1.7.2
|
JTS Version 1.7.2
Release Date: June 22, 2006
Functionality Improvements
- Added support for EWKB (SRIDs only) to WKBReader
- isValid now checks for invalid coordinates (e.g.
ones with Nan or infinite numbers)
Bug Fixes
- Fixed bug in CoordinateArrays.ptNotInList. Changed polygonize.EdgeRing to used corrected code.
- Fixed bug causing duplicate points in ScaledNoder
- Fixed bug causing Null Pointer for empty geometries in OraWriter
- Changed AssertFailure to TopologyException in EdgeNode
|
|
JTS 1.7.1
|
JTS Version 1.7.1
Release Date: March 20, 2006
See Version History for full list of changes
|
|
JTS 1.7
|
JTS Version 1.7
Release Date: December 7, 2005
See Version History for full list of changes
|
|
JTS 1.6
|
JTS Version 1.6
Release Date: February 3, 2005
See Version History for full list of changes
|
|
JTS 1.5
|
JTS Version 1.5
Release Date: September 22, 2004
Functionality Improvements
- CGAlgorithms#isCCW now handles coordinate lists
with repeated points. Also throws an
IllegalArgumentException if the input ring does not
have 3 distinct points
- isValid now checks for invalid coordinates (e.g.
ones with Nan or infinite numbers)
- added copyDeep() method to CoordinateArrays
- added geometry simplification operations
DouglasPeuckerSimplifier and
TopologyPreservingSimplifier
- added methods to Quadtree and STRtree to remove
items and query using the Visitor pattern
Performance Improvements
Bug Fixes
- Various bug fixes - see Version History
Documentation
- More examples provided in com.vividsolutions.jtsexamples package
See Version History for full list of changes
|
|
JTS 1.4
|
JTS Version 1.4
Release Date: November 4, 2003
Functionality Improvements
- Added "LINEARRING" tag to WKT syntax
- Added GeometryEditor class to allow easy copy/modify of Geometrys
- Added GeometricShapeFactory class to easily create standard geometric shapes
- Geometries can now carry arbitrary user-defined data objects (via Geometry#get/setUserData(Object) method)
- Added CoordinateSequence and CoordinateSequenceFactory interfaces, and default implementations (BasicCoordinateSequence, BasicCoordinateSequenceFactory)
- Added DistanceOp#getClosestPoints method, which returns the closest points between two Geometries
- Added com.vividsolutions.jts.noding package containing classes to perform fast indexed noding of linestrings
- Added com.vividsolutions.jts.operation.polygonize package containing classes to perform polygonization
- Added com.vividsolutions.jts.operation.linemerge package containing classes to perform line merging
- BufferOp now allows end cap styles to be specified. Three types are supported: round, butt and square.
Performance Improvements
- Buffering is now faster and much more robust
- Overlap operations are now more robust
Bug Fixes
- Numerous bug fixes - see Version History
Documentation
- More examples provided in com.vividsolutions.jtsexamples package
- Added JTS Developer's Guide
See Version History for full list of changes
|
|
JTS 1.3
|
JTS Version 1.3
Release Date: April 4, 2003
Semantics Changes
- all Geometry methods are now reentrant (thread-safe)
- Fixed-precision coordinates are now stored in a rounded but non-scaled form. This makes them compatible with non-precise (Floating) coordinates, and simplifies working with precise coordinates directly.
- Mixed precision models are now supported in Geometry methods; method results are in the more precise of the input precision models.
- Offsets are no longer supported in the Fixed precision model. This is necessary to allow storing fixed precision coordinates in a non-scaled form. This does not reduce the total precision available, since coordinates are stored in a floating-point format.
- SRID and Precision Model are no longer checked for equality during Geometry operations. This removes a limitation which provided little semantic benefit.
Functionality Improvements
- added Geometry.isWithinDistance(Geometry g, double distance) method, to provide optimized proximity queries
- added Geometry.buffer(double distance, int quadrantSegments) method, allowing control over accuracy of buffer approximation
- added Geometry.getCentroid() method
- added Geometry.getInteriorPoint() method, which uses heuristic methods to return a point in the interior of a Geometry
Performance Improvements
- Eliminated unnecessary computation of self-intersections in rings during relate and spatial functions. This provides a large increase in speed when working with large rings and polygons. (Note that IsValid still checks for these self-intersections, which are illegal in LinearRings)
- Add short-circuit code to RobustLineIntersector to detect non-intersections more efficiently
API Changes
- Added default constructor to WKTReader. It uses the default GeometryFactory
Add two static intersects() methods to Envelope, to allow computing intersections with envelopes defined by points only.
- The Geometry class is now marked as Serializable
See Version History for full list of changes
|
|
JTS 1.2
|
JTS Version 1.2
Release Date: October 7, 2002
- JTS now allows Geometrys to have repeated points.
- TopologyExceptions may now be thrown by spatial overlay methods.
- RobustLineIntersector now uses "normalized" coordinates to maximize the accuracy of intersection computation.
- Spatial indexes improved in both performance and robustness
- Added EnhancePrecisionOp, which uses precisioning enhancing techniques to reduce the number of failure cases due to robustness
problems.
- Fixed isValid for GeometryCollections containing Polygons, which were sometimes erroneously returning a validity failure for correct
Geometrys.
- IsValid now checks for too few points in a geometry component (e.g. due to repeated points in a ring)
- Added Geometry.getArea() and Geometry.getLength() methods
- Added TopologyValidationError.getErrorType() method
See Version History for full list of changes
|
|
JTS 1.1
|
JTS Version 1.1.
Release Date: March 28, 2002
-
Added Geometry.isSimple() and Geometry.isValid() methods
-
Improved design of topological data structures
-
Added Geometry.setSRID() method
-
Improved functionality of the Envelope class
-
Added ability to write to an arbitrary java.io.Writer object to WKTWriter
-
Added Validate and Mark Location functionality to TestBuilder
|
|
JTS 1.0
|
JTS Version 1.0.
Release Date: February 1, 2002
-
This release is functionally complete (apart from isSimple and isValid).
-
The spatial predicates are robust under both Fixed and Floating precision
models.
-
The spatial overlay and buffer functions are unfortunately not fully robust.
The overlay functions should perform similarly to most other spatial APIs,
however.
-
The buffer function is robust and precise for many inputs, but does have known
failure cases.
|