Geotools.Net

Geometry Class

A set of points.

For a list of all members of this type, see Geometry Members.

System.Object
   Geometry

[Visual Basic]
MustInherit Public Class Geometry
Implements IGeometry, IComparable
[C#]
public abstract class Geometry : IGeometry, IComparable

Remarks

The spatial relationship predicates (like disjoint) are based on the Dimensionally Extended Nine-Intersection Model (DE-9IM). For a description of the DE-9IM, see the OpenGIS Simple Features Specification (SFS) for SQL

A Precision Model object is a member of every Geometry object

.

The SFS specifies that objects of each Geometry subclass may be empty. It is sometimes necessary to construct a generic empty object of class Geometry (e.g. if the exact type of the Geometry to be returned is not known). The SFS does not define a specific class or object to represent a generic empty Geometry. JTS uses the convention that an empty GeometryCollection will be returned.

Binary Predicates

The binary predicates can be completely specified in terms of an IntersectionMatrix pattern. In fact, their implementation is simply a call to relate with the appropriate pattern.

It is important to note that binary predicates are topological operations rather than pointwise operations. Even for apparently straightforward predicates such as equals topoloty, it is easy to find cases where a pointwise comparison does not produce the same result as a topological comparison. (for instance: A and B are MultiPoints with the same point repeated different numbers of times; A is a LineString with two collinear line segments and B is a single line segment with the same start and endpoints). The algorithm used for the relate method is a topology-based algorithm which produces a topologically correct result.

As in the SFS, the term P is used to refer to 0-dimensional Geometrys (Point and MultiPoint), L to 1-dimensional Geometrys ( LineString, and MultiLineString ), and A to 2-dimensional Geometrys (Polygon and MultiPolygon). The dimension of a GeometryCollection is equal to the maximum dimension of its components.

In the SFS some binary predicates are stated to be undefined for some combinations of dimensions (e.g. touches is undefined for P /P ). In the interests of simplifying the API, combinations of argument Geometrys which are not in the domain of a predicate will return false (e.g. touches(Point, Point) => false).

If either argument to a predicate is an empty Geometry the predicate will return false.

Set-Theoretic Methods

For certain inputs, the difference and symDifference methods may compute non-closed sets. This can happen when the arguments overlap and have different dimensions. Since JTS Geometry objects can represent only closed sets, the spatial analysis methods are specified to return the closure of the point-set-theoretic result.

Requirements

Namespace: Geotools.Geometries Namespace

Assembly: Geotools.dll

See Also

Geometry Members | Geotools.Geometries Namespace