etherlands,
on
| objects and
yriate for the
ations of the
ch domains:
mainstream
ell. Many of
er discusses
of different
delling and
offered by
| to different
(ts, Le.:
sen different
w-resolution
'Sentations
ontext of an
sed in four
offered by
entations in
ing different
seneration of
e results of a
ts. The case
functions for
and outlines
PLE
S
eration GIS
data sets and
ion data are
xefore, the
yrt modelling
e also Stoter
International Archives of the Photogrammetry, Remote Sensing and Spatial Information Sciences, Vol XXXV, Part B4. Istanbul 2004
2.1 Geometrical model
das
Mainstream DBMSs (Oracle, IBM DB2, Informix and Ingres)
have implemented spatial data types and spatial operators (also
called ‘spatial functions’) more or less similar to the Simple
Features Specification for SQL of OGC (OGC, 1999). The
implementation consists of an SQL extension using Abstract
Data Types (ADTs) that supports storage, retrieval, query and
updating of simple spatial features (points, lines and polygons).
ADTs are used to be able to implement object-oriented
technology in relational DBMSs. The spatial features are stored
in geometrical primitives. Topological relationships between
geometries can be retrieved by the use of spatial operators (sce
section 2.2).
To speed up spatial querying, spatial indexes can be built on a
data set that is stored with geometrical primitives in the DBMS.
Most DBMSs support the R-tree and the Quad-tree spatial
index.
An important functionality that is supported in DBMSs, is
validation of spatial features with respect to the Oracle object-
relational model. Validation of spatial features checks if the
stored spatial features are valid, e.g. polygons should have an
area, outer boundaries of polygons should not be self-
intersecting, there should be no repeated points in the sequence
of coordinates etc. Validation is essential when supporting
multiple representations in DBMSs. For example when a
geometrical overlay is performed (see section 3 and 4), very
small polygons can be created which do not refer to objects in
reality. Using a validity function can check if the objects that
were created are valid. Invalid object can then be further
processed.
2.2 Spatial functions
Spatial functions when supporting multiple representations in
DBMSs are needed both for determining interrelationships
between different data sets and for deriving low-resolution data
sets.
The OGC Simple Feature Specification for SQL (OGC, 1999)
describes geometrical and topological functions that should be
supported at DBMS level as part of the implementation of the
geometrical primitive. Topological relationship operators
between two geometries are implemented with respect to the
nine-intersection model of Egenhofer. In the Egenhofer model
each spatial object has an interior, a boundary, and an exterior.
The boundary consists of points or lines that separate the
interior from the exterior. The boundary of a line consists of its
end points. The boundary of a polygon is the line that describes
its perimeter. The interior consists of points that are in the
object but not on its boundary, and the exterior consists of those
points that are not in the object. Some of the topological
relationships of the 9-intersection model have names associated
with them that specify the type of relationship, e.g. ‘inside’ and
‘coveredby’. ‘Inside’ returns true if the first object is entirely
within the second object and the object boundaries do not touch,
otherwise, ‘inside’ returns false. ‘Coveredby’ returns true if the
first object is entirely within the second object and the object
boundaries touch at one or more points, otherwise, ‘coveredby’
returns false.
In Ingres the support for topological relationships is minimal.
Oracle, IBM DB2, Informix and PostGIS support geometrical
and topological functions defined by OGC and often more
functions than these as reported in (Oosterom et al, 2002).
Oracle Spatial 9i is used to illustrate the possibilities of spatial
analysis using the geometrical primitive in DBMSs. Currently,
Oracle Spatial supports three groups of selection operations, i.e.
topological relationship operations, metric operations and
specialisation operations. The names of the operations slightly
223
differ from the ones suggested by OGC. In Oracle Spatial 9i all
the topological relationships are implemented using one
function (sdo geom.relate) or operator (sdo relate), where the
type of relationship is passed as a text string (see table 1, right
for the Oracle notations and table 1, left for the OGC notations).
The spatial operator requires and utilises a spatial index and is
therefore faster than the spatial function, which also work
without a spatial index.
OGC
Equals
Disjoint
Intersects
Oracle
equal
disjoint
anyinteract
Touches touch
Crosses overlapbdydisjoint
Within inside
contains
overlapbdyintersect
Coveredby. covers, on
Contains
Overlaps
Table 1: Topological operations in the DBMS
Besides the relationship operations, many metric and
specialisation operations are proposed by OGC that can take
one (unary operations) or two geometries (binary operations), or
other parameters (e.g. buffer size) and calculate new values or
new geometries. The most important of them together with their
Oracle equivalents are given in table 2.
OGC
Unary metric operations
Area sio area
Length sdo length
Unary specialisation operations
Buffer sdo buffer
Centroid sdo geomcentroid
Boundary sdo mbr
Convexhull sdo convexhull
Binary metric operations
Distance sdo distance
Binary specialisation cperations
Intersection sdo intersection
Union sdo union
Difference sdo difference
Symdifference sdo xor
Table 2: Metric and specialisation operation in the DBMS
Another class of spatial operations in Oracle Spatial returns an
aggregate of a collection of geometries. These are not defined
within the OGC (see table 3).
Returns the centroid
of the specified objects.
SDO AGGR CENTROID:
(geometric object)
SDO AGGR CONVEXHULL: Returns the convex hull
of the specified objects.
SDO AGGR MBR: Returns the minimum
rectangle of the specified objects.
bounding
SDO AGGR UNION:
(OR operation)
Returns the topological union
of the specified objects.
ggregate functions in Oracle Spatial 91.
—
Table 3: Examples of a