ste10k41 / nettopologysuite

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

Update NTS to JTS 1.11 #81

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 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 CoordinateArrays.isRing 
- Added CGAlgorithms.signedArea(CoordinateSequence) 
- Added CoordinateArrays.copyDeep(...) method to copy sections of arrays 
- Added CoordinateList.add(Coordinate[], boolean, int, int) method to add
  sections of arrays 
- Added LineSegment.toGeometry(), LineSegment.lineIntersection()() 
- Added LineSegment.hashCode() 
- Added geometric similarity classes (HausdorffSimilarityMeasure, 
  AreaSimilarityMeasure) 
- Added MinimumDiameter.getMinimumRectangle() 
- Added MinimumBoundingCircle class 
- Added Densifier class 
- Added triangulation API, including QuadEdgeSubdivision, 
  IncrementalDelaunayTriangulator, ConformingDelaunayTriangulator and 
  supporting classes 
- Added VoronoiDiagramBuilder to perform Voronoi diagram generation 
- Added scaleInstance(scaleX, scaleY, x, y) to AffineTransformation 
- Added AffineTransformationFactory to allow generating transformations 
  from various kinds of control inputs 
- Added BinTree.remove() method 
- Fixed BinTree.query() to allow null interval arguments 
- Added ShapeReader API to convert Java2D Shapes into JTS Geometry 
- Added ShapeWriter API to convert JTS geometry into Java2D Shapes 
- Added FontGlyphReader API to render Java2D text font glyphs into 
  geometry 
- Added SdeReader to jtsio library 
- Added Debug break methods 
- Added Memory utility for reporting memory statistics 
- Added ObjectCounter utility for counting objects 
- Added createSquircle and createSuperCircle to GeometricShapeFactory 

Performance Improvements
- Improved performance of Geometry.getArea() and Geometry.getLength() when 
  used with custom CoordinateSequences 

API Changes
- Deprecated WKBWriter.bytesToHex in favour of WKBWriter.toHex to 
  regularize and simplify method name 

Bug Fixes
- Fixed Point.isValid() to check for invalid coordinates (ie with Nan 
  ordinates) 
- Fixed Geometry.distance() and DistanceOp to return 0.0 for empty inputs 
- Fixed Buffer to handle degenerate polygons with too few distinct points 
  correctly 
- Added illegal state check in LineSegment.pointAlongOffset() 
- Fixed exception strategy in BufferSubgraph to handle certain robustness 
  failures correctly 
- Fixed robustness problem in OffsetCurveBuilder in computing mitred joins 
  for nearly parallel segments 
- Fixed minor bug in BufferInputLineSimplifier which prevented 
  simplification of some situations 
- Fixed bug in BufferInputLineSimplifier which caused over-simplification 
  for large tolerances 
- Fixed bug in Angle.normalizePositive to handle values > 2PI correctly 
- Fixed WKTWriter to emit correct syntax for MULTIPOINTs 
- Fixed WKTReader to accept correct syntax for MULTIPOINTs 
- CGAlgorithms.isCCW now checks for too few points in the ring and throws 
  an IllegalArgumentException 
- Fixed bug in AffineTransformation#eqals (logic bug) 
- Fixed bug in CoordinateList#closeRing (cloning closing Coordinate) 

Original issue reported on code.google.com by felix.ob...@netcologne.de on 17 Jun 2011 at 10:04

GoogleCodeExporter commented 8 years ago
should have been

Subsequently add features of JTS 1.11.

When that is done go on to head of trunk (or 1.12, whichever is first :))

Original comment by felix.ob...@netcologne.de on 17 Jun 2011 at 10:06

GoogleCodeExporter commented 8 years ago
It seems like JTS has beaten us to 1.12.
Lets go!

Original comment by felix.ob...@netcologne.de on 1 Aug 2011 at 2:07

GoogleCodeExporter commented 8 years ago
This issue was updated by revision r678.

NetTopologySuite.Algorithm.CGAlgorithms
 - Fixed up some xml doc comments

NetTopologySuite.Geometries.CoordinateList
 - Fixed up some xml doc comments

NetTopologySuite.Geometries.Geometry
 - Fixed up some xml doc comments

NetTopologySuite.Geometries.LineSegment
 - Fixed up some xml doc comments

NetTopologySuite.GeometriesGraph.QuadrantOp
 - Fixed up some xml doc comments

NetTopologySuite.Operation.Buffer.BufferInputLineSimplifier
  - Fixed some indentation

NetTopologySuite.Operation.Polygonize.EdgeRing
 - Fixed up some xml doc comments

NetTopologySuite.Triangulate.ConformingDelaunayTriangulationBuilder
 - Converted from java to .net
 - This class used a TreeMap of Vertex objects in java, so I converted it to an OrderedDictionary<ICoordinate, Vertex> as per another example I saw in NTS - I'm not sure if this is correct?

NetTopologySuite.Triangulate.ConformingDelaunayTriangulator
 - Converted from java to .net 

NetTopologySuite.Triangulate.ConstraintEnforcementException
 - Converted from java to .net 

NetTopologySuite.Triangulate.ConstraintSplitPointFinder
 - Converted from java to .net 

NetTopologySuite.Triangulate.ConstraintVertex
 - Converted from java to .net 

NetTopologySuite.Triangulate.ConstraintVertexFactory
 - Converted from java to .net 

NetTopologySuite.Triangulate.DelaunayTriangulationBuilder
 - Converted from java to .net 

NetTopologySuite.Triangulate.IncrementalDelaunayTriangulator
 - Converted from java to .net 

NetTopologySuite.Triangulate.MidpointSplitPointFinder
 - Converted from java to .net 

NetTopologySuite.Triangulate.NonEncroachingSplitPointFinder
 - Converted from java to .net 

NetTopologySuite.Triangulate.Segment
 - Updated xml doc comments

NetTopologySuite.Triangulate.SplitSegment
 - Updated xml doc comments 

NetTopologySuite.Triangulate.VertexTaggedGeometryDataMapper
 - Updated xml doc comments
 - Modified some members to be styled like .net  
 - This class used a TreeMap of coordinate objects in java, so I converted it to an OrderedDictionary<ICoordinate, object> as per another example I saw in NTS - I'm not sure if this is correct?

NetTopologySuite.Triangulate.VoronoiDiagramBuilder
 - Converted from java to .net 

NetTopologySuite.Triangulate.QuadEdge.EdgeConnectedTriangleTraversal
 - Updated xml doc comments
 - Modified some members to be styled like .net 

NetTopologySuite.Triangulate.QuadEdge.IQuadEdgeLocator
 - Updated xml doc comments

NetTopologySuite.Triangulate.QuadEdge.ITraversalVisitor
 - Updated xml doc comments  

NetTopologySuite.Triangulate.QuadEdge.ITriangleVisitor
 - Updated xml doc comments

NetTopologySuite.Triangulate.QuadEdge.LastFoundQuadEdgeLocator
 - Converted from java to .net 

NetTopologySuite.Triangulate.QuadEdge.LocateFailureException
 - Modified some members to be styled like .net 

NetTopologySuite.Triangulate.QuadEdge.QuadEdge
 - Updated xml doc comments
 - Modified some members to be styled like .net  

NetTopologySuite.Triangulate.QuadEdge.QuadEdgeSubdivision
 - Updated xml doc comments
 - Modified some members to be styled like .net  

NetTopologySuite.Triangulate.QuadEdge.QuadEdgeTriangle
 - Updated xml doc comments
 - Modified some members to be styled like .net  

NetTopologySuite.Triangulate.QuadEdge.QuadEdgeUtil
 - Updated xml doc comments
 - Modified some members to be styled like .net  

NetTopologySuite.Triangulate.QuadEdge.Vertex
 - Updated xml doc comments
 - Modified some members to be styled like .net   

NetTopologySuite.Utilities.GeometricShapeFactory
 - Applied code changes between JTS 1.10 and 1.11

Original comment by jackson....@gmail.com on 21 Aug 2011 at 7:05

GoogleCodeExporter commented 8 years ago
I fixed a bug in Segment class, which makes my basic triangulation test pass 
smoothly.
Todd or anyone else, could you please check with your TINs?

Original comment by felix.ob...@netcologne.de on 1 Sep 2011 at 10:09

GoogleCodeExporter commented 8 years ago
After a weekend of profiling, to me the probable cause for the performance 
difference between JTS and NTS on triangulation is that using ICoordinate 
interfaces on Coordinate class prevents inlining of get_X and get_Y for 
internal mathematics.

Any other ideas? I'll set this issue to fixed and start a new one regarding 
speed comparison.

Original comment by felix.ob...@netcologne.de on 5 Sep 2011 at 7:19