tangxiaodao / nettopologysuite

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

Update NTS to JTS 1.9 #71

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
Subsequently add features of JTS 1.9.

When that is done go on to 1.10

Here is the to do list:
Functionality Improvements

- Added Polygonal, Lineal, Puntal tag interfaces to better categorize
  geometry classes
? Added Geometry.union() method, UnaryUnionOp class for efficient 
  unioning of geometrys (may be already done by codekaizen)
- Added Triangle.area3D method
- Added LineSegment.pointAlongOffset method
- Added LineSegment.orientationIndex(Coordinate) method
- Added PreparedGeometry classes and methods to optimize some geometry
  functions in batch situations
- Added Envelope.covers methods, for preciseness
- Added OctagonalEnvelope class
- Improved CGAlgorithms.isPointInRing method to handle case where point
  lies on the ring
- Added CGAlgorithms.locatePointInRing method
- Added PointInAreaLocator interface, enhanced SimplePointInAreaLocator
  to extend this
- Added RayCrossingCounter, IndexedPointInAreaLocator classes for more 
  efficient Point-In-Polygon testing
- Added GeometryCombiner class
- Enhanced BufferOp with join styles
- Enhanced WKTReader to accept any case for NaN number symbols
- Added WKTFileReader class
- Improved performance of CoordinateList constructors
? Added CascadedPolygonUnion class
- Added LinearLocation.isOnSameSegment method
- Added LinearLocation.getSegment method
- Added LocationIndexedLine.indexOfAfter method
- Added interpolation of Z value to linear referencing methods
- Added methods to rotate around a given point to AffineTransformation
- Allowed GeometricShapeFactory to be subclassed to add new shapes
- Added SineStarFactory (primarily to support testing)
- Added SortedPackedIntervalRTree class
- Added SegmentSetMutualIntersector interface and implementations
- Added Node.remove(DirectedEdge) method in planargraph package 

Performance Improvements

- Improved performance for SimplePointInAreaLocator (by checking ring
  envelopes as a filter) 

Bug Fixes

- Geometry.buffer operation fixed to always return polygonal geometries
- Fixed bug in Geometry.buffer(distance, quadrantSegs) causing failure
  for some cases with quadrantSegs = 1
- Fixed bug in GeometryFactory.toGeometry(Envelope) which was returning 
  invalid Polygons for "linear" envelopes
- Fixed bug in MonotoneChainBuilder which caused failures in situations 
  with segments of zero length
- Fixed PointLocator to handle locating in Point geometries
- Fixed GeometricShapeFactory to always use provided PrecisionModel
- Fixed LinearLocation.clone method
- Fixed LinearLocation.isValid method
- Fixed Polygonizer to accept single-point linestrings (which are ignored) 

API Changes

- Deprecated RobustCGAlgorithms
- Deprecated BufferOp cap style constants (these are now provided in 
  BufferParameters)
- Removed SIRPointInRing 

Looks like a lot of work ;)

Original issue reported on code.google.com by felix.ob...@netcologne.de on 12 May 2011 at 3:32

GoogleCodeExporter commented 8 years ago

Original comment by felix.ob...@netcologne.de on 23 May 2011 at 8:07

GoogleCodeExporter commented 8 years ago
should we delete also vs2008 solution, since NTS is now a FW 4.0 project right?

Original comment by diegogu...@gmail.com on 23 May 2011 at 3:17

GoogleCodeExporter commented 8 years ago
Maybe, I don't quite grasp the advantage of 'in' and 'out' keywords for 
generics definition. I just added it because ReSharper advised me to do so. Do 
we break mono builds if we switch to .net40 without the ability to compile for 
.net35?

Original comment by felix.ob...@netcologne.de on 24 May 2011 at 6:48

GoogleCodeExporter commented 8 years ago
I suppose that mono can support soon in/out keywords (covariance/contravariance 
is a topic very useful for linq, so I'm expecting a vaste support), but I like 
to support at least 3.5 unless we need 4.0 features.

Original comment by diegogu...@gmail.com on 24 May 2011 at 6:53

GoogleCodeExporter commented 8 years ago
well then, i suggest we leave in/out out out (I hope you get what I'm saying 
:)) for the time being.

Original comment by felix.ob...@netcologne.de on 24 May 2011 at 7:16

GoogleCodeExporter commented 8 years ago
Or did you have anything else in mind?

Original comment by felix.ob...@netcologne.de on 24 May 2011 at 7:18

GoogleCodeExporter commented 8 years ago

Original comment by felix.ob...@netcologne.de on 24 May 2011 at 7:35

GoogleCodeExporter commented 8 years ago
so let's remove in/out keywords :)

Original comment by diegogu...@gmail.com on 24 May 2011 at 7:39

GoogleCodeExporter commented 8 years ago
I think that was it (apart from some changes in the documentation)
Enjoy

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