Namespace NetTopologySuite.Operation.Overlay
Contains classes that perform a topological overlay to compute boolean spatial functions.
The Overlay Algorithm is used in spatial analysis methods for computing set-theoretic operations (boolean combinations) of input Geometries. The algorithm for computing the overlay uses the intersection operations supported by topology graphs. To compute an overlay it is necessary to explicitly compute the resultant graph formed by the computed intersections.
The algorithm to compute a set-theoretic spatial analysis method has the following steps:
- Build topology graphs of the two input geometries. For each geometry all self-intersection nodes are computed and added to the graph.
- Compute nodes for all intersections between edges and nodes of the graphs.
- Compute the labeling for the computed nodes by merging the labels from the input graphs.
- Compute new edges between the compute intersection nodes. Label the edges appropriately.
- Build the resultant graph from the new nodes and edges.
- Compute the labeling for isolated components of the graph. Add the isolated components to the resultant graph.
- Compute the result of the boolean combination by selecting the node and edges with the appropriate labels. Polygonize areas and sew linear geometries together.
Package Specification
- Java Topology Suite Technical Specifications
- OpenGIS Simple Features Specification for SQL
Classes
EdgeSetNoder
Nodes a set of edges. Takes one or more sets of edges and constructs a new set of edges consisting of all the split edges created by noding the input edges together.
LineBuilder
Forms NTS LineStrings out of a the graph of DirectedEdge
s
created by an OverlayOp
.
MaximalEdgeRing
A ring of edges which may contain nodes of degree > 2.
A MaximalEdgeRing may represent two different spatial entities:
a single polygon possibly containing inversions (if the ring is oriented CW)
a single hole possibly containing exversions (if the ring is oriented CCW)
If the MaximalEdgeRing represents a polygon,
the interior of the polygon is strongly connected.
These are the form of rings used to define polygons under some spatial data models.
However, under the OGC SFS model, MinimalEdgeRings are required.
A MaximalEdgeRing can be converted to a list of MinimalEdgeRings using the
BuildMinimalRings()
method.
MinimalEdgeRing
A ring of edges with the property that no node has degree greater than 2. These are the form of rings required to represent polygons under the OGC SFS spatial data model.
OverlayNodeFactory
Creates nodes for use in the PlanarGraph
s constructed during
overlay operations.
OverlayOp
Computes the geometric overlay of two Geometrys. The overlay can be used to determine any bool combination of the geometries.
PointBuilder
Constructs Point
s from the nodes of an overlay graph.
PolygonBuilder
Forms Polygon
s out of a graph of {DirectedEdge}s.
The edges to use are marked as being in the result Area.
Enums
SpatialFunction
The spatial functions supported by this class. These operations implement various bool combinations of the resultants of the overlay.