Checks that a geomgraph::GeometryGraph representing an area (a geom::Polygon or geom::MultiPolygon) has consistent semantics for area geometries. This check is required for any reasonable polygonal model (including the OGC-SFS model, as well as models which allow ring self-intersection at single points)
Checks that a geomgraph::GeometryGraph representing an area (a geom::Polygon or geom::MultiPolygon) has consistent semantics for area geometries. This check is required for any reasonable polygonal model (including the OGC-SFS model, as well as models which allow ring self-intersection at single points)
Compares the prepared geometry to the given geometry and the provided DE9IM pattern, and returns true if the pattern is consistent with the relationship between the prepared and provided geometries. More...
+
Detailed Description
An interface for classes which prepare Geometrys in order to optimize the performance of repeated calls to specific geometric operations.
Compares the prepared geometry to the given geometry and the provided DE9IM pattern, and returns true if the pattern is consistent with the relationship between the prepared and provided geometries.
Determines the location for a point which is known to lie on at least one edge of a set of polygons. This provides the union-semantics for determining point location in a GeometryCollection, which may have polygons with adjacent edges which are effectively in the interior of the geometry. Note that it is also possible to have adjacent edges which lie on the boundary of the geometry (e.g. a polygon contained within another polygon with adjacent edges).
NodeSection(bool isA, int dim, int id, int ringId, const Geometry *poly, bool isNodeAtVertex, const CoordinateXY *v0, const CoordinateXY nodePt, const CoordinateXY *v1) (defined in geos::operation::relateng::NodeSection)
Represents a computed node along with the incident edges on either side of it (if they exist). This captures the information about a node in a geometry component required to determine the component's contribution to the node topology. A node in an area geometry always has edges on both sides of the node. A node in a linear geometry may have one or other incident edge missing, if the node occurs at an endpoint of the line. The edges of an area node are assumed to be provided with CW-shell orientation (as per JTS norm). This must be enforced by the caller.
Converts the node sections at a polygon node where a shell and one or more holes touch, or two or more holes touch. This converts the node topological structure from the OGC "touching-rings" (AKA "minimal-ring") model to the equivalent "self-touch" (AKA "inverted/exverted ring" or "maximal ring") model. In the "self-touch" model the converted NodeSection corners enclose areas which all lies inside the polygon (i.e. they does not enclose hole edges). This allows RelateNode to use simple area-additive semantics for adding edges and propagating edge locations.
+
The input node sections are assumed to have canonical orientation (CW shells and CCW holes). The arrangement of shells and holes must be topologically valid. Specifically, the node sections must not cross or be collinear.
+
This supports multiple shell-shell touches (including ones containing holes), and hole-hole touches, This generalizes the relate algorithm to support both the OGC model and the self-touch model.
Computes the value of topological predicates between two geometries based on the Dimensionally-Extended 9-Intersection Model https://en.wikipedia.org/wiki/DE-9IM (DE-9IM). Standard and custom topological predicates are provided by RelatePredicate.
+
The RelateNG algorithm has the following capabilities:
Locates a point on a geometry, including mixed-type collections. The dimension of the containing geometry element is also determined. GeometryCollections are handled with union semantics; i.e. the location of a point is that location of that point on the union of the elements of the collection.
+
Union semantics for GeometryCollections has the following behaviours:
+
+
For a mixed-dimension (heterogeneous) collection a point may lie on two geometry elements with different dimensions. In this case the location on the largest-dimension element is reported.
+
For a collection with overlapping or adjacent polygons, points on polygon element boundaries may lie in the effective interior of the collection geometry.
+
+
Prepared mode is supported via cached spatial indexes.
int geos::operation::relateng::RelatePointLocator::locateWithDim
+
(
+
const CoordinateXY *
+
p
)
+
+
+
+
+
Computes the topological location ( Location) of a single point in a Geometry, as well as the dimension of the geometry element the point is located in (if not in the Exterior). It handles both single-element and multi-element Geometries. The algorithm for multi-part Geometries takes into account the SFS Boundary Determination Rule.
+
Parameters
+
+
p
the point to locate
+
+
+
+
Returns
the Location of the point relative to the input Geometry
+
+
+
+The documentation for this class was generated from the following file:
Use a GEOSPreparedGeometry do a high performance calculation of the DE9IM relationship between the prepared and provided geometry, and compare that relationship to the provided DE9IM, returning true if the patterns are consistent and false otherwise.
An interface for rules which determine whether node points which are in boundaries of lineal geometry components are in the boundary of the parent geometry collection
Checks that a geomgraph::GeometryGraph representing an area (a geom::Polygon or geom::MultiPolygon) has consistent semantics for area geometries. This check is required for any reasonable polygonal model (including the OGC-SFS model, as well as models which allow ring self-intersection at single points)
A utility class which creates Delaunay Triangulations from collections of points and extract the resulting triangulation edges or triangles as geometries
Find two points on two geom::Geometrys which lie within a given distance, or else are the nearest points on the geometries (in which case this also provides the distance between the geometries)
A ConnectedElementPointFilter extracts a single point from each connected element in a Geometry (e.g. a polygon, linestring or point) and returns them in a list. Empty geometries do not provide a location item
Reduces the precision of a geom::Geometry according to the supplied geom::PrecisionModel, ensuring that the result is valid (unless specified otherwise)
Unions MultiPolygons efficiently by using full topological union only for polygons which may overlap by virtue of intersecting the common area of the inputs
Represents a planar graph of edges that can be used to compute a polygonization, and implements the algorithms to compute the EdgeRings formed by the graph
A base class containing the logic for computes the contains and covers spatial relationship predicates for a PreparedPolygon relative to all other Geometry classes
An interface for classes which locate an edge in a QuadEdgeSubdivision which either contains a given Vertex V or is an edge of a triangle which contains V
A RightmostEdgeFinder find the geomgraph::DirectedEdge in a list which has the highest coordinate, and which is oriented L to R at that point. (I.e. the right side is on the RHS of the edge.)
A Quadtree is a spatial index structure for efficient querying of 2D rectangles. If other kinds of spatial objects need to be indexed they can be represented by their envelopes
Simplifies a TaggedLineString, preserving topology (in the sense that no new intersections are introduced). Uses the recursive Douglas-Peucker algorithm
An interface for rules which determine whether node points which are in boundaries of lineal geometry components are in the boundary of the parent geometry collection
Checks that a geomgraph::GeometryGraph representing an area (a geom::Polygon or geom::MultiPolygon) has consistent semantics for area geometries. This check is required for any reasonable polygonal model (including the OGC-SFS model, as well as models which allow ring self-intersection at single points)
A utility class which creates Delaunay Triangulations from collections of points and extract the resulting triangulation edges or triangles as geometries
Find two points on two geom::Geometrys which lie within a given distance, or else are the nearest points on the geometries (in which case this also provides the distance between the geometries)
A ConnectedElementPointFilter extracts a single point from each connected element in a Geometry (e.g. a polygon, linestring or point) and returns them in a list. Empty geometries do not provide a location item
Reduces the precision of a geom::Geometry according to the supplied geom::PrecisionModel, ensuring that the result is valid (unless specified otherwise)
Unions MultiPolygons efficiently by using full topological union only for polygons which may overlap by virtue of intersecting the common area of the inputs
Represents a planar graph of edges that can be used to compute a polygonization, and implements the algorithms to compute the EdgeRings formed by the graph
A base class containing the logic for computes the contains and covers spatial relationship predicates for a PreparedPolygon relative to all other Geometry classes
An interface for classes which locate an edge in a QuadEdgeSubdivision which either contains a given Vertex V or is an edge of a triangle which contains V
A RightmostEdgeFinder find the geomgraph::DirectedEdge in a list which has the highest coordinate, and which is oriented L to R at that point. (I.e. the right side is on the RHS of the edge.)
A Quadtree is a spatial index structure for efficient querying of 2D rectangles. If other kinds of spatial objects need to be indexed they can be represented by their envelopes
Simplifies a TaggedLineString, preserving topology (in the sense that no new intersections are introduced). Uses the recursive Douglas-Peucker algorithm
Checks that a geomgraph::GeometryGraph representing an area (a geom::Polygon or geom::MultiPolygon) has consistent semantics for area geometries. This check is required for any reasonable polygonal model (including the OGC-SFS model, as well as models which allow ring self-intersection at single points)
Checks that a geomgraph::GeometryGraph representing an area (a geom::Polygon or geom::MultiPolygon) has consistent semantics for area geometries. This check is required for any reasonable polygonal model (including the OGC-SFS model, as well as models which allow ring self-intersection at single points)