pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/geography/geos Update to 3.0.0.



details:   https://anonhg.NetBSD.org/pkgsrc/rev/95fd29d4881f
branches:  trunk
changeset: 538668:95fd29d4881f
user:      gdt <gdt%pkgsrc.org@localhost>
date:      Sat Feb 16 01:23:28 2008 +0000

description:
Update to 3.0.0.


Changes in 3.0.0

   These are mostly ABI breaking changes.
   In few cases the API also changed, but the most external one
   (the documented one) should be unchanged.

- New things:
        - Added geom::BinaryOp class performing a binary operation
          using different heuristics to reduce probability of robustness
          issues. Both C-API and XMLTester now use this class for
          binary operations.
        - Added covers() and coveredBy() predicates to Geometry class
        - Added overlay::overlayOp() adapter class
        - Added GEOSSimplify() and GEOSTopologyPreserveSimplify()
          to the C API
        - Added closed ring checks in IsValidOp
        - Multi-input support in XMLTester
        - HEXWKB I/O
        - Envelope(string) ctor
        - Ruby interface
        - New ShortCircuitedGeometryVisitor class
        - New operation/predicate package
        - Added CGAlgorithms::isPointInRing() version working with
          Coordinate::ConstVect type (faster!)
        - Added getAt(int pos, Coordinate &to) funtion to CoordinateSequence
          class.
        - Moved GetNumGeometries() and GetGeometryN() interfaces
          from GeometryCollection to Geometry class.
        - New planarSubgraph class
        - New ConnectedSubgraphFinder class.
        - New LineSequencer class
        - New WKTWriter::toLineString and ::toPoint convenience methods
        - New IsValidOp::setSelfTouchingRingFormingHoleValid method
        - New WKTWriter::toLineString and ::toPoint convenience methods
        - New IsValidOp::setSelfTouchingRingFormingHoleValid method
        - New Envelope::centre()
        - New Envelope::intersection(Envelope)
        - New Envelope::expandBy(distance, [ydistance])
        - New LineString::reverse()
        - New MultiLineString::reverse()
        - New Geometry::buffer(distance, quadSeg, endCapStyle)
        - New SnapRounding code
        - New size() and operator[] interfaces to CoordinateSequence
        - New ScaledNoder class
        - New unit tests (make check rule)

- Optimizations:
        - WKT parser speedup
        - Function inlining
        - Coordinate copies reduction
        - Heap allocations reduction
        - More classes made final
        - Better use of standard containers
        - Use of singletons when appropriate
        - Removed many function calls in loops' end conditions
        - Improved XMLTester output and user interface
        - Improved memory use in geos::geom::util::PolygonExtractor
        - Ported JTS-1.7 version of ConvexHull with big attention to
          memory usage optimizations.
        - Changed CoordinateArrayFilter to reduce memory copies
        - Changed UniqueCoordinateArrayFilter to reduce memory copies
        - Added rectangle-based optimizations of intersects() and
          contains() ops
        - Inlined all planarGraphComponent class
        - More iterators returning methods and inlining in planargraph.
        - Obsoleted toInternalGeometry/fromInternalGeometry
        - Improved buffering speed and robustness by using Snap Rounding

- Semantic changes

        - SegmentString: getCoordinates() doesn't return a clone
          anymore, getCoordinatesRO() obsoleted.
        - JTS packages mapped to geos:: sub-namespaces
        - Geometry::getInteriorPoint() returns NULL if called
          against an EMPTY geom
        - LineString::get{Start,End}Point return NULL for
          EMPTY geoms
        - GEOSException is now derived by std::runtim_exception
          and thrown by const reference.
        - Geometry constructors made protected, to force use
          of a GeometryFactory.

- Correctness:
        - More const-correct signatures
        - Stronger methods typing (removed some void * args).
        - Changed index-related funx signatures to use size_t
          rather then int
        - More const-correctness in Buffer "package"
        - Bugfix in LineString::getCoordinate() failing to return
          NULL from getCoordinat() when empty.
        - Use unsigned int for indexes and sizes.

- Layout changes:
        - Namespaces mapping JTS packages
        - Renamed classes after JTS names (namespaces use made this possible
          w/out name clashes)
        - Splitted headers, for build speedup and possible API reduction.
        - Moved source/bigtest and source/test to tests/bigtest
          and test/xmltester
        - Moved C-API in it's own top-level dir capi/
        - Reworked automake scripts to produce a static lib for each subdir
          and then link all subsystem's libs togheter
        - Renamed DefaultCoordinateSequence to CoordinateArraySequence.
        - Renamed OverlayOp opcodes by prepending the 'op' prefix, and
          given the enum a name (OpCode) for type-safety.

- Bug fixes:
        - Fixed bug causing redundant linestrings to be returned in the
          result of overlaying polygons containing touching holes (#13)
        - Fixed integer conversion bug
        - Fixed PointLocator handling of LinearRings
        - Added missing ::clone() methods for Multi* geoms

- (Partial) Detailed list of changes:
        - Changed SegmentNode to contain a *real* Coordinate (not a pointer)
          to reduce construction costs.
        - Changed geomgraph nodeMap to use Coordinate pointers as keys
        - Envelope destructor made non-virtual to give compiler more static
          binding options.
        - Changed BufferSubgraph::computeDepths to use a set instead of a
          vector for checking visited Edges.
        - Made LineIntersector a concrete type
        - Node::isIncidentEdgeInResult() method made virtual
        - Const-correct signatures in LineMerger package
        - Changed operation/valid/*NestedRingTester classes interface
          to use Coordinate pointers instead of copies.
        - Changed EdgeIntersectionList to use a set instead of a vector
        - Changed DepthSegment to store a real Coordinate rather then a pointer.
        - Changed SubgraphDepthLocater to store real containers rather then
          pointers.
        - Changed BufferSubgraph to store a real RightmostEdgeFinder and real
          containers rather then pointers.
        - CoordinateSequence API changes:
                - point index and size related functions
                  use unsigned int rather then int
        - Changed EdgeEndStar to maintain a single container for EdgeEnds
        - Changed PlanarGraph::addEdges to take a const vector by ref
          rathern then a non-const vector by pointer
        - Changed EdgeList::addAll to take a const vector by ref
          rather then a non-const vector by pointer
        - Added apply_rw(CoordinateFilter *) and apply_ro(CoordinateFilter *)
          const to CoordinateSequence
        - LineBuilder::lineEdgesList made a real vector, rather then pointer
          (private member)
        - SegmentString::eiList made a real SegmentNodeList, rather then
          a pointer (private member)
        - Removed coordinate copies in ElevationMatrix::elevate
        - Changed CoordinateFilter interface to have a const method
          for filter_rw, updated interfaces using this to take
          const CoordinateFilter (apply_rw).

diffstat:

 geography/geos/Makefile |    6 +-
 geography/geos/PLIST    |  149 +++++++++++++++++++++++++++++++++++++++++++++++-
 geography/geos/distinfo |    8 +-
 3 files changed, 154 insertions(+), 9 deletions(-)

diffs (219 lines):

diff -r fd8ce733be03 -r 95fd29d4881f geography/geos/Makefile
--- a/geography/geos/Makefile   Sat Feb 16 00:58:41 2008 +0000
+++ b/geography/geos/Makefile   Sat Feb 16 01:23:28 2008 +0000
@@ -1,9 +1,9 @@
-# $NetBSD: Makefile,v 1.5 2007/08/16 00:23:09 joerg Exp $
+# $NetBSD: Makefile,v 1.6 2008/02/16 01:23:28 gdt Exp $
 #
 
-DISTNAME=              geos-2.2.3
+DISTNAME=              geos-3.0.0
 CATEGORIES=            geography
-MASTER_SITES=          http://geos.refractions.net/
+MASTER_SITES=          http://geos.refractions.net/downloads/
 EXTRACT_SUFX=          .tar.bz2
 
 MAINTAINER=            gdt%NetBSD.org@localhost
diff -r fd8ce733be03 -r 95fd29d4881f geography/geos/PLIST
--- a/geography/geos/PLIST      Sat Feb 16 00:58:41 2008 +0000
+++ b/geography/geos/PLIST      Sat Feb 16 01:23:28 2008 +0000
@@ -1,18 +1,113 @@
-@comment $NetBSD: PLIST,v 1.2 2006/11/10 21:00:23 gdt Exp $
+@comment $NetBSD: PLIST,v 1.3 2008/02/16 01:23:28 gdt Exp $
 bin/XMLTester
 bin/geos-config
 include/geos.h
+include/geos/algorithm/LineIntersector.h
+include/geos/algorithm/PointLocator.h
 include/geos/geom.h
+include/geos/geom/BinaryOp.h
+include/geos/geom/Coordinate.h
+include/geos/geom/Coordinate.inl
+include/geos/geom/CoordinateArraySequence.h
+include/geos/geom/CoordinateArraySequenceFactory.h
+include/geos/geom/CoordinateArraySequenceFactory.inl
+include/geos/geom/CoordinateFilter.h
+include/geos/geom/CoordinateList.h
+include/geos/geom/CoordinateSequence.h
+include/geos/geom/CoordinateSequenceFactory.h
+include/geos/geom/Dimension.h
+include/geos/geom/Envelope.h
+include/geos/geom/Envelope.inl
+include/geos/geom/Geometry.h
+include/geos/geom/Geometry.inl
+include/geos/geom/GeometryCollection.h
+include/geos/geom/GeometryCollection.inl
+include/geos/geom/GeometryComponentFilter.h
+include/geos/geom/GeometryFactory.h
+include/geos/geom/GeometryFactory.inl
+include/geos/geom/GeometryFilter.h
+include/geos/geom/GeometryList.h
+include/geos/geom/IntersectionMatrix.h
+include/geos/geom/LineSegment.h
+include/geos/geom/LineSegment.inl
+include/geos/geom/LineString.h
+include/geos/geom/LinearRing.h
+include/geos/geom/Location.h
+include/geos/geom/MultiLineString.h
+include/geos/geom/MultiLineString.inl
+include/geos/geom/MultiPoint.h
+include/geos/geom/MultiPolygon.h
+include/geos/geom/MultiPolygon.inl
+include/geos/geom/Point.h
+include/geos/geom/Polygon.h
+include/geos/geom/PrecisionModel.h
+include/geos/geom/PrecisionModel.inl
+include/geos/geom/util/CoordinateOperation.h
+include/geos/geom/util/GeometryEditor.h
+include/geos/geom/util/GeometryEditorOperation.h
+include/geos/geom/util/GeometryTransformer.h
+include/geos/geom/util/LinearComponentExtracter.h
+include/geos/geom/util/PointExtracter.h
+include/geos/geom/util/PolygonExtracter.h
+include/geos/geom/util/ShortCircuitedGeometryVisitor.h
 include/geos/geomUtil.h
 include/geos/geomgraph.h
+include/geos/geomgraph/EdgeEnd.h
+include/geos/geomgraph/EdgeEndStar.h
+include/geos/geomgraph/EdgeList.h
+include/geos/geomgraph/GeometryGraph.h
+include/geos/geomgraph/GeometryGraph.inl
+include/geos/geomgraph/GraphComponent.h
+include/geos/geomgraph/Node.h
+include/geos/geomgraph/NodeMap.h
+include/geos/geomgraph/PlanarGraph.h
+include/geos/geomgraph/index/EdgeSetIntersector.h
+include/geos/geomgraph/index/MonotoneChain.h
+include/geos/geomgraph/index/MonotoneChainEdge.h
+include/geos/geomgraph/index/MonotoneChainIndexer.h
+include/geos/geomgraph/index/SegmentIntersector.h
+include/geos/geomgraph/index/SimpleEdgeSetIntersector.h
+include/geos/geomgraph/index/SimpleMCSweepLineIntersector.h
+include/geos/geomgraph/index/SimpleSweepLineIntersector.h
+include/geos/geomgraph/index/SweepLineEvent.h
+include/geos/geomgraph/index/SweepLineEventObj.h
+include/geos/geomgraph/index/SweepLineSegment.h
 include/geos/geomgraphindex.h
 include/geos/geosAlgorithm.h
+include/geos/index/ItemVisitor.h
+include/geos/index/SpatialIndex.h
+include/geos/index/bintree/Bintree.h
+include/geos/index/bintree/Interval.h
+include/geos/index/chain/MonotoneChain.h
+include/geos/index/chain/MonotoneChainOverlapAction.h
+include/geos/index/chain/MonotoneChainSelectAction.h
+include/geos/index/quadtree/NodeBase.h
+include/geos/index/quadtree/Quadtree.h
+include/geos/index/quadtree/Root.h
+include/geos/index/strtree/AbstractNode.h
+include/geos/index/strtree/AbstractSTRtree.h
+include/geos/index/strtree/Boundable.h
+include/geos/index/strtree/Interval.h
+include/geos/index/strtree/SIRtree.h
+include/geos/index/strtree/STRtree.h
+include/geos/index/sweepline/SweepLineOverlapAction.h
 include/geos/indexBintree.h
 include/geos/indexChain.h
 include/geos/indexQuadtree.h
 include/geos/indexStrtree.h
 include/geos/indexSweepline.h
+include/geos/inline.h
 include/geos/io.h
+include/geos/io/ByteOrderDataInStream.h
+include/geos/io/ByteOrderDataInStream.inl
+include/geos/io/ByteOrderValues.h
+include/geos/io/ParseException.h
+include/geos/io/WKBConstants.h
+include/geos/io/WKBReader.h
+include/geos/io/WKBWriter.h
+include/geos/io/WKTReader.h
+include/geos/io/WKTReader.inl
+include/geos/io/WKTWriter.h
 include/geos/noding.h
 include/geos/nodingSnapround.h
 include/geos/opBuffer.h
@@ -20,19 +115,69 @@
 include/geos/opLinemerge.h
 include/geos/opOverlay.h
 include/geos/opPolygonize.h
+include/geos/opPredicate.h
 include/geos/opRelate.h
 include/geos/opValid.h
 include/geos/operation.h
+include/geos/operation/EndpointInfo.h
+include/geos/operation/GeometryGraphOperation.h
+include/geos/operation/IsSimpleOp.h
+include/geos/operation/buffer/BufferOp.h
+include/geos/operation/buffer/OffsetCurveBuilder.h
+include/geos/operation/distance/DistanceOp.h
+include/geos/operation/linemerge/LineMergeGraph.h
+include/geos/operation/linemerge/LineMerger.h
+include/geos/operation/overlay/OverlayOp.h
+include/geos/operation/polygonize/Polygonizer.h
+include/geos/operation/relate/RelateComputer.h
+include/geos/operation/relate/RelateOp.h
+include/geos/operation/valid/IsValidOp.h
+include/geos/operation/valid/TopologyValidationError.h
 include/geos/planargraph.h
+include/geos/planargraph/NodeMap.h
+include/geos/planargraph/PlanarGraph.h
 include/geos/platform.h
 include/geos/precision.h
-include/geos/profiler.h
+include/geos/precision/CommonBitsOp.h
+include/geos/precision/CommonBitsRemover.h
+include/geos/precision/EnhancedPrecisionOp.h
+include/geos/precision/SimpleGeometryPrecisionReducer.h
+include/geos/simplify/DouglasPeuckerSimplifier.h
+include/geos/simplify/TopologyPreservingSimplifier.h
 include/geos/spatialIndex.h
 include/geos/timeval.h
 include/geos/unload.h
 include/geos/util.h
+include/geos/util/GEOSException.h
+include/geos/util/GeometricShapeFactory.h
+include/geos/util/IllegalArgumentException.h
+include/geos/util/TopologyException.h
 include/geos/version.h
 include/geos_c.h
 lib/libgeos.la
 lib/libgeos_c.la
+@dirrm include/geos/util
+@dirrm include/geos/simplify
+@dirrm include/geos/precision
+@dirrm include/geos/planargraph
+@dirrm include/geos/operation/valid
+@dirrm include/geos/operation/relate
+@dirrm include/geos/operation/polygonize
+@dirrm include/geos/operation/overlay
+@dirrm include/geos/operation/linemerge
+@dirrm include/geos/operation/distance
+@dirrm include/geos/operation/buffer
+@dirrm include/geos/operation
+@dirrm include/geos/io
+@dirrm include/geos/index/sweepline
+@dirrm include/geos/index/strtree
+@dirrm include/geos/index/quadtree
+@dirrm include/geos/index/chain
+@dirrm include/geos/index/bintree
+@dirrm include/geos/index
+@dirrm include/geos/geomgraph/index
+@dirrm include/geos/geomgraph
+@dirrm include/geos/geom/util
+@dirrm include/geos/geom
+@dirrm include/geos/algorithm
 @dirrm include/geos
diff -r fd8ce733be03 -r 95fd29d4881f geography/geos/distinfo
--- a/geography/geos/distinfo   Sat Feb 16 00:58:41 2008 +0000
+++ b/geography/geos/distinfo   Sat Feb 16 01:23:28 2008 +0000
@@ -1,6 +1,6 @@
-$NetBSD: distinfo,v 1.4 2006/11/10 21:00:23 gdt Exp $
+$NetBSD: distinfo,v 1.5 2008/02/16 01:23:28 gdt Exp $
 
-SHA1 (geos-2.2.3.tar.bz2) = c5da21829255e3625f7c2482c9220234cc5d9f90
-RMD160 (geos-2.2.3.tar.bz2) = 968de157f96f41aa71d5ef7c28c7186e8db0939e
-Size (geos-2.2.3.tar.bz2) = 554802 bytes
+SHA1 (geos-3.0.0.tar.bz2) = 71090220351c8ae7bb147d74145fa5daf83e3c26
+RMD160 (geos-3.0.0.tar.bz2) = 195fb24de2f67d515f629f1dcb3dccec7711bdac
+Size (geos-3.0.0.tar.bz2) = 1091475 bytes
 SHA1 (patch-ae) = b687857a95931a7f9a0dc5e1c2290db0e76f603e



Home | Main Index | Thread Index | Old Index