@cpp.js/package-geos 1.0.0-beta.22 → 1.0.0
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 +13 -0
- package/README.md +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,381 @@
|
|
|
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/noding/BasicSegmentString.h>
|
|
18
|
+
#include <geos/geom/LineSegment.h>
|
|
19
|
+
#include <geos/algorithm/locate/IndexedPointInAreaLocator.h>
|
|
20
|
+
#include <geos/coverage/CoveragePolygon.h>
|
|
21
|
+
#include <geos/coverage/CoverageRing.h>
|
|
22
|
+
|
|
23
|
+
#include <unordered_map>
|
|
24
|
+
#include <map>
|
|
25
|
+
|
|
26
|
+
// Forward declarations
|
|
27
|
+
namespace geos {
|
|
28
|
+
namespace geom {
|
|
29
|
+
class Coordinate;
|
|
30
|
+
class Envelope;
|
|
31
|
+
class Geometry;
|
|
32
|
+
class GeometryFactory;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
using geos::geom::Coordinate;
|
|
37
|
+
using geos::geom::Envelope;
|
|
38
|
+
using geos::geom::Geometry;
|
|
39
|
+
using geos::geom::GeometryFactory;
|
|
40
|
+
using geos::geom::LineSegment;
|
|
41
|
+
using geos::algorithm::locate::IndexedPointInAreaLocator;
|
|
42
|
+
|
|
43
|
+
namespace geos { // geos
|
|
44
|
+
namespace coverage { // geos::coverage
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* Validates that a polygon forms a valid polygonal coverage
|
|
49
|
+
* with the set of polygons adjacent to it.
|
|
50
|
+
* If the polygon is coverage-valid an empty {@link geos::geom::LineString} is returned.
|
|
51
|
+
* Otherwise, the result is a linear geometry containing
|
|
52
|
+
* the polygon boundary linework causing the invalidity.
|
|
53
|
+
*
|
|
54
|
+
* A polygon is coverage-valid if:
|
|
55
|
+
*
|
|
56
|
+
* * The polygon interior does not intersect the interior of other polygons.
|
|
57
|
+
* * If the polygon boundary intersects another polygon boundary, the vertices
|
|
58
|
+
* and line segments of the intersection match exactly.
|
|
59
|
+
*
|
|
60
|
+
* The algorithm detects the following coverage errors:
|
|
61
|
+
*
|
|
62
|
+
* * the polygon is a duplicate of another one
|
|
63
|
+
* * a polygon boundary segment equals an adjacent segment (with same orientation).
|
|
64
|
+
* This determines that the polygons overlap
|
|
65
|
+
* * a polygon boundary segment is collinear and overlaps an adjacent segment
|
|
66
|
+
* but is not equal to it
|
|
67
|
+
* * a polygon boundary segment touches an adjacent segment at a non-vertex point
|
|
68
|
+
* * a polygon boundary segment crosses into an adjacent polygon
|
|
69
|
+
* * a polygon boundary segment is in the interior of an adjacent polygon
|
|
70
|
+
*
|
|
71
|
+
* If any of these errors is present, the target polygon
|
|
72
|
+
* does not form a valid coverage with the adjacent polygons.
|
|
73
|
+
*
|
|
74
|
+
* The validity rules do not preclude gaps between coverage polygons.
|
|
75
|
+
* However, this class can detect narrow gaps,
|
|
76
|
+
* by specifying a maximum gap width using {@link #setGapWidth(double)}.
|
|
77
|
+
* Note that this will also identify narrow gaps separating disjoint coverage regions,
|
|
78
|
+
* and narrow gores.
|
|
79
|
+
* In some situations it may also produce false positives
|
|
80
|
+
* (i.e. linework identified as part of a gap which is wider than the given width).
|
|
81
|
+
* To fully identify gaps it maybe necessary to use {@link CoverageUnion} and analyze
|
|
82
|
+
* the holes in the result to see if they are acceptable.
|
|
83
|
+
*
|
|
84
|
+
* A polygon may be coverage-valid with respect to
|
|
85
|
+
* a set of surrounding polygons, but the collection as a whole may not
|
|
86
|
+
* form a clean coverage. For example, the target polygon boundary may be fully matched
|
|
87
|
+
* by adjacent boundary segments, but the adjacent set contains polygons
|
|
88
|
+
* which are not coverage-valid relative to other ones in the set.
|
|
89
|
+
* A coverage is valid only if every polygon in the coverage is coverage-valid.
|
|
90
|
+
* Use {@link CoverageValidator} to validate an entire set of polygons.
|
|
91
|
+
*
|
|
92
|
+
* The adjacent set may contain polygons which do not intersect the target polygon.
|
|
93
|
+
* These are effectively ignored during validation (but may decrease performance).
|
|
94
|
+
*
|
|
95
|
+
* @author Martin Davis
|
|
96
|
+
*
|
|
97
|
+
*/
|
|
98
|
+
class GEOS_DLL CoveragePolygonValidator {
|
|
99
|
+
|
|
100
|
+
private:
|
|
101
|
+
|
|
102
|
+
/**
|
|
103
|
+
* Models a segment in a CoverageRing.
|
|
104
|
+
* The segment is normalized so it can be compared with segments
|
|
105
|
+
* in any orientation.
|
|
106
|
+
* Records valid matching segments in a coverage,
|
|
107
|
+
* which must have opposite orientations.
|
|
108
|
+
* Also detects equal segments with identical
|
|
109
|
+
* orientation, and marks them as coverage-invalid.
|
|
110
|
+
*/
|
|
111
|
+
class CoverageRingSegment : public LineSegment
|
|
112
|
+
{
|
|
113
|
+
public:
|
|
114
|
+
|
|
115
|
+
// Members
|
|
116
|
+
CoverageRing* ringForward;
|
|
117
|
+
std::size_t indexForward;
|
|
118
|
+
CoverageRing* ringOpp;
|
|
119
|
+
std::size_t indexOpp;
|
|
120
|
+
|
|
121
|
+
CoverageRingSegment(
|
|
122
|
+
const Coordinate& p_p0, const Coordinate& p_p1,
|
|
123
|
+
CoverageRing* p_ring, std::size_t p_index)
|
|
124
|
+
: LineSegment(p_p0, p_p1)
|
|
125
|
+
, ringForward(nullptr)
|
|
126
|
+
, indexForward(0)
|
|
127
|
+
, ringOpp(nullptr)
|
|
128
|
+
, indexOpp(0)
|
|
129
|
+
{
|
|
130
|
+
if (p_p1.compareTo(p_p0) < 0) {
|
|
131
|
+
reverse();
|
|
132
|
+
ringOpp = p_ring;
|
|
133
|
+
indexOpp = p_index;
|
|
134
|
+
}
|
|
135
|
+
else {
|
|
136
|
+
ringForward = p_ring;
|
|
137
|
+
indexForward = p_index;
|
|
138
|
+
}
|
|
139
|
+
};
|
|
140
|
+
|
|
141
|
+
void match(const CoverageRingSegment* seg) {
|
|
142
|
+
bool isInvalid = checkInvalid(seg);
|
|
143
|
+
if (isInvalid) {
|
|
144
|
+
return;
|
|
145
|
+
}
|
|
146
|
+
//-- record the match
|
|
147
|
+
if (ringForward == nullptr) {
|
|
148
|
+
ringForward = seg->ringForward;
|
|
149
|
+
indexForward = seg->indexForward;
|
|
150
|
+
}
|
|
151
|
+
else {
|
|
152
|
+
ringOpp = seg->ringOpp;
|
|
153
|
+
indexOpp = seg->indexOpp;
|
|
154
|
+
}
|
|
155
|
+
//-- mark ring segments as matched
|
|
156
|
+
ringForward->markMatched(indexForward);
|
|
157
|
+
ringOpp->markMatched(indexOpp);
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
bool checkInvalid(const CoverageRingSegment* seg) const {
|
|
161
|
+
if (ringForward != nullptr && seg->ringForward != nullptr) {
|
|
162
|
+
ringForward->markInvalid(indexForward);
|
|
163
|
+
seg->ringForward->markInvalid(seg->indexForward);
|
|
164
|
+
return true;
|
|
165
|
+
}
|
|
166
|
+
if (ringOpp != nullptr && seg->ringOpp != nullptr) {
|
|
167
|
+
ringOpp->markInvalid(indexOpp);
|
|
168
|
+
seg->ringOpp->markInvalid(seg->indexOpp);
|
|
169
|
+
return true;
|
|
170
|
+
}
|
|
171
|
+
return false;
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
struct CoverageRingSegHash {
|
|
175
|
+
std::size_t
|
|
176
|
+
operator() (CoverageRingSegment const* s) const {
|
|
177
|
+
std::size_t h = std::hash<double>{}(s->p0.x);
|
|
178
|
+
h ^= (std::hash<double>{}(s->p0.y) << 1);
|
|
179
|
+
h ^= (std::hash<double>{}(s->p1.x) << 1);
|
|
180
|
+
return h ^ (std::hash<double>{}(s->p1.y) << 1);
|
|
181
|
+
}
|
|
182
|
+
};
|
|
183
|
+
|
|
184
|
+
struct CoverageRingSegEq {
|
|
185
|
+
bool
|
|
186
|
+
operator() (CoverageRingSegment const* lhs, CoverageRingSegment const* rhs) const {
|
|
187
|
+
return lhs->p0.x == rhs->p0.x
|
|
188
|
+
&& lhs->p0.y == rhs->p0.y
|
|
189
|
+
&& lhs->p1.x == rhs->p1.x
|
|
190
|
+
&& lhs->p1.y == rhs->p1.y;
|
|
191
|
+
}
|
|
192
|
+
};
|
|
193
|
+
|
|
194
|
+
};
|
|
195
|
+
|
|
196
|
+
// Members
|
|
197
|
+
const Geometry* targetGeom;
|
|
198
|
+
std::vector<const Geometry*> adjGeoms;
|
|
199
|
+
//std::vector<const Polygon*> m_adjPolygons;
|
|
200
|
+
const GeometryFactory* geomFactory;
|
|
201
|
+
double gapWidth = 0.0;
|
|
202
|
+
std::vector<std::unique_ptr<CoveragePolygon>> m_adjCovPolygons;
|
|
203
|
+
std::deque<CoverageRing> coverageRingStore;
|
|
204
|
+
std::vector<std::unique_ptr<CoordinateSequence>> localCoordinateSequences;
|
|
205
|
+
std::deque<CoverageRingSegment> coverageRingSegmentStore;
|
|
206
|
+
|
|
207
|
+
typedef std::unordered_map<CoverageRingSegment*, CoverageRingSegment*, CoverageRingSegment::CoverageRingSegHash, CoverageRingSegment::CoverageRingSegEq> CoverageRingSegmentMap;
|
|
208
|
+
|
|
209
|
+
// Declare type as noncopyable
|
|
210
|
+
CoveragePolygonValidator(const CoveragePolygonValidator& other) = delete;
|
|
211
|
+
CoveragePolygonValidator& operator=(const CoveragePolygonValidator& rhs) = delete;
|
|
212
|
+
|
|
213
|
+
public:
|
|
214
|
+
|
|
215
|
+
/**
|
|
216
|
+
* Validates that a polygon is coverage-valid against the
|
|
217
|
+
* surrounding polygons in a polygonal coverage.
|
|
218
|
+
*
|
|
219
|
+
* @param targetPolygon the polygon to validate
|
|
220
|
+
* @param adjPolygons the adjacent polygons
|
|
221
|
+
* @return a linear geometry containing the segments causing invalidity (if any)
|
|
222
|
+
*/
|
|
223
|
+
static std::unique_ptr<Geometry> validate(
|
|
224
|
+
const Geometry* targetPolygon,
|
|
225
|
+
std::vector<const Geometry*>& adjPolygons);
|
|
226
|
+
|
|
227
|
+
/**
|
|
228
|
+
* Validates that a polygon is coverage-valid against the
|
|
229
|
+
* surrounding polygons in a polygonal coverage,
|
|
230
|
+
* and forms no gaps narrower than a specified width.
|
|
231
|
+
* <p>
|
|
232
|
+
* The set of surrounding polygons should include all polygons which
|
|
233
|
+
* are within the gap width distance of the target polygon.
|
|
234
|
+
*
|
|
235
|
+
* @param targetPolygon the polygon to validate
|
|
236
|
+
* @param adjPolygons a collection of the adjacent polygons
|
|
237
|
+
* @param gapWidth the maximum width of invalid gaps
|
|
238
|
+
* @return a linear geometry containing the segments causing invalidity (if any)
|
|
239
|
+
*/
|
|
240
|
+
static std::unique_ptr<Geometry> validate(
|
|
241
|
+
const Geometry* targetPolygon,
|
|
242
|
+
std::vector<const Geometry*>& adjPolygons,
|
|
243
|
+
double gapWidth);
|
|
244
|
+
|
|
245
|
+
/**
|
|
246
|
+
* Create a new validator.
|
|
247
|
+
*
|
|
248
|
+
* If the gap width is specified, the set of surrounding polygons
|
|
249
|
+
* should include all polygons which
|
|
250
|
+
* are within the gap width distance of the target polygon.
|
|
251
|
+
*
|
|
252
|
+
* @param targetPolygon the geometry to validate
|
|
253
|
+
* @param adjPolygons the adjacent polygons in the polygonal coverage
|
|
254
|
+
*/
|
|
255
|
+
CoveragePolygonValidator(
|
|
256
|
+
const Geometry* targetPolygon,
|
|
257
|
+
std::vector<const Geometry*>& adjPolygons);
|
|
258
|
+
|
|
259
|
+
/**
|
|
260
|
+
* Sets the maximum gap width, if narrow gaps are to be detected.
|
|
261
|
+
*
|
|
262
|
+
* @param p_gapWidth the maximum width of gaps to detect
|
|
263
|
+
*/
|
|
264
|
+
void setGapWidth(double p_gapWidth);
|
|
265
|
+
|
|
266
|
+
/**
|
|
267
|
+
* Validates the coverage polygon against the set of adjacent polygons
|
|
268
|
+
* in the coverage.
|
|
269
|
+
*
|
|
270
|
+
* @return a linear geometry containing the segments causing invalidity (if any)
|
|
271
|
+
*/
|
|
272
|
+
std::unique_ptr<Geometry> validate();
|
|
273
|
+
|
|
274
|
+
private:
|
|
275
|
+
|
|
276
|
+
static std::vector<std::unique_ptr<CoveragePolygon>>
|
|
277
|
+
toCoveragePolygons(const std::vector<const Polygon*> polygons);
|
|
278
|
+
static std::vector<const Polygon*> extractPolygons(std::vector<const Geometry*>& geoms);
|
|
279
|
+
|
|
280
|
+
/* private */
|
|
281
|
+
std::unique_ptr<Geometry> createEmptyResult();
|
|
282
|
+
|
|
283
|
+
/**
|
|
284
|
+
* Marks matched segments.
|
|
285
|
+
* This improves the efficiency of validity testing, since in valid coverages
|
|
286
|
+
* all segments (except exterior ones) are matched,
|
|
287
|
+
* and hence do not need to be tested further.
|
|
288
|
+
* Segments which are equal and have same orientation
|
|
289
|
+
* are detected and marked invalid.
|
|
290
|
+
* In fact, the entire target polygon may be matched and valid,
|
|
291
|
+
* which allows avoiding further tests.
|
|
292
|
+
* Segments matched between adjacent polygons are also marked valid,
|
|
293
|
+
* since this prevents them from being detected as misaligned,
|
|
294
|
+
* if this is being done.
|
|
295
|
+
*
|
|
296
|
+
* @param targetRings the target rings
|
|
297
|
+
* @param adjRings the adjacent rings
|
|
298
|
+
* @param targetEnv the tolerance envelope of the target
|
|
299
|
+
*/
|
|
300
|
+
void markMatchedSegments(
|
|
301
|
+
std::vector<CoverageRing*>& targetRings,
|
|
302
|
+
std::vector<CoverageRing*>& adjRings,
|
|
303
|
+
const Envelope& targetEnv);
|
|
304
|
+
|
|
305
|
+
/**
|
|
306
|
+
* Adds ring segments to the segment map,
|
|
307
|
+
* and detects if they match an existing segment.
|
|
308
|
+
* Matched segments are marked.
|
|
309
|
+
*
|
|
310
|
+
* @param rings
|
|
311
|
+
* @param envLimit
|
|
312
|
+
* @param segmentMap
|
|
313
|
+
*/
|
|
314
|
+
void markMatchedSegments(
|
|
315
|
+
std::vector<CoverageRing*>& rings,
|
|
316
|
+
const Envelope& envLimit,
|
|
317
|
+
CoverageRingSegmentMap& segmentMap);
|
|
318
|
+
|
|
319
|
+
CoverageRingSegment* createCoverageRingSegment(
|
|
320
|
+
CoverageRing* ring, std::size_t index);
|
|
321
|
+
|
|
322
|
+
/**
|
|
323
|
+
* Marks invalid target segments which cross an adjacent ring segment,
|
|
324
|
+
* lie partially in the interior of an adjacent ring,
|
|
325
|
+
* or are nearly collinear with an adjacent ring segment up to the distance tolerance
|
|
326
|
+
*
|
|
327
|
+
* @param targetRings the rings with segments to test
|
|
328
|
+
* @param adjRings the adjacent rings
|
|
329
|
+
* @param distanceTolerance the gap distance tolerance, if any
|
|
330
|
+
*/
|
|
331
|
+
void markInvalidInteractingSegments(
|
|
332
|
+
std::vector<CoverageRing*>& targetRings,
|
|
333
|
+
std::vector<CoverageRing*>& adjRings,
|
|
334
|
+
double distanceTolerance);
|
|
335
|
+
|
|
336
|
+
/**
|
|
337
|
+
* Marks invalid target segments which are fully interior
|
|
338
|
+
* to an adjacent polygon.
|
|
339
|
+
*
|
|
340
|
+
* @param targetRings the rings with segments to test
|
|
341
|
+
* @param adjCovPolygons the adjacent polygons
|
|
342
|
+
*/
|
|
343
|
+
void markInvalidInteriorSegments(
|
|
344
|
+
std::vector<CoverageRing*>& targetRings,
|
|
345
|
+
std::vector<std::unique_ptr<CoveragePolygon>>& adjCovPolygons);
|
|
346
|
+
|
|
347
|
+
void markInvalidInteriorSection(
|
|
348
|
+
CoverageRing& ring,
|
|
349
|
+
std::size_t iStart,
|
|
350
|
+
std::size_t iEnd,
|
|
351
|
+
std::vector<std::unique_ptr<CoveragePolygon>>& adjCovPolygons );
|
|
352
|
+
|
|
353
|
+
void markInvalidInteriorSegment(
|
|
354
|
+
CoverageRing& ring, std::size_t i, CoveragePolygon* adjPoly);
|
|
355
|
+
|
|
356
|
+
void checkTargetRings(
|
|
357
|
+
std::vector<CoverageRing*>& targetRings,
|
|
358
|
+
std::vector<CoverageRing*>& adjRngs,
|
|
359
|
+
const Envelope& targetEnv);
|
|
360
|
+
|
|
361
|
+
std::unique_ptr<Geometry> createInvalidLines(std::vector<CoverageRing*>& rings);
|
|
362
|
+
|
|
363
|
+
std::vector<CoverageRing*> createRings(const Geometry* geom);
|
|
364
|
+
|
|
365
|
+
std::vector<CoverageRing*> createRings(std::vector<const Polygon*>& polygons);
|
|
366
|
+
|
|
367
|
+
void createRings(const Polygon* poly, std::vector<CoverageRing*>& rings);
|
|
368
|
+
|
|
369
|
+
void addRing(
|
|
370
|
+
const LinearRing* ring,
|
|
371
|
+
bool isShell,
|
|
372
|
+
std::vector<CoverageRing*>& rings);
|
|
373
|
+
|
|
374
|
+
CoverageRing* createRing(const LinearRing* ring, bool isShell);
|
|
375
|
+
|
|
376
|
+
|
|
377
|
+
|
|
378
|
+
};
|
|
379
|
+
|
|
380
|
+
} // namespace geos::coverage
|
|
381
|
+
} // namespace geos
|
|
@@ -0,0 +1,205 @@
|
|
|
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/noding/BasicSegmentString.h>
|
|
18
|
+
|
|
19
|
+
#include <deque>
|
|
20
|
+
|
|
21
|
+
// Forward declarations
|
|
22
|
+
namespace geos {
|
|
23
|
+
namespace geom {
|
|
24
|
+
class Coordinate;
|
|
25
|
+
class CoordinateSequence;
|
|
26
|
+
class Geometry;
|
|
27
|
+
class GeometryFactory;
|
|
28
|
+
class LineString;
|
|
29
|
+
class LinearRing;
|
|
30
|
+
class Polygon;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
using geos::geom::Coordinate;
|
|
35
|
+
using geos::geom::CoordinateSequence;
|
|
36
|
+
using geos::geom::Geometry;
|
|
37
|
+
using geos::geom::GeometryFactory;
|
|
38
|
+
using geos::geom::Polygon;
|
|
39
|
+
using geos::geom::LineString;
|
|
40
|
+
using geos::geom::LinearRing;
|
|
41
|
+
|
|
42
|
+
namespace geos { // geos.
|
|
43
|
+
namespace coverage { // geos.coverage
|
|
44
|
+
|
|
45
|
+
class GEOS_DLL CoverageRing : public noding::BasicSegmentString {
|
|
46
|
+
|
|
47
|
+
private:
|
|
48
|
+
|
|
49
|
+
// Members
|
|
50
|
+
bool m_isInteriorOnRight;
|
|
51
|
+
std::vector<bool> m_isInvalid;
|
|
52
|
+
std::vector<bool> m_isMatched;
|
|
53
|
+
|
|
54
|
+
std::size_t findInvalidStart(std::size_t index);
|
|
55
|
+
|
|
56
|
+
std::size_t findInvalidEnd(std::size_t index);
|
|
57
|
+
|
|
58
|
+
std::size_t nextMarkIndex(std::size_t index);
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* Creates a line from a sequence of ring segments between startIndex and endIndex (inclusive).
|
|
62
|
+
* If the endIndex < startIndex the sequence wraps around the ring endpoint.
|
|
63
|
+
*
|
|
64
|
+
* @param startIndex
|
|
65
|
+
* @param endIndex
|
|
66
|
+
* @param geomFactory
|
|
67
|
+
* @return a line representing the section
|
|
68
|
+
*/
|
|
69
|
+
std::unique_ptr<LineString> createLine(
|
|
70
|
+
std::size_t startIndex,
|
|
71
|
+
std::size_t endIndex,
|
|
72
|
+
const GeometryFactory* geomFactory);
|
|
73
|
+
|
|
74
|
+
std::unique_ptr<CoordinateSequence> extractSection(
|
|
75
|
+
std::size_t startIndex, std::size_t endIndex);
|
|
76
|
+
|
|
77
|
+
std::unique_ptr<CoordinateSequence> extractSectionWrap(
|
|
78
|
+
std::size_t startIndex, std::size_t endIndex);
|
|
79
|
+
|
|
80
|
+
public:
|
|
81
|
+
|
|
82
|
+
CoverageRing(CoordinateSequence* pts, bool interiorOnRight);
|
|
83
|
+
|
|
84
|
+
CoverageRing(const LinearRing* ring, bool isShell);
|
|
85
|
+
|
|
86
|
+
geom::Envelope getEnvelope(std::size_t start, std::size_t end);
|
|
87
|
+
|
|
88
|
+
/**
|
|
89
|
+
* Tests if all rings have known status (matched or invalid)
|
|
90
|
+
* for all segments.
|
|
91
|
+
*
|
|
92
|
+
* @param rings a list of rings
|
|
93
|
+
* @return true if all ring segments have known status
|
|
94
|
+
*/
|
|
95
|
+
static bool isKnown(std::vector<CoverageRing*>& rings);
|
|
96
|
+
|
|
97
|
+
/**
|
|
98
|
+
* Reports if the ring has canonical orientation,
|
|
99
|
+
* with the polygon interior on the right (shell is CW).
|
|
100
|
+
*
|
|
101
|
+
* @return true if the polygon interior is on the right
|
|
102
|
+
*/
|
|
103
|
+
bool isInteriorOnRight() const;
|
|
104
|
+
|
|
105
|
+
/**
|
|
106
|
+
* Marks a segment as invalid.
|
|
107
|
+
*
|
|
108
|
+
* @param i the segment index
|
|
109
|
+
*/
|
|
110
|
+
void markInvalid(std::size_t index);
|
|
111
|
+
|
|
112
|
+
/**
|
|
113
|
+
* Marks a segment as matched.
|
|
114
|
+
*
|
|
115
|
+
* @param i the segment index
|
|
116
|
+
*/
|
|
117
|
+
void markMatched(std::size_t index);
|
|
118
|
+
|
|
119
|
+
/**
|
|
120
|
+
* Tests if all segments in the ring have known status
|
|
121
|
+
* (matched or invalid).
|
|
122
|
+
*
|
|
123
|
+
* @return true if all segments have known status
|
|
124
|
+
*/
|
|
125
|
+
bool isKnown() const;
|
|
126
|
+
|
|
127
|
+
/**
|
|
128
|
+
* Tests if a segment is marked invalid.
|
|
129
|
+
*
|
|
130
|
+
* @param index the segment index
|
|
131
|
+
* @return true if the segment is invalid
|
|
132
|
+
*/
|
|
133
|
+
bool isInvalid(std::size_t i) const;
|
|
134
|
+
|
|
135
|
+
/**
|
|
136
|
+
* Tests whether all segments are invalid.
|
|
137
|
+
*
|
|
138
|
+
* @return true if all segments are invalid
|
|
139
|
+
*/
|
|
140
|
+
bool isInvalid() const;
|
|
141
|
+
|
|
142
|
+
/**
|
|
143
|
+
* Tests whether any segment is invalid.
|
|
144
|
+
*
|
|
145
|
+
* @return true if some segment is invalid
|
|
146
|
+
*/
|
|
147
|
+
bool hasInvalid() const;
|
|
148
|
+
|
|
149
|
+
/**
|
|
150
|
+
* Tests whether the validity state of a ring segment is known.
|
|
151
|
+
*
|
|
152
|
+
* @param i the index of the ring segment
|
|
153
|
+
* @return true if the segment validity state is known
|
|
154
|
+
*/
|
|
155
|
+
bool isKnown(std::size_t i) const;
|
|
156
|
+
|
|
157
|
+
/**
|
|
158
|
+
* Finds the previous vertex in the ring which is distinct
|
|
159
|
+
* from a given coordinate value.
|
|
160
|
+
*
|
|
161
|
+
* @param index the index to start the search
|
|
162
|
+
* @param pt a coordinate value (which may not be a ring vertex)
|
|
163
|
+
* @return the previous distinct vertex in the ring
|
|
164
|
+
*/
|
|
165
|
+
const Coordinate& findVertexPrev(std::size_t index, const Coordinate& pt) const;
|
|
166
|
+
|
|
167
|
+
/**
|
|
168
|
+
* Finds the next vertex in the ring which is distinct
|
|
169
|
+
* from a given coordinate value.
|
|
170
|
+
*
|
|
171
|
+
* @param index the index to start the search
|
|
172
|
+
* @param pt a coordinate value (which may not be a ring vertex)
|
|
173
|
+
* @return the next distinct vertex in the ring
|
|
174
|
+
*/
|
|
175
|
+
const Coordinate& findVertexNext(std::size_t index, const Coordinate& pt) const;
|
|
176
|
+
|
|
177
|
+
/**
|
|
178
|
+
* Gets the index of the previous segment in the ring.
|
|
179
|
+
*
|
|
180
|
+
* @param index a segment index
|
|
181
|
+
* @return the index of the previous segment
|
|
182
|
+
*/
|
|
183
|
+
std::size_t prev(std::size_t index) const;
|
|
184
|
+
|
|
185
|
+
/**
|
|
186
|
+
* Gets the index of the next segment in the ring.
|
|
187
|
+
*
|
|
188
|
+
* @param index a segment index
|
|
189
|
+
* @return the index of the next segment
|
|
190
|
+
*/
|
|
191
|
+
std::size_t next(std::size_t index) const;
|
|
192
|
+
|
|
193
|
+
void createInvalidLines(
|
|
194
|
+
const GeometryFactory* geomFactory,
|
|
195
|
+
std::vector<std::unique_ptr<LineString>>& lines);
|
|
196
|
+
|
|
197
|
+
};
|
|
198
|
+
|
|
199
|
+
} // namespace geos.coverage
|
|
200
|
+
} // namespace geos
|
|
201
|
+
|
|
202
|
+
|
|
203
|
+
|
|
204
|
+
|
|
205
|
+
|