bilaldursun1 / nettopologysuite

Automatically exported from code.google.com/p/nettopologysuite
0 stars 0 forks source link

Update NTS to JTS 1.10 #72

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
Subsequently add features of JTS 1.10.

When that is done go on to 1.11

Here is the to do list:
Functionality Improvements
- Added Geometry.reverse() method for all geometry types
- Added setSrsName, setNamespace, setCustomRootElements methods to
  GMLWriter
- Added Envelope.getArea method
- Added copy, copyCoord methods to CoordinateSequences
- Added area method to Envelope
- Added extractPoint(pt, offset) methods to LengthIndexedLine and 
  LocationIndexedLine
- Added CoordinatePrecisionReducerFilter
- Added UnaryUnionOp(Collection, GeometryFactory) constructor to handle
  empty inputs more automatically
- Added DiscreteHausdorffDistance class
- Made LineMerger able to be called incrementally
- Added GeometricShapeFactory.createArcPolygon to create a polygonal arc
- Enhanced Geometry.buffer() to preserve SRID 

Performance Improvements
- Improved performance for EdgeList (by using a more efficient technique
  for detecting duplicate edges)
- Improved performance for ByteArrayInStream (by avoiding use of  
  java.io.ByteArrayInputStream)
- Unrolled intersection computation in HCoordinate to avoid object 
  allocation
- Improved performance for buffering via better offset curve generation 
  and simplification.
- Improved performance for IsValipOp by switching to use STRtree for 
  nested hole checking 

Bug Fixes
- Fixed Geometry.getClassSortIndex() to lazily initialize the sorted class 
  list. This fixes a threading bug.
- Fixed RectangleContains to return correct result for points on the  
  boundary of the rectangle
- Fixed error in com.vividsolutions.jts.simplify.LineSegmentIndex which
  caused polygons simplified using TopologyPreservingSimplifier to be 
  invalid in certain situations
- Fixed error in DouglasPeuckerSimplifier which caused empty polygons to 
  be returned when they contained a very small hole
- Fixed PackedCoordinateSequence to return NaN for null ordinate values
- Fixed Geometry.centroid() (CentroidArea) so that it handles degenerate 
  (zero-area) polygons
- Fixed Geometry.buffer() (OffsetCurveBuilder) so that it handles 
  JOIN_MITRE cases with nearly collinear lines correctly
- Fixed GeometryFactory.toGeometry(Envelope) to return a CW polygon
- Fixed UnaryUnionOp to correctly handle heterogeneous inputs with P/L/A 
  components
- Fixed UnaryUnionOp to accept LINEARRINGs
- Fixed CentroidArea to handle zero-area polygons correctly
- Fixed WKBWriter to always output 3D when requested, and to handle 2D
  PackedCoordinateSequences correctly in this case
- Fixed NodedSegmentString to handle zero-length line segments correctly
  (via safeOctant)
- Cleaned up code to remove unneeded CGAlgorithms objects
- Fixed GeometricShapeFactory.createArc to ensure arc has requested number 
  of vertices 

API Changes
- Moved GML I/O classes into core JTS codebase
- Changed GMLWriter to not write the srsName attribute by default
- In DistanceOp switched to using nearestPoints method names
- Exposed STRtree.getRoot() method 

Original issue reported on code.google.com by felix.ob...@netcologne.de on 23 May 2011 at 7:21

GoogleCodeExporter commented 9 years ago

Original comment by felix.ob...@netcologne.de on 7 Jun 2011 at 8:20

GoogleCodeExporter commented 9 years ago
Here you go.
What I didn't do is

- Fixed WKBWriter to always output 3D when requested, and to handle 2D
  PackedCoordinateSequences correctly in this case

  WKBWriter is only partly common with that of JTS. It is Diego's own

- Changed GMLWriter to not write the srsName attribute by default

  GMLHandling in NTS is derived from GeoTools. Maybe we should change that?

Original comment by felix.ob...@netcologne.de on 16 Jun 2011 at 4:28

GoogleCodeExporter commented 9 years ago
Of course if possible, should better to make also WKB and GML reader/writers 
"JTS compliant". From my point of view this isn't a core issue howewer, maybe 
we should open a new issue ticket, to fix when the "core code" of NTS was 
updated to latest JTS?

Original comment by diegogu...@gmail.com on 17 Jun 2011 at 5:51