Subject: | |
From: | |
Reply To: | |
Date: | Thu, 13 Dec 2012 17:49:45 -0500 |
Content-Type: | multipart/alternative |
Parts/Attachments: |
|
|
Just passing this along to GeoMason users since GeoMason relies heavily on
JTS. You might want this version given its bug fixes. In any case, I'll
be updating the GeoMason site in a bit to reflect the advent of JTS 1.13.
---------- Forwarded message ----------
From: Martin Davis <[log in to unmask]>
Date: Thu, Dec 13, 2012 at 12:10 PM
Subject: [Jts-topo-suite-user] JTS 1.13 released
To: "[log in to unmask]" <
[log in to unmask]>
I'm happy to announce that JTS 1.13 has been released and is now available
for download from SourceForge at
http://sourceforge.net/projects/jts-topo-suite/
There are many new features, improvements and bug fixes in this release.
The full list is:
Functionality Improvements
- Changed GeometryFactory.createGeometry() to make a deep copy of the
argument Geometry, using the CoordinateSequenceFactory of the factory
- Added ability to specify a dimension in CoordinateArraySequence
- Changed Geometry.getEnvelopeInternal() to return a copy of the cached
envelope, to prevent modification
- Added GeometryEditor.CoordinateSequenceOperation to allow easy editing
of constituent CoordinateSequences
- Added GeometryFactory.createPolygon convenience methods which do not
require holes to be specified
- Geometry overlay methods now return empty results as atomic types of
appropriate dimension
- Added RectangleLineIntersector to provide efficient rectangle-line
intersection testing
- Added getOrdinate and setOrdinate to Coordinate
- Quadtree is Serializable
- STRtree is Serializable
- Added max, average and wrap functions to MathUtil
- Improved WKTReader parse error reporting to report input line of error
- Improved WKBReader to repair structurally-invalid input
- Made TopologyPreservingSimplifier thread-safe
- Added AbstractSTRtree.isEmpty() method
- Added QuadTree.isEmpty() method
- Added KdTree.isEmpty() method
- Added decimation and duplicate point removal to ShapeWriter.
- ScaledNoder now preserves Z values of input
- Added instance methods for all **Triangle** static methods
- Added CGAlgorithmsDD containing high-precision versions of some basic
CG algorithms
- Added IntersectionMatrix.isTrue() method for testing IM pattern
matches
- Added getRawCoordinates methods to PackedCoordinateSequence concrete
classes
- Modified Geometry.isSimple() to explicity check for simplicity for all
types, and support GeometryCollections
- Improved MCIndexSnapRounder to add nodes only where they are necessary
- Added CoordinateArrays.removeNull() method
- Enhanced GeometryEditor to handle null geometries returned from
operation
- Added WKBHExFileReader
- Added Distance3D operation
Performance Improvements
- Simplified & improved performance of RectangleIntersects by using new
RectangleLineIntersector
- In RandomPointsInGridBuilder eliminated redundant ArrayList usage
- In PreparedPolygonIntersects and PreparedLineStringIntersects added
check to avoid creating segment index if all test inputs are points
- In AbstractSTRtree switched to using indexed list access for better
performance than using iterators
- In AbstractSTRtree freed inserted item array after index is built
- Improved performance of Polygonizer for cases with many potential
holes
- Improved performance for some DD methods by making them final
- Added fast filter for CGAlgorithmsDD.orientationIndex, and switched to
self-operations for DD determinant
- Changed STRtree.createNode() to use a static class for nodes
- Changed QuadTree Node to use scalar x and y variables rather than a
Coordinate to reduce memory allocation
- Fixed PreparedGeometry concrete classes to be thread-safe.
- Fixed SortedPackedIntervalRTree so that it is thread-safe.
Robustness Improvements
- Switched to using DD extended-precision arithmetic to compute
orientation predicate
- CGAlgorithms.distanceLineLine() improved to be more robust and
performant
- Fixed robustness issue causing Empty Stack failure in ConvexHull for
some nearly collinear inputs
- CGAlgorithms.signedArea() uses a more accurate algorithm
Bug Fixes
- Fixed Geometry.equalsExact() to avoid NPE when comparing empty and
non-empty Points
- Fixed CascadedPolygonUnion to discard non-polygonal components created
during unioning, to avoid failures and provide more desirable behaviour
- Fixed CentralEndpointIntersector to initialize result correctly
- Fixed DelaunayTriangulationBuilder.extractUniqueCoordinates(Geometry)to
avoid mutating the vertex order of the input Geometry
- Fixed ConformingDelaunayTriangulationBuilder to allow non-disjoint
site and constraint vertex sets
- Fixed RandomPointsInGridBuilder point generation to use circle
constraint correctly
- Fixed Linear Referencing API to handle MultiLineStrings consistently,
by always using the lowest possible index value, and by trimming
zero-length components from results
- Fixed bug in LocationIndexedLine and LengthIndexLine which was causing
an assertion failure when the indexOfAfter() method was called with a
constraint location which is at the end of the line
- Fixed bug in STRtree.query(Envelope, ItemVisitor) causing an NPE when
tree is empty
- Fixed issue with creating zero-length edges during buffer topology
building under fixed precision, by: adding filter to remove zero-length
edges; using a better estimate of scale factor for reducing to fixed
precision after initial failure.
- Fixed TopologyPreservingSimplifier to return a valid result for closed
LineStrings with large distance tolerances
- Fixed TopologyPreservingSimplifier to return an empty result for an
empty input
- Fixed DouglasPeuckerSimplifier to return an empty result for an empty
input
- Fixed MinimumBoundingCircle to correctly compute circle for obtuse
triangles.
- Fixd GeometryPrecisionReducer to use input GeometryFactory when
polygon topology is fixed
- Fixed GeometryNoder bug that was failing to snap to end vertices of
lines
- Fixed Geometry.getCentroid() and Geometry.getInteriorPoint() to
return POINT
EMPTY for empty inputs
- Fixed DelaunayTriangulationBuilder to correctly extract unique points
- Fixed KdTree to correctly handle inserting duplicate points into an
empty tree
- Fixed LineSegment.projectionFactor() to handle zero-length lines (by
returning Double.POSITIVE_INFINITY)
- Fixed LocationIndexedLine to handle locations on zero-length lines
- Fixed LengthIndexedLine and LocationIndexedLine to handle
indexOfAfter() correctly
- Fixed WKBReader to handle successive geometrys with different
endianness
- Fixed GeometricShapeFactory to correctly handle setting the centre
point
- Fixed GeometryFactory.createMultiPoint(CoordinateSequence) to handle
sequences of dimension > 3
API Changes
- Changed visibility of TaggedLineStringSimplifier back to public due to
user demand
Testing
- Added Performance Testing framework (PerformanceTestRunner and
PerformanceTestCase)
- Added named predicate tests to all Relate test cases
Contributors
- Peter Hopfgartner - improved area computation
- Michael Michaud - snap-rounding improvements
------------------------------
JTS TestBuilder Functionality Improvements
- Added segment index visualization styling
- Improved *Geometry Inspector*
- Added stream digitizing for Polygon and LineString tools
- Added output of Test Case XML with WKB
- Added Extract Component tool
- Added Delete Vertices Or Components tool
- Added Geometry Edit Panel pop-up menu, with operations
- Added Halton sequence functions
- Added sorting functions
- Added function for selection of first N components
- Added CGAlgorithms functions
- Added ability to paste and load multiple WKBHex geometries
Performance Improvements
- Using decimation substantially improves rendering time for large
geometries.
Bug Fixes
- Fixed bug in saving XML test files
------------------------------------------------------------------------------
LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial
Remotely access PCs and mobile devices and provide instant support
Improve your efficiency, and focus on delivering more value-add services
Discover what IT Professionals Know. Rescue delivers
http://p.sf.net/sfu/logmein_12329d2d
_______________________________________________
Jts-topo-suite-user mailing list
[log in to unmask]
https://lists.sourceforge.net/lists/listinfo/jts-topo-suite-user
--
[log in to unmask]
|
|
|