Search Results for

    Show / Hide Table of Contents

    Namespace NetTopologySuite.GeometriesGraph

    Contains classes that implement topology graphs.

    The Net Topology Suite (NTS) is a .Net API that implements a core set of spatial data operations using an explicit precision model and robust geometric algorithms. NTS is intended to be used in the development of applications that support the validation, cleaning, integration and querying of spatial datasets.

    NTS attempts to implement the OpenGIS Simple Features Specification (SFS) as accurately as possible. In some cases the SFS is unclear or omits a specification; in this case NTS attempts to choose a reasonable and consistent alternative. Differences from and elaborations of the SFS are documented in this specification.

    Classes

    Depth

    A Depth object records the topological depth of the sides of an Edge for up to two Geometries.

    DirectedEdge

    DirectedEdgeStar

    A DirectedEdgeStar is an ordered list of outgoing DirectedEdges around a node. It supports labelling the edges as well as linking the edges to form both MaximalEdgeRings and MinimalEdgeRings.

    Edge

    EdgeEnd

    Models the end of an edge incident on a node.

    EdgeEndStar

    A EdgeEndStar is an ordered list of EdgeEnds around a node. They are maintained in CCW order (starting with the positive x-axis) around the node for efficient lookup and topology building.

    EdgeIntersection

    An EdgeIntersection represents a point on an edge which intersects with another edge. The intersection may either be a single point, or a line segment (in which case this point is the start of the line segment) The label attached to this intersection point applies to the edge from this point forwards, until the next intersection or the end of the edge. The intersection point must be precise.

    EdgeIntersectionList

    A list of edge intersections along an Edge.

    EdgeList

    A EdgeList is a list of Edges. It supports locating edges that are point-wise equals to a target edge.

    EdgeNodingValidator

    Validates that a collection of Edge is correctly noded. Throws an appropriate exception if an noding error is found. Uses FastNodingValidator to perform the validation.

    EdgeRing

    GeometryGraph

    A GeometryGraph is a graph that models a given Geometry.

    GraphComponent

    A GraphComponent is the parent class for the objects' that form a graph. Each GraphComponent can carry a Label.

    Label

    A Label indicates the topological relationship of a component of a topology graph to a given Geometry. This class supports labels for relationships to two Geometrys, which is sufficient for algorithms for binary operations. Topology graphs support the concept of labeling nodes and edges in the graph. The label of a node or edge specifies its topological relationship to one or more geometries. (In fact, since NTS operations have only two arguments labels are required for only two geometries). A label for a node or edge has one or two elements, depending on whether the node or edge occurs in one or both of the input Geometrys. Elements contain attributes which categorize the topological location of the node or edge relative to the parent Geometry; that is, whether the node or edge is in the interior, boundary or exterior of the Geometry. Attributes have a value from the set {Interior, Boundary, Exterior}. In a node each element has a single attribute On. For an edge each element has a triplet of attributes Left, On, Right. It is up to the client code to associate the 0 and 1 TopologyLocations with specific geometries.

    Node

    NodeFactory

    A Factory to create Nodes.

    NodeMap

    A map of nodes, indexed by the coordinate of the node.

    PlanarGraph

    The computation of the IntersectionMatrix relies on the use of a structure called a "topology graph". The topology graph contains nodes and edges corresponding to the nodes and line segments of a Geometry. Each node and edge in the graph is labeled with its topological location relative to the source point. Note that there is no requirement that points of self-intersection be a vertex. Thus to obtain a correct topology graph, Geometrys must be self-noded before constructing their graphs. Two fundamental operations are supported by topology graphs: Computing the intersections between all the edges and nodes of a single graph Computing the intersections between the edges and nodes of two different graphs

    Position

    A Position indicates the position of a Location relative to a graph component (Node, Edge, or Area).

    QuadrantOp

    Utility functions for working with quadrants, which are numbered as follows:

    1 | 0 --+-- 2 | 3

    TopologyLocation

    A TopologyLocation is the labelling of a GraphComponent's topological relationship to a single Geometry.

    Enums

    Positions

    • Edit this page
    In this article
    Back to top Generated by DocFX