@cpp.js/package-geos 1.0.0-beta.21 → 1.0.0-beta.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +7 -0
- package/cppjs-package-geos.podspec +1 -1
- package/dist/prebuilt/Android-x86_64/bin/geos-config +79 -0
- package/dist/prebuilt/Android-x86_64/bin/geosop +0 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/Angle.h +247 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/Area.h +82 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/BoundaryNodeRule.h +146 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/CGAlgorithmsDD.h +193 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/CentralEndpointIntersector.h +161 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/Centroid.h +157 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/CircularArcs.h +37 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/ConvexHull.h +211 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/Distance.h +116 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/HCoordinate.h +100 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/InteriorPointArea.h +110 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/InteriorPointLine.h +79 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/InteriorPointPoint.h +73 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/Interpolate.h +182 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/Intersection.h +84 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/Length.h +50 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/LineIntersector.h +667 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/MinimumAreaRectangle.h +159 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/MinimumBoundingCircle.h +137 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/MinimumDiameter.h +185 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/NotRepresentableException.h +43 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/Orientation.h +122 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/PointInRing.h +40 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/PointLocation.h +107 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/PointLocator.h +108 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/PolygonNodeTopology.h +149 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/RayCrossingCounter.h +173 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/Rectangle.h +96 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/RobustDeterminant.h +66 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/SimplePointInRing.h +44 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/construct/IndexedDistanceToPoint.h +88 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/construct/IndexedPointInPolygonsLocator.h +79 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/construct/LargestEmptyCircle.h +240 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/construct/MaximumInscribedCircle.h +221 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/distance/DiscreteFrechetDistance.h +175 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/distance/DiscreteHausdorffDistance.h +252 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/distance/DistanceToPoint.h +72 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/distance/PointPairDistance.h +151 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/hull/ConcaveHull.h +309 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/hull/ConcaveHullOfPolygons.h +377 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/hull/HullTri.h +156 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/hull/HullTriangulation.h +139 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/locate/IndexedPointInAreaLocator.h +139 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/locate/PointOnGeometryLocator.h +56 -0
- package/dist/prebuilt/Android-x86_64/include/geos/algorithm/locate/SimplePointInAreaLocator.h +117 -0
- package/dist/prebuilt/Android-x86_64/include/geos/constants.h +49 -0
- package/dist/prebuilt/Android-x86_64/include/geos/coverage/Corner.h +137 -0
- package/dist/prebuilt/Android-x86_64/include/geos/coverage/CoverageBoundarySegmentFinder.h +83 -0
- package/dist/prebuilt/Android-x86_64/include/geos/coverage/CoverageEdge.h +171 -0
- package/dist/prebuilt/Android-x86_64/include/geos/coverage/CoverageGapFinder.h +106 -0
- package/dist/prebuilt/Android-x86_64/include/geos/coverage/CoveragePolygon.h +57 -0
- package/dist/prebuilt/Android-x86_64/include/geos/coverage/CoveragePolygonValidator.h +381 -0
- package/dist/prebuilt/Android-x86_64/include/geos/coverage/CoverageRing.h +205 -0
- package/dist/prebuilt/Android-x86_64/include/geos/coverage/CoverageRingEdges.h +170 -0
- package/dist/prebuilt/Android-x86_64/include/geos/coverage/CoverageSimplifier.h +166 -0
- package/dist/prebuilt/Android-x86_64/include/geos/coverage/CoverageUnion.h +77 -0
- package/dist/prebuilt/Android-x86_64/include/geos/coverage/CoverageValidator.h +159 -0
- package/dist/prebuilt/Android-x86_64/include/geos/coverage/InvalidSegmentDetector.h +133 -0
- package/dist/prebuilt/Android-x86_64/include/geos/coverage/TPVWSimplifier.h +225 -0
- package/dist/prebuilt/Android-x86_64/include/geos/coverage/VertexRingCounter.h +71 -0
- package/dist/prebuilt/Android-x86_64/include/geos/edgegraph/EdgeGraph.h +137 -0
- package/dist/prebuilt/Android-x86_64/include/geos/edgegraph/EdgeGraphBuilder.h +91 -0
- package/dist/prebuilt/Android-x86_64/include/geos/edgegraph/HalfEdge.h +315 -0
- package/dist/prebuilt/Android-x86_64/include/geos/edgegraph/MarkHalfEdge.h +110 -0
- package/dist/prebuilt/Android-x86_64/include/geos/export.h +51 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/CircularArc.h +273 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/CircularString.h +85 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/CompoundCurve.h +121 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/Coordinate.h +627 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/CoordinateFilter.h +134 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/CoordinateList.h +244 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/CoordinateSequence.h +807 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/CoordinateSequenceFilter.h +116 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/CoordinateSequenceIterator.h +126 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/CoordinateSequences.h +76 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/Curve.h +71 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/CurvePolygon.h +58 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/Dimension.h +64 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/Envelope.h +826 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/Geometry.h +1051 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/GeometryCollection.h +256 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/GeometryComponentFilter.h +61 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/GeometryFactory.h +542 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/GeometryFilter.h +74 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/GeometryTypeName.h +110 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/HeuristicOverlay.h +99 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/IntersectionMatrix.h +383 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/LineSegment.h +576 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/LineString.h +151 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/LinearRing.h +128 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/Location.h +64 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/MultiCurve.h +126 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/MultiLineString.h +160 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/MultiPoint.h +150 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/MultiPolygon.h +155 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/MultiSurface.h +94 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/Point.h +221 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/Polygon.h +138 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/Position.h +68 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/PrecisionModel.h +374 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/Quadrant.h +164 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/SimpleCurve.h +142 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/Surface.h +115 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/SurfaceImpl.h +159 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/Triangle.h +230 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/prep/AbstractPreparedPolygonContains.h +144 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/prep/BasicPreparedGeometry.h +214 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/prep/PreparedGeometry.h +260 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/prep/PreparedGeometryFactory.h +93 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/prep/PreparedLineString.h +70 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/prep/PreparedLineStringDistance.h +57 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/prep/PreparedLineStringIntersects.h +97 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/prep/PreparedLineStringNearestPoints.h +54 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/prep/PreparedPoint.h +56 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/prep/PreparedPolygon.h +81 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/prep/PreparedPolygonContains.h +105 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/prep/PreparedPolygonContainsProperly.h +101 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/prep/PreparedPolygonCovers.h +108 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/prep/PreparedPolygonDistance.h +67 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/prep/PreparedPolygonIntersects.h +90 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/prep/PreparedPolygonPredicate.h +141 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/util/ComponentCoordinateExtracter.h +69 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/util/CoordinateOperation.h +70 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/util/Densifier.h +90 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/util/GeometryCombiner.h +151 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/util/GeometryEditor.h +127 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/util/GeometryEditorOperation.h +65 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/util/GeometryExtracter.h +95 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/util/GeometryFixer.h +169 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/util/GeometryLister.h +92 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/util/GeometryMapper.h +115 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/util/GeometryTransformer.h +181 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/util/LinearComponentExtracter.h +65 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/util/NoOpGeometryOperation.h +52 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/util/PointExtracter.h +63 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/util/PolygonExtracter.h +66 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/util/PolygonalExtracter.h +54 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/util/ShortCircuitedGeometryVisitor.h +66 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom/util/SineStarFactory.h +122 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geom.h +146 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geomgraph/Depth.h +143 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geomgraph/DirectedEdge.h +236 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geomgraph/DirectedEdgeStar.h +164 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geomgraph/Edge.h +285 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geomgraph/EdgeEnd.h +187 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geomgraph/EdgeEndStar.h +217 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geomgraph/EdgeIntersection.h +149 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geomgraph/EdgeIntersectionList.h +129 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geomgraph/EdgeList.h +124 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geomgraph/EdgeNodingValidator.h +113 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geomgraph/EdgeRing.h +201 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geomgraph/GeometryGraph.h +251 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geomgraph/GraphComponent.h +117 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geomgraph/Label.h +290 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geomgraph/Node.h +192 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geomgraph/NodeFactory.h +51 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geomgraph/NodeMap.h +143 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geomgraph/PlanarGraph.h +203 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geomgraph/TopologyLocation.h +238 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geomgraph/index/EdgeSetIntersector.h +68 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geomgraph/index/MonotoneChain.h +72 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geomgraph/index/MonotoneChainEdge.h +85 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geomgraph/index/MonotoneChainIndexer.h +71 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geomgraph/index/SegmentIntersector.h +176 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geomgraph/index/SimpleEdgeSetIntersector.h +64 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geomgraph/index/SimpleMCSweepLineIntersector.h +108 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geomgraph/index/SimpleSweepLineIntersector.h +94 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geomgraph/index/SweepLineEvent.h +136 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geomgraph/index/SweepLineEventObj.h +38 -0
- package/dist/prebuilt/Android-x86_64/include/geos/geomgraph/index/SweepLineSegment.h +57 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/ItemVisitor.h +38 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/SpatialIndex.h +103 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/VertexSequencePackedRtree.h +153 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/bintree/Bintree.h +129 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/bintree/Interval.h +61 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/bintree/Key.h +71 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/bintree/Node.h +74 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/bintree/NodeBase.h +83 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/bintree/Root.h +77 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/chain/MonotoneChain.h +206 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/chain/MonotoneChainBuilder.h +74 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/chain/MonotoneChainOverlapAction.h +86 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/chain/MonotoneChainSelectAction.h +74 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/intervalrtree/IntervalRTreeBranchNode.h +53 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/intervalrtree/IntervalRTreeLeafNode.h +58 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/intervalrtree/IntervalRTreeNode.h +105 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/intervalrtree/SortedPackedIntervalRTree.h +110 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/kdtree/KdNode.h +64 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/kdtree/KdNodeVisitor.h +45 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/kdtree/KdTree.h +191 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/quadtree/IntervalSize.h +62 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/quadtree/Key.h +87 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/quadtree/Node.h +141 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/quadtree/NodeBase.h +161 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/quadtree/Quadtree.h +200 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/quadtree/Root.h +87 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/strtree/AbstractNode.h +131 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/strtree/AbstractSTRtree.h +324 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/strtree/Boundable.h +49 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/strtree/BoundablePair.h +122 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/strtree/EnvelopeUtil.h +33 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/strtree/GeometryItemDistance.h +44 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/strtree/Interval.h +60 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/strtree/ItemBoundable.h +59 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/strtree/ItemDistance.h +49 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/strtree/SIRtree.h +124 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/strtree/STRtree.h +177 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/strtree/SimpleSTRdistance.h +166 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/strtree/SimpleSTRnode.h +141 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/strtree/SimpleSTRtree.h +189 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/strtree/TemplateSTRNode.h +156 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/strtree/TemplateSTRNodePair.h +74 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/strtree/TemplateSTRtree.h +807 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/strtree/TemplateSTRtreeDistance.h +233 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/sweepline/SweepLineEvent.h +95 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/sweepline/SweepLineIndex.h +87 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/sweepline/SweepLineInterval.h +37 -0
- package/dist/prebuilt/Android-x86_64/include/geos/index/sweepline/SweepLineOverlapAction.h +44 -0
- package/dist/prebuilt/Android-x86_64/include/geos/io/ByteOrderDataInStream.h +125 -0
- package/dist/prebuilt/Android-x86_64/include/geos/io/ByteOrderValues.h +61 -0
- package/dist/prebuilt/Android-x86_64/include/geos/io/CLocalizer.h +53 -0
- package/dist/prebuilt/Android-x86_64/include/geos/io/CheckOrdinatesFilter.h +68 -0
- package/dist/prebuilt/Android-x86_64/include/geos/io/GeoJSON.h +154 -0
- package/dist/prebuilt/Android-x86_64/include/geos/io/GeoJSONReader.h +125 -0
- package/dist/prebuilt/Android-x86_64/include/geos/io/GeoJSONWriter.h +139 -0
- package/dist/prebuilt/Android-x86_64/include/geos/io/OrdinateSet.h +119 -0
- package/dist/prebuilt/Android-x86_64/include/geos/io/ParseException.h +53 -0
- package/dist/prebuilt/Android-x86_64/include/geos/io/StringTokenizer.h +66 -0
- package/dist/prebuilt/Android-x86_64/include/geos/io/WKBConstants.h +57 -0
- package/dist/prebuilt/Android-x86_64/include/geos/io/WKBReader.h +204 -0
- package/dist/prebuilt/Android-x86_64/include/geos/io/WKBStreamReader.h +49 -0
- package/dist/prebuilt/Android-x86_64/include/geos/io/WKBWriter.h +260 -0
- package/dist/prebuilt/Android-x86_64/include/geos/io/WKTFileReader.h +46 -0
- package/dist/prebuilt/Android-x86_64/include/geos/io/WKTReader.h +165 -0
- package/dist/prebuilt/Android-x86_64/include/geos/io/WKTStreamReader.h +48 -0
- package/dist/prebuilt/Android-x86_64/include/geos/io/WKTWriter.h +342 -0
- package/dist/prebuilt/Android-x86_64/include/geos/io/Writer.h +51 -0
- package/dist/prebuilt/Android-x86_64/include/geos/linearref/ExtractLineByLocation.h +88 -0
- package/dist/prebuilt/Android-x86_64/include/geos/linearref/LengthIndexOfPoint.h +87 -0
- package/dist/prebuilt/Android-x86_64/include/geos/linearref/LengthIndexedLine.h +211 -0
- package/dist/prebuilt/Android-x86_64/include/geos/linearref/LengthLocationMap.h +134 -0
- package/dist/prebuilt/Android-x86_64/include/geos/linearref/LinearGeometryBuilder.h +106 -0
- package/dist/prebuilt/Android-x86_64/include/geos/linearref/LinearIterator.h +156 -0
- package/dist/prebuilt/Android-x86_64/include/geos/linearref/LinearLocation.h +248 -0
- package/dist/prebuilt/Android-x86_64/include/geos/linearref/LocationIndexOfLine.h +72 -0
- package/dist/prebuilt/Android-x86_64/include/geos/linearref/LocationIndexOfPoint.h +77 -0
- package/dist/prebuilt/Android-x86_64/include/geos/linearref/LocationIndexedLine.h +276 -0
- package/dist/prebuilt/Android-x86_64/include/geos/math/DD.h +200 -0
- package/dist/prebuilt/Android-x86_64/include/geos/namespaces.h +317 -0
- package/dist/prebuilt/Android-x86_64/include/geos/noding/BasicSegmentString.h +89 -0
- package/dist/prebuilt/Android-x86_64/include/geos/noding/BoundaryChainNoder.h +171 -0
- package/dist/prebuilt/Android-x86_64/include/geos/noding/FastNodingValidator.h +129 -0
- package/dist/prebuilt/Android-x86_64/include/geos/noding/FastSegmentSetIntersectionFinder.h +80 -0
- package/dist/prebuilt/Android-x86_64/include/geos/noding/GeometryNoder.h +69 -0
- package/dist/prebuilt/Android-x86_64/include/geos/noding/IntersectionAdder.h +202 -0
- package/dist/prebuilt/Android-x86_64/include/geos/noding/IntersectionFinderAdder.h +110 -0
- package/dist/prebuilt/Android-x86_64/include/geos/noding/IteratedNoder.h +120 -0
- package/dist/prebuilt/Android-x86_64/include/geos/noding/MCIndexNoder.h +141 -0
- package/dist/prebuilt/Android-x86_64/include/geos/noding/MCIndexSegmentSetMutualIntersector.h +146 -0
- package/dist/prebuilt/Android-x86_64/include/geos/noding/NodableSegmentString.h +56 -0
- package/dist/prebuilt/Android-x86_64/include/geos/noding/NodedSegmentString.h +218 -0
- package/dist/prebuilt/Android-x86_64/include/geos/noding/Noder.h +79 -0
- package/dist/prebuilt/Android-x86_64/include/geos/noding/NodingIntersectionFinder.h +262 -0
- package/dist/prebuilt/Android-x86_64/include/geos/noding/NodingValidator.h +109 -0
- package/dist/prebuilt/Android-x86_64/include/geos/noding/Octant.h +73 -0
- package/dist/prebuilt/Android-x86_64/include/geos/noding/OrientedCoordinateArray.h +113 -0
- package/dist/prebuilt/Android-x86_64/include/geos/noding/ScaledNoder.h +132 -0
- package/dist/prebuilt/Android-x86_64/include/geos/noding/SegmentExtractingNoder.h +88 -0
- package/dist/prebuilt/Android-x86_64/include/geos/noding/SegmentIntersectionDetector.h +177 -0
- package/dist/prebuilt/Android-x86_64/include/geos/noding/SegmentIntersector.h +89 -0
- package/dist/prebuilt/Android-x86_64/include/geos/noding/SegmentNode.h +161 -0
- package/dist/prebuilt/Android-x86_64/include/geos/noding/SegmentNodeList.h +253 -0
- package/dist/prebuilt/Android-x86_64/include/geos/noding/SegmentPointComparator.h +120 -0
- package/dist/prebuilt/Android-x86_64/include/geos/noding/SegmentSetMutualIntersector.h +80 -0
- package/dist/prebuilt/Android-x86_64/include/geos/noding/SegmentString.h +199 -0
- package/dist/prebuilt/Android-x86_64/include/geos/noding/SegmentStringUtil.h +67 -0
- package/dist/prebuilt/Android-x86_64/include/geos/noding/SimpleNoder.h +70 -0
- package/dist/prebuilt/Android-x86_64/include/geos/noding/SinglePassNoder.h +96 -0
- package/dist/prebuilt/Android-x86_64/include/geos/noding/ValidatingNoder.h +74 -0
- package/dist/prebuilt/Android-x86_64/include/geos/noding/snap/SnappingIntersectionAdder.h +109 -0
- package/dist/prebuilt/Android-x86_64/include/geos/noding/snap/SnappingNoder.h +121 -0
- package/dist/prebuilt/Android-x86_64/include/geos/noding/snap/SnappingPointIndex.h +62 -0
- package/dist/prebuilt/Android-x86_64/include/geos/noding/snapround/HotPixel.h +171 -0
- package/dist/prebuilt/Android-x86_64/include/geos/noding/snapround/HotPixelIndex.h +116 -0
- package/dist/prebuilt/Android-x86_64/include/geos/noding/snapround/MCIndexPointSnapper.h +98 -0
- package/dist/prebuilt/Android-x86_64/include/geos/noding/snapround/MCIndexSnapRounder.h +157 -0
- package/dist/prebuilt/Android-x86_64/include/geos/noding/snapround/SnapRoundingIntersectionAdder.h +126 -0
- package/dist/prebuilt/Android-x86_64/include/geos/noding/snapround/SnapRoundingNoder.h +167 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/BoundaryOp.h +120 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/GeometryGraphOperation.h +92 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/buffer/BufferBuilder.h +270 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/buffer/BufferCurveSetBuilder.h +296 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/buffer/BufferInputLineSimplifier.h +180 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/buffer/BufferOp.h +307 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/buffer/BufferParameters.h +319 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/buffer/BufferSubgraph.h +202 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/buffer/OffsetCurve.h +328 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/buffer/OffsetCurveBuilder.h +257 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/buffer/OffsetCurveSection.h +111 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/buffer/OffsetSegmentGenerator.h +390 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/buffer/OffsetSegmentString.h +215 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/buffer/RightmostEdgeFinder.h +105 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/buffer/SegmentMCIndex.h +56 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/buffer/SubgraphDepthLocater.h +120 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/cluster/AbstractClusterFinder.h +136 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/cluster/Clusters.h +72 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/cluster/DBSCANClusterFinder.h +59 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/cluster/DisjointOperation.h +73 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/cluster/EnvelopeDistanceClusterFinder.h +53 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/cluster/EnvelopeIntersectsClusterFinder.h +44 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/cluster/GeometryDistanceClusterFinder.h +59 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/cluster/GeometryFlattener.h +46 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/cluster/GeometryIntersectsClusterFinder.h +53 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/cluster/UnionFind.h +137 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/distance/ConnectedElementLocationFilter.h +76 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/distance/ConnectedElementPointFilter.h +73 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/distance/DistanceOp.h +228 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/distance/FacetSequence.h +84 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/distance/FacetSequenceTreeBuilder.h +69 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/distance/GeometryLocation.h +126 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/distance/IndexedFacetDistance.h +124 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/intersection/Rectangle.h +236 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/intersection/RectangleIntersection.h +174 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/intersection/RectangleIntersectionBuilder.h +159 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/linemerge/EdgeString.h +88 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/linemerge/LineMergeDirectedEdge.h +78 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/linemerge/LineMergeEdge.h +62 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/linemerge/LineMergeGraph.h +91 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/linemerge/LineMerger.h +149 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/linemerge/LineSequencer.h +295 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/overlay/MaximalEdgeRing.h +105 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/overlay/MinimalEdgeRing.h +80 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/overlay/OverlayNodeFactory.h +56 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/overlay/PolygonBuilder.h +210 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/overlay/snap/GeometrySnapper.h +154 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/overlay/snap/LineStringSnapper.h +165 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/overlay/snap/SnapOverlayOp.h +134 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/overlay/validate/FuzzyPointLocator.h +97 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/overlay/validate/OffsetPointGenerator.h +87 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/overlay/validate/OverlayResultValidator.h +131 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/overlayng/CoverageUnion.h +100 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/overlayng/Edge.h +345 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/overlayng/EdgeKey.h +120 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/overlayng/EdgeMerger.h +81 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/overlayng/EdgeNodingBuilder.h +255 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/overlayng/EdgeSourceInfo.h +65 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/overlayng/ElevationModel.h +170 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/overlayng/IndexedPointOnLineLocator.h +64 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/overlayng/InputGeometry.h +103 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/overlayng/IntersectionPointBuilder.h +113 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/overlayng/LineBuilder.h +189 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/overlayng/LineLimiter.h +91 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/overlayng/MaximalEdgeRing.h +134 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/overlayng/OverlayEdge.h +279 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/overlayng/OverlayEdgeRing.h +153 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/overlayng/OverlayGraph.h +143 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/overlayng/OverlayLabel.h +404 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/overlayng/OverlayLabeller.h +207 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/overlayng/OverlayMixedPoints.h +142 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/overlayng/OverlayNG.h +410 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/overlayng/OverlayNGRobust.h +174 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/overlayng/OverlayPoints.h +120 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/overlayng/OverlayUtil.h +213 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/overlayng/PolygonBuilder.h +151 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/overlayng/PrecisionReducer.h +75 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/overlayng/PrecisionUtil.h +245 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/overlayng/RingClipper.h +112 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/overlayng/RobustClipEnvelopeComputer.h +84 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/overlayng/UnaryUnionNG.h +95 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/polygonize/BuildArea.h +75 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/polygonize/EdgeRing.h +350 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/polygonize/HoleAssigner.h +65 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/polygonize/PolygonizeDirectedEdge.h +127 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/polygonize/PolygonizeEdge.h +58 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/polygonize/PolygonizeGraph.h +214 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/polygonize/Polygonizer.h +260 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/predicate/RectangleContains.h +119 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/predicate/RectangleIntersects.h +98 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/predicate/SegmentIntersectionTester.h +91 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/relate/EdgeEndBuilder.h +70 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/relate/EdgeEndBundle.h +104 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/relate/EdgeEndBundleStar.h +65 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/relate/RelateComputer.h +185 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/relate/RelateNode.h +67 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/relate/RelateNodeFactory.h +55 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/relate/RelateNodeGraph.h +98 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/relate/RelateOp.h +134 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/relateng/AdjacentEdgeLocator.h +124 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/relateng/BasicPredicate.h +105 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/relateng/DimensionLocation.h +60 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/relateng/EdgeSegmentIntersector.h +80 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/relateng/EdgeSegmentOverlapAction.h +75 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/relateng/EdgeSetIntersector.h +94 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/relateng/IMPatternMatcher.h +87 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/relateng/IMPredicate.h +131 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/relateng/IntersectionMatrixPattern.h +65 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/relateng/LineStringExtracter.h +77 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/relateng/LinearBoundary.h +88 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/relateng/NodeSection.h +166 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/relateng/NodeSections.h +102 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/relateng/PolygonNodeConverter.h +112 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/relateng/RelateEdge.h +176 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/relateng/RelateGeometry.h +272 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/relateng/RelateMatrixPredicate.h +85 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/relateng/RelateNG.h +295 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/relateng/RelateNode.h +146 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/relateng/RelatePointLocator.h +213 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/relateng/RelatePredicate.h +652 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/relateng/RelateSegmentString.h +161 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/relateng/TopologyComputer.h +236 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/relateng/TopologyPredicate.h +206 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/sharedpaths/SharedPathsOp.h +161 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/union/CascadedPolygonUnion.h +246 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/union/CoverageUnion.h +65 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/union/DisjointSubsetUnion.h +49 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/union/OverlapUnion.h +139 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/union/PointGeometryUnion.h +72 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/union/UnaryUnionOp.h +243 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/union/UnionStrategy.h +73 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/valid/ConsistentAreaTester.h +137 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/valid/IndexedNestedHoleTester.h +83 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/valid/IndexedNestedPolygonTester.h +111 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/valid/IsSimpleOp.h +299 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/valid/IsValidOp.h +307 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/valid/MakeValid.h +76 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/valid/PolygonIntersectionAnalyzer.h +125 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/valid/PolygonRing.h +231 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/valid/PolygonRingSelfNode.h +84 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/valid/PolygonRingTouch.h +65 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/valid/PolygonTopologyAnalyzer.h +211 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/valid/RepeatedPointRemover.h +60 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/valid/RepeatedPointTester.h +66 -0
- package/dist/prebuilt/Android-x86_64/include/geos/operation/valid/TopologyValidationError.h +76 -0
- package/dist/prebuilt/Android-x86_64/include/geos/planargraph/DirectedEdge.h +237 -0
- package/dist/prebuilt/Android-x86_64/include/geos/planargraph/DirectedEdgeStar.h +149 -0
- package/dist/prebuilt/Android-x86_64/include/geos/planargraph/Edge.h +141 -0
- package/dist/prebuilt/Android-x86_64/include/geos/planargraph/GraphComponent.h +182 -0
- package/dist/prebuilt/Android-x86_64/include/geos/planargraph/Node.h +158 -0
- package/dist/prebuilt/Android-x86_64/include/geos/planargraph/NodeMap.h +135 -0
- package/dist/prebuilt/Android-x86_64/include/geos/planargraph/PlanarGraph.h +293 -0
- package/dist/prebuilt/Android-x86_64/include/geos/planargraph/Subgraph.h +181 -0
- package/dist/prebuilt/Android-x86_64/include/geos/planargraph/algorithm/ConnectedSubgraphFinder.h +92 -0
- package/dist/prebuilt/Android-x86_64/include/geos/precision/CommonBits.h +97 -0
- package/dist/prebuilt/Android-x86_64/include/geos/precision/CommonBitsOp.h +172 -0
- package/dist/prebuilt/Android-x86_64/include/geos/precision/CommonBitsRemover.h +92 -0
- package/dist/prebuilt/Android-x86_64/include/geos/precision/EnhancedPrecisionOp.h +105 -0
- package/dist/prebuilt/Android-x86_64/include/geos/precision/GeometryPrecisionReducer.h +202 -0
- package/dist/prebuilt/Android-x86_64/include/geos/precision/MinimumClearance.h +57 -0
- package/dist/prebuilt/Android-x86_64/include/geos/precision/PointwisePrecisionReducerTransformer.h +74 -0
- package/dist/prebuilt/Android-x86_64/include/geos/precision/PrecisionReducerCoordinateOperation.h +65 -0
- package/dist/prebuilt/Android-x86_64/include/geos/precision/PrecisionReducerTransformer.h +95 -0
- package/dist/prebuilt/Android-x86_64/include/geos/precision/SimpleGeometryPrecisionReducer.h +88 -0
- package/dist/prebuilt/Android-x86_64/include/geos/profiler.h +185 -0
- package/dist/prebuilt/Android-x86_64/include/geos/shape/fractal/HilbertCode.h +128 -0
- package/dist/prebuilt/Android-x86_64/include/geos/shape/fractal/HilbertEncoder.h +96 -0
- package/dist/prebuilt/Android-x86_64/include/geos/shape/fractal/MortonCode.h +140 -0
- package/dist/prebuilt/Android-x86_64/include/geos/simplify/ComponentJumpChecker.h +120 -0
- package/dist/prebuilt/Android-x86_64/include/geos/simplify/DouglasPeuckerLineSimplifier.h +103 -0
- package/dist/prebuilt/Android-x86_64/include/geos/simplify/DouglasPeuckerSimplifier.h +84 -0
- package/dist/prebuilt/Android-x86_64/include/geos/simplify/LineSegmentIndex.h +87 -0
- package/dist/prebuilt/Android-x86_64/include/geos/simplify/LinkedLine.h +84 -0
- package/dist/prebuilt/Android-x86_64/include/geos/simplify/LinkedRing.h +69 -0
- package/dist/prebuilt/Android-x86_64/include/geos/simplify/PolygonHullSimplifier.h +232 -0
- package/dist/prebuilt/Android-x86_64/include/geos/simplify/RingHull.h +209 -0
- package/dist/prebuilt/Android-x86_64/include/geos/simplify/RingHullIndex.h +55 -0
- package/dist/prebuilt/Android-x86_64/include/geos/simplify/TaggedLineSegment.h +83 -0
- package/dist/prebuilt/Android-x86_64/include/geos/simplify/TaggedLineString.h +145 -0
- package/dist/prebuilt/Android-x86_64/include/geos/simplify/TaggedLineStringSimplifier.h +178 -0
- package/dist/prebuilt/Android-x86_64/include/geos/simplify/TaggedLinesSimplifier.h +88 -0
- package/dist/prebuilt/Android-x86_64/include/geos/simplify/TopologyPreservingSimplifier.h +93 -0
- package/dist/prebuilt/Android-x86_64/include/geos/triangulate/DelaunayTriangulationBuilder.h +166 -0
- package/dist/prebuilt/Android-x86_64/include/geos/triangulate/IncrementalDelaunayTriangulator.h +106 -0
- package/dist/prebuilt/Android-x86_64/include/geos/triangulate/VoronoiDiagramBuilder.h +157 -0
- package/dist/prebuilt/Android-x86_64/include/geos/triangulate/polygon/ConstrainedDelaunayTriangulator.h +101 -0
- package/dist/prebuilt/Android-x86_64/include/geos/triangulate/polygon/PolygonEarClipper.h +218 -0
- package/dist/prebuilt/Android-x86_64/include/geos/triangulate/polygon/PolygonHoleJoiner.h +267 -0
- package/dist/prebuilt/Android-x86_64/include/geos/triangulate/polygon/PolygonNoder.h +101 -0
- package/dist/prebuilt/Android-x86_64/include/geos/triangulate/polygon/PolygonTriangulator.h +105 -0
- package/dist/prebuilt/Android-x86_64/include/geos/triangulate/polygon/TriDelaunayImprover.h +147 -0
- package/dist/prebuilt/Android-x86_64/include/geos/triangulate/quadedge/LastFoundQuadEdgeLocator.h +63 -0
- package/dist/prebuilt/Android-x86_64/include/geos/triangulate/quadedge/LocateFailureException.h +37 -0
- package/dist/prebuilt/Android-x86_64/include/geos/triangulate/quadedge/QuadEdge.h +443 -0
- package/dist/prebuilt/Android-x86_64/include/geos/triangulate/quadedge/QuadEdgeLocator.h +48 -0
- package/dist/prebuilt/Android-x86_64/include/geos/triangulate/quadedge/QuadEdgeQuartet.h +64 -0
- package/dist/prebuilt/Android-x86_64/include/geos/triangulate/quadedge/QuadEdgeSubdivision.h +514 -0
- package/dist/prebuilt/Android-x86_64/include/geos/triangulate/quadedge/TrianglePredicate.h +124 -0
- package/dist/prebuilt/Android-x86_64/include/geos/triangulate/quadedge/TriangleVisitor.h +48 -0
- package/dist/prebuilt/Android-x86_64/include/geos/triangulate/quadedge/Vertex.h +312 -0
- package/dist/prebuilt/Android-x86_64/include/geos/triangulate/tri/Tri.h +186 -0
- package/dist/prebuilt/Android-x86_64/include/geos/triangulate/tri/TriEdge.h +80 -0
- package/dist/prebuilt/Android-x86_64/include/geos/triangulate/tri/TriList.h +182 -0
- package/dist/prebuilt/Android-x86_64/include/geos/triangulate/tri/TriangulationBuilder.h +86 -0
- package/dist/prebuilt/Android-x86_64/include/geos/unload.h +33 -0
- package/dist/prebuilt/Android-x86_64/include/geos/util/Assert.h +66 -0
- package/dist/prebuilt/Android-x86_64/include/geos/util/AssertionFailedException.h +48 -0
- package/dist/prebuilt/Android-x86_64/include/geos/util/CoordinateArrayFilter.h +85 -0
- package/dist/prebuilt/Android-x86_64/include/geos/util/GEOSException.h +64 -0
- package/dist/prebuilt/Android-x86_64/include/geos/util/GeometricShapeFactory.h +198 -0
- package/dist/prebuilt/Android-x86_64/include/geos/util/IllegalArgumentException.h +50 -0
- package/dist/prebuilt/Android-x86_64/include/geos/util/IllegalStateException.h +42 -0
- package/dist/prebuilt/Android-x86_64/include/geos/util/Interrupt.h +71 -0
- package/dist/prebuilt/Android-x86_64/include/geos/util/Machine.h +26 -0
- package/dist/prebuilt/Android-x86_64/include/geos/util/TopologyException.h +64 -0
- package/dist/prebuilt/Android-x86_64/include/geos/util/UniqueCoordinateArrayFilter.h +114 -0
- package/dist/prebuilt/Android-x86_64/include/geos/util/UnsupportedOperationException.h +52 -0
- package/dist/prebuilt/Android-x86_64/include/geos/util/math.h +45 -0
- package/dist/prebuilt/Android-x86_64/include/geos/util/string.h +31 -0
- package/dist/prebuilt/Android-x86_64/include/geos/util.h +86 -0
- package/dist/prebuilt/Android-x86_64/include/geos/vend/include_nlohmann_json.hpp +24 -0
- package/dist/prebuilt/Android-x86_64/include/geos/vend/json.hpp +25597 -0
- package/dist/prebuilt/Android-x86_64/include/geos/version.h +37 -0
- package/dist/prebuilt/Android-x86_64/include/geos.h +40 -0
- package/dist/prebuilt/Android-x86_64/include/geos_c.h +6121 -0
- package/dist/prebuilt/Android-x86_64/lib/cmake/GEOS/geos-config-version.cmake +43 -0
- package/dist/prebuilt/Android-x86_64/lib/cmake/GEOS/geos-config.cmake +11 -0
- package/dist/prebuilt/Android-x86_64/lib/cmake/GEOS/geos-targets-release.cmake +30 -0
- package/dist/prebuilt/Android-x86_64/lib/cmake/GEOS/geos-targets.cmake +124 -0
- package/dist/prebuilt/Android-x86_64/lib/libgeos.so +0 -0
- package/dist/prebuilt/Android-x86_64/lib/libgeos_c.so +0 -0
- package/dist/prebuilt/Android-x86_64/lib/pkgconfig/geos.pc +12 -0
- package/dist/prebuilt/iOS-iphoneos/bin/geosop.app/Info.plist +0 -0
- package/dist/prebuilt/iOS-iphoneos/bin/geosop.app/_CodeSignature/CodeResources +1 -1
- package/dist/prebuilt/iOS-iphoneos/bin/geosop.app/geosop +0 -0
- package/dist/prebuilt/iOS-iphoneos/lib/libgeos.a +0 -0
- package/dist/prebuilt/iOS-iphoneos/lib/libgeos_c.a +0 -0
- package/dist/prebuilt/iOS-iphonesimulator/bin/geosop.app/Info.plist +0 -0
- package/dist/prebuilt/iOS-iphonesimulator/bin/geosop.app/_CodeSignature/CodeResources +1 -1
- package/dist/prebuilt/iOS-iphonesimulator/bin/geosop.app/geosop +0 -0
- package/dist/prebuilt/iOS-iphonesimulator/lib/libgeos.a +0 -0
- package/dist/prebuilt/iOS-iphonesimulator/lib/libgeos_c.a +0 -0
- package/geos.xcframework/ios-arm64_arm64e/libgeos.a +0 -0
- package/geos.xcframework/ios-arm64_arm64e_x86_64-simulator/libgeos.a +0 -0
- package/geos_c.xcframework/ios-arm64_arm64e/libgeos_c.a +0 -0
- package/geos_c.xcframework/ios-arm64_arm64e_x86_64-simulator/libgeos_c.a +0 -0
- package/package.json +2 -2
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
/**********************************************************************
|
|
2
|
+
*
|
|
3
|
+
* GEOS - Geometry Engine Open Source
|
|
4
|
+
* http://geos.osgeo.org
|
|
5
|
+
*
|
|
6
|
+
* Copyright (C) 2023 Paul Ramsey <pramsey@cleverelephant.ca>
|
|
7
|
+
* Copyright (c) 2023 Martin Davis.
|
|
8
|
+
*
|
|
9
|
+
* This is free software; you can redistribute and/or modify it under
|
|
10
|
+
* the terms of the GNU Lesser General Public Licence as published
|
|
11
|
+
* by the Free Software Foundation.
|
|
12
|
+
* See the COPYING file for more information.
|
|
13
|
+
*
|
|
14
|
+
**********************************************************************/
|
|
15
|
+
|
|
16
|
+
#pragma once
|
|
17
|
+
|
|
18
|
+
#include <geos/geom/Coordinate.h>
|
|
19
|
+
#include <geos/geom/LineSegment.h>
|
|
20
|
+
#include <geos/coverage/CoverageEdge.h> // to materialize CoverageEdge
|
|
21
|
+
|
|
22
|
+
#include <set>
|
|
23
|
+
#include <map>
|
|
24
|
+
|
|
25
|
+
// Forward declarations
|
|
26
|
+
namespace geos {
|
|
27
|
+
namespace geom {
|
|
28
|
+
class CoordinateSequence;
|
|
29
|
+
class Geometry;
|
|
30
|
+
class LinearRing;
|
|
31
|
+
class MultiPolygon;
|
|
32
|
+
class Polygon;
|
|
33
|
+
}
|
|
34
|
+
namespace coverage {
|
|
35
|
+
class CoverageEdge;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
using geos::geom::Coordinate;
|
|
40
|
+
using geos::geom::CoordinateSequence;
|
|
41
|
+
using geos::geom::Geometry;
|
|
42
|
+
using geos::geom::LinearRing;
|
|
43
|
+
using geos::geom::LineSegment;
|
|
44
|
+
using geos::geom::MultiPolygon;
|
|
45
|
+
using geos::geom::Polygon;
|
|
46
|
+
|
|
47
|
+
namespace geos { // geos
|
|
48
|
+
namespace coverage { // geos.coverage
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* Models a polygonal coverage as a set of unique {@link CoverageEdge}s,
|
|
52
|
+
* linked to the parent rings in the coverage polygons.
|
|
53
|
+
* Each edge has either one or two parent rings, depending on whether
|
|
54
|
+
* it is an inner or outer edge of the coverage.
|
|
55
|
+
* The source coverage is represented as a array of polygonal geometries
|
|
56
|
+
* (either {@link geos::geom::Polygon}s or {@link geos::geom::MultiPolygon}s).
|
|
57
|
+
*
|
|
58
|
+
* @author Martin Davis
|
|
59
|
+
*/
|
|
60
|
+
class GEOS_DLL CoverageRingEdges {
|
|
61
|
+
|
|
62
|
+
private:
|
|
63
|
+
|
|
64
|
+
// Members
|
|
65
|
+
const std::vector<const Geometry*>& m_coverage;
|
|
66
|
+
std::map<const LinearRing*, std::vector<CoverageEdge*>> m_ringEdgesMap;
|
|
67
|
+
std::vector<CoverageEdge*> m_edges;
|
|
68
|
+
std::vector<std::unique_ptr<CoverageEdge>> m_edgeStore;
|
|
69
|
+
|
|
70
|
+
/* Turn off copy constructors for MSVC */
|
|
71
|
+
CoverageRingEdges(const CoverageRingEdges&) = delete;
|
|
72
|
+
CoverageRingEdges& operator=(const CoverageRingEdges&) = delete;
|
|
73
|
+
|
|
74
|
+
public:
|
|
75
|
+
|
|
76
|
+
CoverageRingEdges(const std::vector<const Geometry*>& coverage)
|
|
77
|
+
: m_coverage(coverage)
|
|
78
|
+
{
|
|
79
|
+
build();
|
|
80
|
+
};
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
std::vector<CoverageEdge*>& getEdges()
|
|
84
|
+
{
|
|
85
|
+
return m_edges;
|
|
86
|
+
};
|
|
87
|
+
|
|
88
|
+
/**
|
|
89
|
+
* Selects the edges with a given ring count (which can be 1 or 2).
|
|
90
|
+
*
|
|
91
|
+
* @param ringCount the edge ring count to select (1 or 2)
|
|
92
|
+
* @return the selected edges
|
|
93
|
+
*/
|
|
94
|
+
std::vector<CoverageEdge*> selectEdges(
|
|
95
|
+
std::size_t ringCount) const;
|
|
96
|
+
|
|
97
|
+
/**
|
|
98
|
+
* Recreates the polygon coverage from the current edge values.
|
|
99
|
+
*
|
|
100
|
+
* @return an array of polygonal geometries representing the coverage
|
|
101
|
+
*/
|
|
102
|
+
std::vector<std::unique_ptr<Geometry>> buildCoverage() const;
|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
private:
|
|
106
|
+
|
|
107
|
+
void build();
|
|
108
|
+
|
|
109
|
+
void addRingEdges(
|
|
110
|
+
const LinearRing* ring,
|
|
111
|
+
Coordinate::UnorderedSet& nodes,
|
|
112
|
+
LineSegment::UnorderedSet& boundarySegs,
|
|
113
|
+
std::map<LineSegment, CoverageEdge*>& uniqueEdgeMap);
|
|
114
|
+
|
|
115
|
+
void addBoundaryInnerNodes(
|
|
116
|
+
const LinearRing* ring,
|
|
117
|
+
LineSegment::UnorderedSet& boundarySegs,
|
|
118
|
+
Coordinate::UnorderedSet& nodes);
|
|
119
|
+
|
|
120
|
+
std::vector<CoverageEdge*> extractRingEdges(
|
|
121
|
+
const LinearRing* ring,
|
|
122
|
+
std::map<LineSegment, CoverageEdge*>& uniqueEdgeMap,
|
|
123
|
+
Coordinate::UnorderedSet& nodes);
|
|
124
|
+
|
|
125
|
+
CoverageEdge* createEdge(
|
|
126
|
+
const CoordinateSequence& ring,
|
|
127
|
+
std::map<LineSegment, CoverageEdge*>& uniqueEdgeMap);
|
|
128
|
+
|
|
129
|
+
CoverageEdge* createEdge(
|
|
130
|
+
const CoordinateSequence& ring,
|
|
131
|
+
std::size_t start, std::size_t end,
|
|
132
|
+
std::map<LineSegment, CoverageEdge*>& uniqueEdgeMap);
|
|
133
|
+
|
|
134
|
+
std::size_t findNextNodeIndex(
|
|
135
|
+
const CoordinateSequence& ring,
|
|
136
|
+
std::size_t start,
|
|
137
|
+
Coordinate::UnorderedSet& nodes) const;
|
|
138
|
+
|
|
139
|
+
static std::size_t next(
|
|
140
|
+
std::size_t index,
|
|
141
|
+
const CoordinateSequence& ring);
|
|
142
|
+
|
|
143
|
+
Coordinate::UnorderedSet findMultiRingNodes(
|
|
144
|
+
const std::vector<const Geometry*>& coverage);
|
|
145
|
+
|
|
146
|
+
Coordinate::UnorderedSet findBoundaryNodes(
|
|
147
|
+
LineSegment::UnorderedSet& lineSegments);
|
|
148
|
+
|
|
149
|
+
std::unique_ptr<Geometry> buildPolygonal(
|
|
150
|
+
const Geometry* geom) const;
|
|
151
|
+
|
|
152
|
+
std::unique_ptr<Geometry> buildMultiPolygon(
|
|
153
|
+
const MultiPolygon* geom) const;
|
|
154
|
+
|
|
155
|
+
std::unique_ptr<Polygon> buildPolygon(
|
|
156
|
+
const Polygon* polygon) const;
|
|
157
|
+
|
|
158
|
+
std::unique_ptr<LinearRing> buildRing(
|
|
159
|
+
const LinearRing* ring) const;
|
|
160
|
+
|
|
161
|
+
bool isEdgeDirForward(
|
|
162
|
+
const std::vector<CoverageEdge*>& ringEdges,
|
|
163
|
+
std::size_t index,
|
|
164
|
+
const Coordinate& prevPt) const;
|
|
165
|
+
|
|
166
|
+
|
|
167
|
+
};
|
|
168
|
+
|
|
169
|
+
} // namespace geos.coverage
|
|
170
|
+
} // namespace geos
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
|
|
2
|
+
/**********************************************************************
|
|
3
|
+
*
|
|
4
|
+
* GEOS - Geometry Engine Open Source
|
|
5
|
+
* http://geos.osgeo.org
|
|
6
|
+
*
|
|
7
|
+
* Copyright (C) 2023 Paul Ramsey <pramsey@cleverelephant.ca>
|
|
8
|
+
* Copyright (c) 2023 Martin Davis.
|
|
9
|
+
*
|
|
10
|
+
* This is free software; you can redistribute and/or modify it under
|
|
11
|
+
* the terms of the GNU Lesser General Public Licence as published
|
|
12
|
+
* by the Free Software Foundation.
|
|
13
|
+
* See the COPYING file for more information.
|
|
14
|
+
*
|
|
15
|
+
**********************************************************************/
|
|
16
|
+
|
|
17
|
+
#pragma once
|
|
18
|
+
|
|
19
|
+
#include <vector>
|
|
20
|
+
#include <memory>
|
|
21
|
+
#include <geos/export.h>
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
namespace geos {
|
|
25
|
+
namespace geom {
|
|
26
|
+
class Geometry;
|
|
27
|
+
class GeometryFactory;
|
|
28
|
+
class MultiLineString;
|
|
29
|
+
}
|
|
30
|
+
namespace coverage {
|
|
31
|
+
class CoverageEdge;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
using geos::coverage::CoverageEdge;
|
|
37
|
+
using geos::geom::Geometry;
|
|
38
|
+
using geos::geom::GeometryFactory;
|
|
39
|
+
using geos::geom::MultiLineString;
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
namespace geos {
|
|
43
|
+
namespace coverage { // geos::coverage
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* Simplifies the boundaries of the polygons in a polygonal coverage
|
|
47
|
+
* while preserving the original coverage topology.
|
|
48
|
+
* An area-based simplification algorithm
|
|
49
|
+
* (similar to Visvalingam-Whyatt simplification)
|
|
50
|
+
* is used to provide high-quality results.
|
|
51
|
+
* Also supports simplifying just the inner edges in a coverage,
|
|
52
|
+
* which allows simplifying "patches" without affecting their boundary.
|
|
53
|
+
*
|
|
54
|
+
* The amount of simplification is determined by a tolerance value,
|
|
55
|
+
* which is a non-negative quantity. It equates roughly to the maximum
|
|
56
|
+
* distance by which a simplified line can change from the original.
|
|
57
|
+
* (In fact, it is the square root of the area tolerance used
|
|
58
|
+
* in the Visvalingam-Whyatt algorithm.)
|
|
59
|
+
*
|
|
60
|
+
* The simplified result coverage has the following characteristics:
|
|
61
|
+
*
|
|
62
|
+
* * It has the same number and types of polygonal geometries as the input
|
|
63
|
+
* * Node points (inner vertices shared by three or more polygons,
|
|
64
|
+
* or boundary vertices shared by two or more) are not changed
|
|
65
|
+
* * If the input is a valid coverage, then so is the result
|
|
66
|
+
*
|
|
67
|
+
* This class also supports inner simplification, which simplifies
|
|
68
|
+
* only edges of the coverage which are adjacent to two polygons.
|
|
69
|
+
* This allows partial simplification of a coverage, since a simplified
|
|
70
|
+
* subset of a coverage still matches the remainder of the coverage.
|
|
71
|
+
*
|
|
72
|
+
* The input coverage should be valid according to {@link CoverageValidator}.
|
|
73
|
+
*
|
|
74
|
+
* @author Martin Davis
|
|
75
|
+
*/
|
|
76
|
+
class GEOS_DLL CoverageSimplifier {
|
|
77
|
+
|
|
78
|
+
|
|
79
|
+
public:
|
|
80
|
+
|
|
81
|
+
/**
|
|
82
|
+
* Create a new coverage simplifier instance.
|
|
83
|
+
*
|
|
84
|
+
* @param coverage a set of polygonal geometries forming a coverage
|
|
85
|
+
*/
|
|
86
|
+
CoverageSimplifier(const std::vector<const Geometry*>& coverage);
|
|
87
|
+
|
|
88
|
+
/**
|
|
89
|
+
* Simplifies the boundaries of a set of polygonal geometries forming a coverage,
|
|
90
|
+
* preserving the coverage topology.
|
|
91
|
+
*
|
|
92
|
+
* @param coverage a set of polygonal geometries forming a coverage
|
|
93
|
+
* @param tolerance the simplification tolerance
|
|
94
|
+
* @return the simplified polygons
|
|
95
|
+
*/
|
|
96
|
+
static std::vector<std::unique_ptr<Geometry>> simplify(
|
|
97
|
+
std::vector<const Geometry*>& coverage,
|
|
98
|
+
double tolerance);
|
|
99
|
+
|
|
100
|
+
static std::vector<std::unique_ptr<Geometry>> simplify(
|
|
101
|
+
const std::vector<std::unique_ptr<Geometry>>& coverage,
|
|
102
|
+
double tolerance);
|
|
103
|
+
|
|
104
|
+
/**
|
|
105
|
+
* Simplifies the inner boundaries of a set of polygonal geometries forming a coverage,
|
|
106
|
+
* preserving the coverage topology.
|
|
107
|
+
* Edges which form the exterior boundary of the coverage are left unchanged.
|
|
108
|
+
*
|
|
109
|
+
* @param coverage a set of polygonal geometries forming a coverage
|
|
110
|
+
* @param tolerance the simplification tolerance
|
|
111
|
+
* @return the simplified polygons
|
|
112
|
+
*/
|
|
113
|
+
static std::vector<std::unique_ptr<Geometry>> simplifyInner(
|
|
114
|
+
std::vector<const Geometry*>& coverage,
|
|
115
|
+
double tolerance);
|
|
116
|
+
|
|
117
|
+
static std::vector<std::unique_ptr<Geometry>> simplifyInner(
|
|
118
|
+
const std::vector<std::unique_ptr<Geometry>>& coverage,
|
|
119
|
+
double tolerance);
|
|
120
|
+
|
|
121
|
+
/**
|
|
122
|
+
* Computes the simplified coverage, preserving the coverage topology.
|
|
123
|
+
*
|
|
124
|
+
* @param tolerance the simplification tolerance
|
|
125
|
+
* @return the simplified polygons
|
|
126
|
+
*/
|
|
127
|
+
std::vector<std::unique_ptr<Geometry>> simplify(
|
|
128
|
+
double tolerance);
|
|
129
|
+
|
|
130
|
+
/**
|
|
131
|
+
* Computes the inner-boundary simplified coverage,
|
|
132
|
+
* preserving the coverage topology,
|
|
133
|
+
* and leaving outer boundary edges unchanged.
|
|
134
|
+
*
|
|
135
|
+
* @param tolerance the simplification tolerance
|
|
136
|
+
* @return the simplified polygons
|
|
137
|
+
*/
|
|
138
|
+
std::vector<std::unique_ptr<Geometry>> simplifyInner(
|
|
139
|
+
double tolerance);
|
|
140
|
+
|
|
141
|
+
|
|
142
|
+
private:
|
|
143
|
+
|
|
144
|
+
// Members
|
|
145
|
+
const std::vector<const Geometry*>& m_input;
|
|
146
|
+
const GeometryFactory* m_geomFactory;
|
|
147
|
+
|
|
148
|
+
// Methods
|
|
149
|
+
void simplifyEdges(
|
|
150
|
+
std::vector<CoverageEdge*> edges,
|
|
151
|
+
const MultiLineString* constraints,
|
|
152
|
+
double tolerance);
|
|
153
|
+
|
|
154
|
+
void setCoordinates(
|
|
155
|
+
std::vector<CoverageEdge*>& edges,
|
|
156
|
+
const MultiLineString* lines);
|
|
157
|
+
|
|
158
|
+
std::vector<bool> getFreeRings(
|
|
159
|
+
const std::vector<CoverageEdge*>& edges) const;
|
|
160
|
+
|
|
161
|
+
|
|
162
|
+
}; // CoverageSimplifier
|
|
163
|
+
|
|
164
|
+
|
|
165
|
+
} // geos::coverage
|
|
166
|
+
} // geos
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
/**********************************************************************
|
|
2
|
+
*
|
|
3
|
+
* GEOS - Geometry Engine Open Source
|
|
4
|
+
* http://geos.osgeo.org
|
|
5
|
+
*
|
|
6
|
+
* Copyright (C) 2022 Paul Ramsey <pramsey@cleverelephant.ca>
|
|
7
|
+
*
|
|
8
|
+
* This is free software; you can redistribute and/or modify it under
|
|
9
|
+
* the terms of the GNU Lesser General Public Licence as published
|
|
10
|
+
* by the Free Software Foundation.
|
|
11
|
+
* See the COPYING file for more information.
|
|
12
|
+
*
|
|
13
|
+
**********************************************************************/
|
|
14
|
+
|
|
15
|
+
#pragma once
|
|
16
|
+
|
|
17
|
+
#include <geos/export.h>
|
|
18
|
+
#include <vector>
|
|
19
|
+
#include <memory>
|
|
20
|
+
|
|
21
|
+
// Forward declarations
|
|
22
|
+
namespace geos {
|
|
23
|
+
namespace geom {
|
|
24
|
+
class Geometry;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
using geos::geom::Geometry;
|
|
29
|
+
|
|
30
|
+
namespace geos { // geos
|
|
31
|
+
namespace coverage { // geos::coverage
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* Unions a polygonal coverage in an efficient way.
|
|
35
|
+
*
|
|
36
|
+
* Valid polygonal coverage topology allows merging polygons in a very efficient way.
|
|
37
|
+
*
|
|
38
|
+
* @author Martin Davis
|
|
39
|
+
*
|
|
40
|
+
*/
|
|
41
|
+
class GEOS_DLL CoverageUnion {
|
|
42
|
+
|
|
43
|
+
private:
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
public:
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* Unions a polygonal coverage.
|
|
50
|
+
*
|
|
51
|
+
* @param coverage a vector of polygons in the coverage
|
|
52
|
+
* @return the union of the coverage polygons
|
|
53
|
+
*/
|
|
54
|
+
static std::unique_ptr<Geometry> Union(std::vector<const Geometry*>& coverage);
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* Unions a polygonal coverage.
|
|
58
|
+
*
|
|
59
|
+
* @param coverage a collection of the polygons in the coverage
|
|
60
|
+
* @return the union of the coverage polygons
|
|
61
|
+
*/
|
|
62
|
+
static std::unique_ptr<Geometry> Union(const Geometry* coverage);
|
|
63
|
+
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
} // namespace geos::coverage
|
|
67
|
+
} // namespace geos
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
/**********************************************************************
|
|
2
|
+
*
|
|
3
|
+
* GEOS - Geometry Engine Open Source
|
|
4
|
+
* http://geos.osgeo.org
|
|
5
|
+
*
|
|
6
|
+
* Copyright (C) 2022 Paul Ramsey <pramsey@cleverelephant.ca>
|
|
7
|
+
*
|
|
8
|
+
* This is free software; you can redistribute and/or modify it under
|
|
9
|
+
* the terms of the GNU Lesser General Public Licence as published
|
|
10
|
+
* by the Free Software Foundation.
|
|
11
|
+
* See the COPYING file for more information.
|
|
12
|
+
*
|
|
13
|
+
**********************************************************************/
|
|
14
|
+
|
|
15
|
+
#pragma once
|
|
16
|
+
|
|
17
|
+
#include <geos/index/strtree/TemplateSTRtree.h>
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
// Forward declarations
|
|
21
|
+
namespace geos {
|
|
22
|
+
namespace geom {
|
|
23
|
+
class Geometry;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
using geos::geom::Geometry;
|
|
28
|
+
using geos::index::strtree::TemplateSTRtree;
|
|
29
|
+
|
|
30
|
+
namespace geos { // geos
|
|
31
|
+
namespace coverage { // geos::coverage
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* Validates a polygonal coverage, and returns the locations of
|
|
36
|
+
* invalid polygon boundary segments if found.
|
|
37
|
+
*
|
|
38
|
+
* A polygonal coverage is a set of polygons which may be edge-adjacent but do
|
|
39
|
+
* not overlap.
|
|
40
|
+
* Coverage algorithms (such as {@link CoverageUnion} or simplification)
|
|
41
|
+
* generally require the input coverage to be valid to produce correct results.
|
|
42
|
+
* A polygonal coverage is valid if:
|
|
43
|
+
*
|
|
44
|
+
* * The interiors of all polygons do not intersect (are disjoint).
|
|
45
|
+
* This is the case if no polygon has a boundary which intersects
|
|
46
|
+
* the interior of another polygon, and no two polygons are identical.
|
|
47
|
+
* * If the boundaries of polygons intersect, the vertices
|
|
48
|
+
* and line segments of the intersection match exactly.
|
|
49
|
+
*
|
|
50
|
+
* A valid coverage may contain holes (regions of no coverage).
|
|
51
|
+
* Sometimes it is desired to detect whether coverages contain
|
|
52
|
+
* narrow gaps between polygons
|
|
53
|
+
* (which can be a result of digitizing error or misaligned data).
|
|
54
|
+
* This class can detect narrow gaps,
|
|
55
|
+
* by specifying a maximum gap width using {@link #setGapWidth(double)}.
|
|
56
|
+
* Note that this also identifies narrow gaps separating disjoint coverage regions,
|
|
57
|
+
* and narrow gores.
|
|
58
|
+
* In some situations it may also produce false positives
|
|
59
|
+
* (linework identified as part of a gap which is actually wider).
|
|
60
|
+
* See CoverageGapFinder for an alternate way to detect gaps which may be more accurate.
|
|
61
|
+
*
|
|
62
|
+
* @author Martin Davis
|
|
63
|
+
*
|
|
64
|
+
*/
|
|
65
|
+
class GEOS_DLL CoverageValidator {
|
|
66
|
+
|
|
67
|
+
private:
|
|
68
|
+
|
|
69
|
+
std::vector<const Geometry*>& m_coverage;
|
|
70
|
+
double m_gapWidth = 0.0;
|
|
71
|
+
|
|
72
|
+
std::unique_ptr<Geometry> validate(
|
|
73
|
+
const Geometry* targetGeom,
|
|
74
|
+
TemplateSTRtree<const Geometry*>& index);
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
public:
|
|
78
|
+
|
|
79
|
+
/*
|
|
80
|
+
* Creates a new coverage validator
|
|
81
|
+
*
|
|
82
|
+
* @param coverage a array of polygons representing a polygonal coverage
|
|
83
|
+
*/
|
|
84
|
+
CoverageValidator(std::vector<const Geometry*>& coverage)
|
|
85
|
+
: m_coverage(coverage)
|
|
86
|
+
{};
|
|
87
|
+
|
|
88
|
+
/**
|
|
89
|
+
* Sets the maximum gap width, if narrow gaps are to be detected.
|
|
90
|
+
*
|
|
91
|
+
* @param gapWidth the maximum width of gaps to detect
|
|
92
|
+
*/
|
|
93
|
+
void setGapWidth(double gapWidth) {
|
|
94
|
+
m_gapWidth = gapWidth;
|
|
95
|
+
};
|
|
96
|
+
|
|
97
|
+
/**
|
|
98
|
+
* Validates the polygonal coverage.
|
|
99
|
+
* The result is an array of the same size as the input coverage.
|
|
100
|
+
* Each array entry is either null, or if the polygon does not form a valid coverage,
|
|
101
|
+
* a linear geometry containing the boundary segments
|
|
102
|
+
* which intersect polygon interiors, which are mismatched,
|
|
103
|
+
* or form gaps (if checked).
|
|
104
|
+
*
|
|
105
|
+
* @return an array of nulls or linear geometries
|
|
106
|
+
*/
|
|
107
|
+
std::vector<std::unique_ptr<Geometry>> validate();
|
|
108
|
+
|
|
109
|
+
/**
|
|
110
|
+
* Tests whether a polygonal coverage is valid.
|
|
111
|
+
*
|
|
112
|
+
* @param coverage an array of polygons forming a coverage
|
|
113
|
+
* @return true if the coverage is valid
|
|
114
|
+
*/
|
|
115
|
+
static bool isValid(
|
|
116
|
+
std::vector<const Geometry*>& coverage);
|
|
117
|
+
|
|
118
|
+
/**
|
|
119
|
+
* Tests if some element of an array of geometries is a coverage invalidity
|
|
120
|
+
* indicator.
|
|
121
|
+
*
|
|
122
|
+
* @param validateResult an array produced by a polygonal coverage validation
|
|
123
|
+
* @return true if the result has at least one invalid indicator
|
|
124
|
+
*/
|
|
125
|
+
static bool hasInvalidResult(
|
|
126
|
+
const std::vector<std::unique_ptr<Geometry>>& validateResult);
|
|
127
|
+
|
|
128
|
+
/**
|
|
129
|
+
* Validates that a set of polygons forms a valid polygonal coverage.
|
|
130
|
+
* The result is a list of the same length as the input,
|
|
131
|
+
* containing for each input geometry either
|
|
132
|
+
* a linear geometry indicating the locations of invalidities,
|
|
133
|
+
* or a null if the geometry is coverage-valid.
|
|
134
|
+
*
|
|
135
|
+
* @param coverage an array of polygons forming a coverage
|
|
136
|
+
* @return an array of linear geometries indicating coverage errors, or nulls
|
|
137
|
+
*/
|
|
138
|
+
static std::vector<std::unique_ptr<Geometry>> validate(
|
|
139
|
+
std::vector<const Geometry*>& coverage);
|
|
140
|
+
|
|
141
|
+
/**
|
|
142
|
+
* Validates that a set of polygons forms a valid polygonal coverage
|
|
143
|
+
* and contains no gaps narrower than a specified width.
|
|
144
|
+
* The result is a list of the same length as the input,
|
|
145
|
+
* containing for each input geometry either
|
|
146
|
+
* a linear geometry indicating the locations of invalidities,
|
|
147
|
+
* or a null if the geometry is coverage-valid.
|
|
148
|
+
*
|
|
149
|
+
* @param coverage an array of polygons forming a coverage
|
|
150
|
+
* @param gapWidth the maximum width of invalid gaps
|
|
151
|
+
* @return an array of linear geometries indicating coverage errors, or nulls
|
|
152
|
+
*/
|
|
153
|
+
static std::vector<std::unique_ptr<Geometry>> validate(
|
|
154
|
+
std::vector<const Geometry*>& coverage,
|
|
155
|
+
double gapWidth);
|
|
156
|
+
};
|
|
157
|
+
|
|
158
|
+
} // namespace geos::coverage
|
|
159
|
+
} // namespace geos
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
/**********************************************************************
|
|
2
|
+
*
|
|
3
|
+
* GEOS - Geometry Engine Open Source
|
|
4
|
+
* http://geos.osgeo.org
|
|
5
|
+
*
|
|
6
|
+
* Copyright (C) 2022 Paul Ramsey <pramsey@cleverelephant.ca>
|
|
7
|
+
*
|
|
8
|
+
* This is free software; you can redistribute and/or modify it under
|
|
9
|
+
* the terms of the GNU Lesser General Public Licence as published
|
|
10
|
+
* by the Free Software Foundation.
|
|
11
|
+
* See the COPYING file for more information.
|
|
12
|
+
*
|
|
13
|
+
**********************************************************************/
|
|
14
|
+
|
|
15
|
+
#pragma once
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
#include <geos/noding/SegmentIntersector.h>
|
|
19
|
+
|
|
20
|
+
// Forward declarations
|
|
21
|
+
namespace geos {
|
|
22
|
+
namespace geom {
|
|
23
|
+
class Coordinate;
|
|
24
|
+
}
|
|
25
|
+
namespace noding {
|
|
26
|
+
class SegmentString;
|
|
27
|
+
}
|
|
28
|
+
namespace coverage {
|
|
29
|
+
class CoverageRing;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
using geos::noding::SegmentIntersector;
|
|
35
|
+
using geos::noding::SegmentString;
|
|
36
|
+
using geos::geom::Coordinate;
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
namespace geos { // geos.
|
|
40
|
+
namespace coverage { // geos.coverage
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* Detects invalid coverage topology where ring segments interact.
|
|
44
|
+
* The inputs to processIntersections(SegmentString, int, SegmentString, int)}
|
|
45
|
+
* must be CoverageRing s.
|
|
46
|
+
* If an invalid situation is detected the input target segment is
|
|
47
|
+
* marked invalid using CoverageRing#markInvalid(int).
|
|
48
|
+
*
|
|
49
|
+
* This class assumes it is used with SegmentSetMutualIntersector,
|
|
50
|
+
* so that segments in the same ring are not evaluated.
|
|
51
|
+
*
|
|
52
|
+
* @author Martin Davis
|
|
53
|
+
*
|
|
54
|
+
*/
|
|
55
|
+
class GEOS_DLL InvalidSegmentDetector : public SegmentIntersector {
|
|
56
|
+
|
|
57
|
+
private:
|
|
58
|
+
|
|
59
|
+
// Members
|
|
60
|
+
double distanceTol;
|
|
61
|
+
|
|
62
|
+
// Methods
|
|
63
|
+
bool isInvalid(const Coordinate& tgt0, const Coordinate& tgt1,
|
|
64
|
+
const Coordinate& adj0, const Coordinate& adj1,
|
|
65
|
+
CoverageRing* adj, std::size_t indexAdj);
|
|
66
|
+
|
|
67
|
+
bool isEqual(
|
|
68
|
+
const Coordinate& t0, const Coordinate& t1,
|
|
69
|
+
const Coordinate& adj0, const Coordinate& adj1);
|
|
70
|
+
|
|
71
|
+
/**
|
|
72
|
+
* Checks if the segments are collinear, or if the target segment
|
|
73
|
+
* intersects the interior of the adjacent ring.
|
|
74
|
+
* Segments which are collinear must be non-equal and hence invalid,
|
|
75
|
+
* since matching segments have already been marked as valid and
|
|
76
|
+
* are not passed to this code.
|
|
77
|
+
*
|
|
78
|
+
* @param tgt0
|
|
79
|
+
* @param tgt1
|
|
80
|
+
* @param adj0
|
|
81
|
+
* @param adj1
|
|
82
|
+
* @return
|
|
83
|
+
*/
|
|
84
|
+
bool isCollinearOrInterior(
|
|
85
|
+
const Coordinate& tgt0, const Coordinate& tgt1,
|
|
86
|
+
const Coordinate& adj0, const Coordinate& adj1,
|
|
87
|
+
CoverageRing* adj, std::size_t indexAdj);
|
|
88
|
+
|
|
89
|
+
bool isInteriorSegment(
|
|
90
|
+
const Coordinate& intVertex,
|
|
91
|
+
const Coordinate& tgt0, const Coordinate& tgt1,
|
|
92
|
+
CoverageRing* adj, std::size_t indexAdj);
|
|
93
|
+
|
|
94
|
+
static bool isNearlyParallel(
|
|
95
|
+
const Coordinate& p00, const Coordinate& p01,
|
|
96
|
+
const Coordinate& p10, const Coordinate& p11,
|
|
97
|
+
double distanceTol);
|
|
98
|
+
|
|
99
|
+
|
|
100
|
+
public:
|
|
101
|
+
|
|
102
|
+
/**
|
|
103
|
+
* Creates an invalid segment detector.
|
|
104
|
+
*/
|
|
105
|
+
InvalidSegmentDetector() {};
|
|
106
|
+
|
|
107
|
+
InvalidSegmentDetector(double p_distanceTol)
|
|
108
|
+
: distanceTol(p_distanceTol) {};
|
|
109
|
+
|
|
110
|
+
|
|
111
|
+
bool isDone() const override {
|
|
112
|
+
// process all intersections
|
|
113
|
+
return false;
|
|
114
|
+
};
|
|
115
|
+
|
|
116
|
+
/**
|
|
117
|
+
* Process interacting segments.
|
|
118
|
+
* The input order is important.
|
|
119
|
+
* The adjacent segment is first, the target is second.
|
|
120
|
+
* The inputs must be CoverageRing.
|
|
121
|
+
*/
|
|
122
|
+
void processIntersections(
|
|
123
|
+
SegmentString* ssAdj, std::size_t iAdj,
|
|
124
|
+
SegmentString* ssTarget, std::size_t iTarget) override;
|
|
125
|
+
|
|
126
|
+
|
|
127
|
+
|
|
128
|
+
};
|
|
129
|
+
|
|
130
|
+
} // namespace geos.coverage
|
|
131
|
+
} // namespace geos
|
|
132
|
+
|
|
133
|
+
|