Namespace NetTopologySuite.Geometries
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 andmeasures
= 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 coordinatesx
andy
is less than or equal to a tolerance value.
- 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 andmeasures
= 1.
- CoordinateSequenceComparator
Compares two CoordinateSequences.
- 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 andmeasures
= 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 andmeasures
= 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 aGeometryCollection
. Implements a pre-order depth-first traversal of theGeometryCollection
(which may be nested). The originalGeometryCollection
is returned as well (as the first object), as are all sub-collections. It is simple to ignore theGeometryCollection
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
- IntersectionMatrix
Models a Dimensionally Extended Nine-Intersection Model (DE-9IM) matrix.
- LineSegment
Represents a line segment defined by two
Coordinate
s. 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 ofCoordinate
s.
- 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 ofLineString
s is a validMultiLineString
.
- MultiPoint
Models a collection of
Point
s.
- 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.
APoint
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
- The coordinate which defines it if any) is a valid coordinate
(i.e. does not have an
- 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. APolygon
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
Coordinate
s in aGeometry
. In other words, specifies the grid of allowable points for aGeometry
. 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
For maximum efficiency, the execution of filters can be short-circuited by using the Done property.CoordinateSequenceFilter
to each CoordinateSequences they contain.
- 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 anIGeometryComponentFilter
filter to theGeometry
.
- IGeometryFilter
GeometryCollection
classes support the concept of applying aIGeometryFilter
to theGeometry
. The filter is applied to every elementGeometry
. AIGeometryFilter
can either record information about theGeometry
or change theGeometry
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 aDimension
of Curve and have components which are LineStrings.
- IPolygonal
Interface to identify all
Geometry
subclasses that have aDimension
of Surface and have components that are Polygons.
- IPuntal
Interface to identify all
Geometry
subclasses that have aDimension
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
Delegates
- FilterMethod
Delegate function declaration to handle filter operation