![]() |
|
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
The set of geometry types proposed by OGC's SQL with Geometry Types environment is based on the OpenGIS Geometry Model. In this model, each geometric object has the following general properties:
The geometry classes define a hierarchy as follows:
Geometry (non-instantiable)
Point (instantiable)
Curve (non-instantiable)
LineString (instantiable)
Line
LinearRing
Surface (non-instantiable)
Polygon (instantiable)
GeometryCollection (instantiable)
MultiPoint (instantiable)
MultiCurve (non-instantiable)
MultiLineString (instantiable)
MultiSurface (non-instantiable)
MultiPolygon (instantiable)
Some of these classes are abstract (non-instantiable). That is, it is not possible to create an object of these classes. Other classes are instantiable and objects may be created of them. Each class has properties and instantiable classes may have assertions (rules that define valid class instances).
Geometry is the base class. It's an abstract class.
The instantiable subclasses of Geometry are restricted to zero-, one-,
and two-dimensional geometric objects that exist in
two-dimensional coordinate space. All instantiable geometry classes are
defined so that valid instances of a geometry class are topologically closed
(that is, all defined geometries include their boundary).
The base Geometry class has subclasses for Point,
Curve, Surface and GeometryCollection:
Point represents zero-dimensional objects.
Curve represents one-dimensional objects, and has subclass
LineString, with sub-subclasses Line and LinearRing.
Surface is designed for two-dimensional objects and
has subclass Polygon.
GeometryCollection
has specialised zero-, one-, and two-dimensional collection classes named
MultiPoint, MultiLineString, and MultiPolygon
for modelling geometries corresponding to collections of
Points, LineStrings, and Polygons, respectively.
MultiCurve and MultiSurface are introduced as abstract superclasses
that generalise the collection interfaces to handle Curves and Surfaces.
Geometry, Curve, Surface, MultiCurve,
and MultiSurface are defined as non-instantiable classes.
They define a common set of methods for their subclasses and
are included for the reason of extensibility.
Point, LineString, Polygon, GeometryCollection,
MultiPoint, MultiLineString, and
MultiPolygon are instantiable classes.
Geometry Geometry is the root class of the hierarchy. It is a
non-instantiable class but has a number of properties that are common to
all geometry values created from any of the Geometry subclasses.
These properties are described in the following list. (Particular
subclasses have their own specific properties, described later.)
A geometry value has the following properties:
Coordinates are related to the SRID. For example, in different coordinate systems, the distance between two objects may differ even when objects have the same coordinates, because the distance on the planar coordinate system and the distance on the geocentric system (coordinates on the Earth's surface) are different things.
((MINX MINY, MAXX MINY, MAXX MAXY, MINX MAXY, MINX MINY)) |
LineString, MultiPoint,
MultiLineString)
are either simple of non-simple. Each type determines its own assertions
for being simple or non-simple.
LineString, MultiString) are
either closed
or not closed. Each type determines its own assertions for being closed
or not closed.
NULL value).
An empty geometry is defined to be always simple and has an area of 0.
Point objects have a dimension of zero. LineString
objects have a dimension of 1. Polygon objects have a
dimension of 2. The dimensions of MultiPoint,
MultiLineString, and MultiPolygon objects are the
same as the dimensions of the elements they consist of.
Point A Point is a geometry that represents a single
location in coordinate space.
Point Examples Point Properties Point is defined as a zero-dimensional geometry.
Point is the empty set.
Curve A Curve is a one-dimensional geometry, usually represented by a sequence
of points. Particular subclasses of Curve define the type of
interpolation between points. Curve is a non-instantiable class.
Curve Properties Curve is defined as one-dimensional geometry.
Curve is simple if it does not pass through the same point twice.
Curve is closed if its start point is equal to its end point.
Curve is empty.
Curve consists of its two end points.
Curve that is simple and closed is a LinearRing.
LineString A LineString is a Curve with linear interpolation between points.
LineString Examples LineString objects could represent rivers.
LineString objects could represent streets.
LineString Properties LineString segments, defined by each consecutive pair of points.
LineString is a Line if it consists of exactly two points.
LineString is a LinearRing if it's both closed and simple.
Surface A Surface is a two-dimensional geometry. It is a non-instantiable
class. Its only instantiable subclass is Polygon.
Surface Properties Surface is defined as a two-dimensional geometry.
Surface as a geometry that
consists of a single "patch" that is associated with a single exterior
boundary and zero or more interior boundaries.
Surface is the set of closed curves
corresponding to its exterior and interior boundaries.
Polygon A Polygon is a planar Surface representing a multisided
geometry. It is defined by a single exterior boundary and zero or more
interior boundaries, where
each interior boundary defines a hole in the Polygon.
Polygon Examples Polygon objects could represent forests, districts, etc.
Polygon Assertions Polygon consists of a set of LinearRings
(that is, LineStrings that are both simple and closed) that make up its
exterior and interior boundaries.
Polygon may intersect at a Point, but only as a tangent.
Polygon may not have cut lines, spikes, or punctures.
Polygon is a connected point set.
Polygon with one or more holes is not connected.
Each hole defines a connected component of the exterior.
In the above assertions, polygons are simple geometries. These assertions make
a Polygon a simple geometry.
GeometryCollection A GeometryCollection is a geometry that is a collection of one or more
geometries of any class.
All the elements in a GeometryCollection must be in
the same Spatial Reference System (that is, in the same coordinate system).
GeometryCollection places no other constraints on its elements,
although the
subclasses of GeometryCollection described in the following sections
may restrict membership. Retrictions may be based on:
MultiPoint may contain only Point
elements)
MultiPoint A MultiPoint is a geometry collection composed of
Point elements. The points are not connected or ordered
in any way.
MultiPoint Examples Multipoint could represent a chain of small islands.
Multipoint could represent the outlets for a ticket
office.
MultiPoint Properties MultiPoint is defined as a zero-dimensional geometry.
MultiPoint is simple if no two of its Point values are
equal (have identical coordinate values).
MultiPoint is the empty set.
MultiCurve A MultiCurve is a geometry collection composed of
Curve elements. MultiCurve is a non-instantiable class.
MultiCurve Properties MultiCurve is defined as a one-dimensional geometry.
MultiCurve is simple if and only if all of its elements are simple,
the only intersections between any two elements occur at points that are
on the boundaries of both elements.
MultiCurve is obtained by applying the "mod 2 union
rule" (also known as the odd-even rule):
A point is in the boundary of a MultiCurve if it is in the
boundaries of an odd number of MultiCurve elements.
MultiCurve is closed if all of its elements are closed.
MultiCurve is always empty.
MultiLineString A MultiLineString is a MultiCurve geometry collection composed
of LineString elements.
MultiLineString Examples MultiLineString could represent a river system or
a highway system.
MultiSurface A MultiSurface is a geometry collection composed of surface elements.
MultiSurface is a non-instantiable class. Its only instantiable
subclass is MultiPolygon.
MultiSurface Assertions MultiSurface may not intersect.
MultiSurface may
intersect at most at a finite number of points.
MultiPolygon A MultiPolygon is a MultiSurface object composed of
Polygon elements.
MultiPolygon Examples MultiPolygon could represent a system of lakes.
MultiPolygon Assertions Polygon values that are elements of a
MultiPolygon may not intersect.
Polygon values that are elements of a
MultiPolygon may
not cross and may touch at only a finite number of points.
(Crossing is also forbidden by the preceding assertion.)
MultiPolygon may not have cut lines, spikes or punctures. A
MultiPolygon is a regular, closed point set.
MultiPolygon composed of more than one Polygon
is not connected. The number of connected components of the interior
of a MultiPolygon is equal to the number of Polygon values in
the MultiPolygon.
MultiPolygon Properties MultiPolygon is defined as a two-dimensional geometry.
MultiPolygon is a set of closed curves
(LineString values) corresponding to the boundaries of its
Polygon elements.
Curve in the boundary of the MultiPolygon is in the
boundary of exactly one element Polygon.
Curve in the boundary of an element Polygon is
in the boundary of the MultiPolygon.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] |
Hosting by: Hurra Communications Ltd.
Generated: 2007-01-26 17:58:46