Search Results for

    Show / Hide Table of Contents

    Namespace NetTopologySuite.Geometries

    Contains the Geometry class hierarchy.

    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.
    It is a direct port of the popular Java Topology Suite (JTS).

    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.

    Package Specification

    • Java Topology Suite Technical Specifications
    • OpenGIS Simple Features Specification for SQL

    Classes

    Coordinate

    A lightweight class used to store coordinates on the 2-dimensional Cartesian plane.

    The base data object is suitable for use with coordinate sequences with dimension = 2 and measures = 0.

    CoordinateArrays

    Useful utility functions for handling Coordinate arrays.

    CoordinateArrays.BidirectionalComparator

    A comparator for Coordinate arrays modulo their directionality. E.g. if two coordinate arrays are identical but reversed they will compare as equal under this ordering. If the arrays are not equal, the ordering returned is the ordering in the forward direction.

    CoordinateArrays.ForwardComparator

    Compares two Coordinate arrays in the forward direction of their coordinates, using lexicographic ordering.

    CoordinateEqualityComparer

    A class that can be used to test coordinates for equality.

    It uses the algorithm that was default for NTS prior to v2.2, i.e. checks if the 2d distance between coordinates x and y is less than or equal to a tolerance value.

    CoordinateFilter

    An implementation of ICoordinateFilter that delegates the filter action to a provided method.

    CoordinateList

    A list of Coordinates, which may be set to prevent repeated coordinates from occurring in the list.

    CoordinateM

    A lightweight class used to store coordinates on the 2-dimensional Cartesian plane and an additional measure (M) value.

    This data object is suitable for use with coordinate sequences with dimension = 3 and measures = 1.

    CoordinateSequence

    CoordinateSequenceComparator

    Compares two CoordinateSequences.

    CoordinateSequenceEx

    CoordinateSequenceFactory

    An object that knows how to build a particular implementation of CoordinateSequence from an array of Coordinates.

    CoordinateSequences

    Utility functions for manipulating CoordinateSequences.

    CoordinateZ

    A lightweight class used to store coordinates on the 2-dimensional Cartesian plane and an additional z-ordinate (Z) value.

    This base data object is suitable for use with coordinate sequences with dimension = 3 and measures = 0.

    CoordinateZM

    A lightweight class used to store coordinates on the 2-dimensional Cartesian plane and additional z- and m-ordinate values (Z, M).

    This data object is suitable for use with coordinate sequences with dimension = 4 and measures = 1.

    Coordinates

    Useful utility functions for handling Coordinate objects.

    DimensionUtility

    Class containing static methods for conversions between dimension values and characters.

    Envelope

    Defines a rectangular region of the 2D coordinate plane.

    Geometry

    A representation of a planar, linear vector geometry.

    GeometryCollection

    Basic implementation of GeometryCollection.

    GeometryCollectionEnumerator

    Iterates over all Geometry's in a GeometryCollection. Implements a pre-order depth-first traversal of the GeometryCollection (which may be nested). The original GeometryCollection is returned as well (as the first object), as are all sub-collections. It is simple to ignore the GeometryCollection objects if they are not needed.

    GeometryComponentFilter

    An IGeometryComponentFilter implementation that applies filtering with the provided FilterMethod

    GeometryFactory

    Supplies a set of utility methods for building Geometry objects from lists of Coordinates.

    GeometryFactoryEx

    An extended GeometryFactory that is capable of enforcing a ring orientation for polygons.

    GeometryOverlay

    A class that encapsulates geometry overlay functionality

    GeometryRelate

    Class which provides the available Relate operations for NtsGeometryServices.

    IntersectionMatrix

    Models a Dimensionally Extended Nine-Intersection Model (DE-9IM) matrix.

    LineSegment

    Represents a line segment defined by two Coordinates. Provides methods to compute various geometric properties and relationships of line segments. This class is designed to be easily mutable (to the extent of having its contained points public). This supports a common pattern of reusing a single LineSegment object as a way of computing segment properties on the segments defined by arrays or lists of Coordinates.

    LineString

    Models an OGC-style LineString

    LinearRing

    Models an OGC SFS LinearRing.

    LocationUtility

    Utility class for Location enumeration

    MultiLineString

    Models a collection of LineStrings.

    Any collection of LineStrings is a valid MultiLineString.

    MultiPoint

    Models a collection of Points.

    MultiPolygon

    Basic implementation of MultiPolygon.

    OctagonalEnvelope

    A bounding container for a Geometry which is in the shape of a general octagon.

    OgcCompliantGeometryFactory

    OGC compliant geometry factory

    OrdinatesUtility

    Static utility functions for dealing with Ordinates and dimension

    PerOrdinateEqualityComparer

    A class that can be used to test coordinates for equality.

    This class test for each ordinate if the distance is less than a tolerance value.

    Point

    Represents a single point.

    A Point is topologically valid if and only if:
    • The coordinate which defines it if any) is a valid coordinate (i.e. does not have an NaN X- or Y-ordinate

    Polygon

    Represents a polygon with linear edges, which may include holes. The outer boundary (shell) and inner boundaries (holes) of the polygon are represented by {@link LinearRing}s. The boundary rings of the polygon may have any orientation. Polygons are closed, simple geometries by definition.

    The polygon model conforms to the assertions specified in the OpenGIS Simple Features Specification for SQL.

    A Polygon is topologically valid if and only if:
    • the coordinates which define it are valid coordinates
    • the linear rings for the shell and holes are valid (i.e. are closed and do not self-intersect)
    • holes touch the shell or another hole at at most one point (which implies that the rings of the shell and holes must not cross)
    • the interior of the polygon is connected, or equivalently no sequence of touching holes makes the interior of the polygon disconnected (i.e. effectively split the polygon into two pieces).

    PrecisionModel

    Specifies the precision model of the Coordinates in a Geometry. In other words, specifies the grid of allowable points for a Geometry. A precision model may befloating (Floating or FloatingSingle), in which case normal floating-point value semantics apply.

    TopologyException

    Indicates an invalid or inconsistent topological situation encountered during processing

    Triangle

    Represents a planar triangle, and provides methods for calculating various properties of triangles.

    Structs

    Position

    Indicates the position of a location relative to a node or edge component of a planar topological structure.

    Quadrant

    Quadrant values

    Interfaces

    IBoundable<T, TItem>

    A spatial object in an AbstractSTRtree.

    ICoordinateFilter

    An interface for classes which use the values of the coordinates in a Geometry. Coordinate filters can be used to implement centroid and envelope computation, and many other functions.

    ICoordinateFilter is an example of the Gang-of-Four Visitor pattern.

    Note: it is not recommended to use these filters to mutate the coordinates. There is no guarantee that the coordinate is the actual object stored in the source geometry. In particular, modified values may not be preserved if the source Geometry uses a non-default CoordinateSequence. If in-place mutation is required, use ICoordinateSequenceFilter.

    ICoordinateSequenceFilter

    An interface for classes which process the coordinates in a CoordinateSequence. A filter can either record information about each coordinate, or change the value of the coordinate. Filters can be used to implement operations such as coordinate transformations, centroid and envelope computation, and many other functions. Geometry classes support the concept of applying a CoordinateSequenceFilter to each CoordinateSequences they contain.

    For maximum efficiency, the execution of filters can be short-circuited by using the Done property.

    IEntireCoordinateSequenceFilter

    A variant of ICoordinateSequenceFilter, except it receives each CoordinateSequence just once, instead of once for each of its coordinates.

    IExpandable<T>

    Interface describing objects that can expand themselves by objects of type T.

    IGeometryComponentFilter

    Geometry classes support the concept of applying an IGeometryComponentFilter filter to a geometry.

    IGeometryFilter

    GeometryCollection classes support the concept of applying a IGeometryFilter to the Geometry. The filter is applied to every element Geometry. A IGeometryFilter can either record information about the Geometry or change the Geometry in some way. IGeometryFilter is an example of the Gang-of-Four Visitor pattern.

    IIntersectable<T>

    Interface describing objects that can perform an intersects predicate with T objects.

    ILineal

    Interface to identify all Geometry subclasses that have a Dimension of Curve and have components which are LineStrings.

    IPolygonal

    Interface to identify all Geometry subclasses that have a Dimension of Surface and have components that are Polygons.

    IPuntal

    Interface to identify all Geometry subclasses that have a Dimension of Point and have components that ar Points.

    Enums

    Dimension

    Provides constants representing the dimensions of a point, a curve and a surface.

    Geometry.SortIndexValue

    An enumeration of sort values for geometries

    LinearRingOrientation

    An enumeration of ring orientation values

    Location

    The location of a Coordinate relative to a Geometry

    OgcGeometryType

    Enumeration of OGC Geometry Types

    Ordinate

    Identifies the different well-supported components of coordinate values.

    All supported coordinates define values for at least the X and the Y components.

    The first 16 spatial and 16 measure dimensions may also be accessed this way.

    Ordinates

    Flags for Ordinate values

    PrecisionModels

    Delegates

    FilterMethod

    Delegate function declaration to handle filter operation

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