Topological Relationships between Complex Spatial Objects
Markus Schneider Thomas Behr
University of Florida FemrUniversitat Hagen,
Department of Computer & Praktische Informatik IV
Information Science & Engineering D-58084 Hagen, Germany
Gainesville, FL 32611, USA thomas.behr@fernuni-hagen.de
mschneid@cise.ufl.edu
Abstract
For a long time topological relationships between spatial objects have been a focus of research in a
number of disciplines like artificial intelligence, cognitive science, linguistics, robotics, and spatial
reasoning. Especially as predicates they support the design of suitable query languages for spatial
data retrieval and analysis in spatial databases and geographical information systems (GIS). Unfor-
tunately, they have so far only been defined for and applicable to simplified abstractions of spatial
objects like single points, continuous lines, and simple regions. With the introduction of complex
spatial data types an issue arises regarding the design, definition, and number of topological relation-
ships operating on these complex types. This paper closes this gap and first introduces definitions
of general and versatile spatial data types for complex points, complex lines, and complex regions.
Based on the well known 9-intersection model, it then determines the complete sets of mutually
exclusive topological relationships for all type combinations. Completeness and mutual exclusion
are shown by a proof technique called proof-by-constraint-and-drawing. Due to the resulting large
numbers of predicates and the difficulty of handling them, the user is provided with the concepts of
topological cluster predicates and topological predicate clusters, which permit to reduce the number
of predicates to be dealt with in a user-defined and/or application-specific manner.
Key Words: Topological predicate, topological constraint rule, topological cluster predicate, topo-
logical predicate cluster, complex spatial data type, proof-by-constraint-and-drawing, 9-intersection
model
1 Introduction
In recent years, the exploration of topological relationships between objects in space has turned out to be
a multi-disciplinary research issue involving disciplines like artificial intelligence, CAD/CAM systems,
cognitive science, computer vision, geographical information science, image databases, linguistics, psy-
chology, robotics, spatial analysis, spatial database systems, and spatial reasoning. From a database and
GIS perspective, their development has been motivated by the necessity of formally defined topologi-
cal predicates as filter conditions for spatial selections and spatial joins in spatial query languages and
as a support for spatial data retrieval and analysis tasks, both at the user definition level for reasons of
conceptual clarity and at the query processing level for reasons of efficiency.
Topological relationships like overlap, inside, or meet describe purely qualitative properties that char-
acterize the relative positions of spatial objects and are preserved under continuous transformations such
as translation, rotation, and scaling. They deliberately exclude any consideration of quantitative, metric
measures like distance or direction measures and are associated with notions like adjacency, coincidence,
connectivity, inclusion, and continuity. Two important approaches for the definition of topological rela-
tionships are the 9-intersection model [13], which rests on point set theory and point set topology and
which we will take as the foundation of our paper, as well as the RCC model [8], which employs spatial
logic. Both models are essentially tailored to the treatment of simplified abstractions of spatial objects
like simple lines and simple regions. Simple lines are one-dimensional, continuous features embedded in
the plane with two end points, and simple regions are two-dimensional point sets topologically equivalent
to a closed disc. Single points have not found much interest, since their interrelations are trivial.
Unfortunately, these simple geometric structures are inadequate abstractions for real spatial appli-
cations since they are insufficient to cope with the variety and complexity of geographic reality. Thus,
universal and versatile type specifications are needed for (more) complex spatial objects that are usable in
many different applications. With regard to complex points, we allow finite collections of single points as
point objects (e.g., to gather the positions of all lighthouses in the U.S.). With regard to complex lines, we
permit arbitrary, finite collections of one-dimensional curves, i.e., spatially embedded networks possibly
consisting of several disjoint connected components, as line objects (e.g., to model the ramifications of
the Nile Delta). With regard to complex regions, the two main extensions relate to separations of the ex-
terior (holes) and to separations of the interior (multiple components). For example, countries (like Italy)
can be made up of multiple components (like the mainland and the offshore islands) and can have holes
(like the Vatican). From a formal point of view, spatial data types should be closed under the geometric
set operations union, intersection, and difference. This is not the case for the simple types and means
that such an operation applied to two point, two line, and two region objects, respectively, must yield a
well-defined object and may not leave the corresponding type definition. Hence, a first goal of this paper
is to introduce and formalize spatial data types for complex points, complex lines and complex regions.
The formal basis is provided by point set theory and point set topology.
With the increasing integration of complex spatial data types into GIS and into spatial extension
packages of commercial database systems, an issue arises regarding the design, definition, and number
of topological relationships operating on these complex types. Hence, a second goal of this paper is to
explore and derive the possible topological relationships between all combinations of complex spatial
data types on the basis of the well known 9-intersection model. For this purpose, we draw up collections
of constraints specifying conditions for valid topological relationships and satisfying the properties of
completeness and exclusiveness. The property of completeness ensures a full coverage of all topological
situations. The property of exclusiveness ensures that two different relationships cannot hold for the same
two spatial objects. Topological relationships between complex spatial objects are also interesting from a
simply theoretical point of view for the aforementioned disciplines and are important for an extension of
spatio-temporal predicates [20] from simple to complex spatio-temporal objects (moving objects) [27].
The resulting large numbers of predicates for each type combination make them difficult to handle
for the user. Hence, a third goal of this paper is to provide the user with the concepts of topological
cluster predicates and topological predicate clusters. These permit to reduce the number of predicates to
be dealt with in a user-defined and/or application-specific manner.
The remainder of the paper is organized as follows: Section 2 discusses related work regarding spatial
objects and topological relationships. Section 3 formalizes the spatial data model for which topological
relationships will be investigated. Section 4 explains the general strategy for deriving topological rela-
tionships from the 9-intersection model. In Section 5 all topological relationships between spatial objects
of the same type are analyzed. Section 6 deals with topological relationships between spatial objects of
different types. Section 7 introduces the concepts of topological cluster predicates and topological pred-
icate clusters and shows their possible specification by means of the DDL of a query language. Finally,
Section 8 draws some conclusions and discusses future work.
2 Related Work
In this section we discuss related work about spatial objects as the operands of topological relationships
(predicates) (Section 2.1) and about topological relationships themselves (Section 2.2).
2.1 Spatial Objects
In the past, numerous data models and query languages for spatial data have been proposed with the
aim of formulating and processing spatial queries in databases and GIS (e.g., [12, 24, 26, 32, 33, 34]).
Spatial data types (see [34] for a survey) like point, line, or region are the central concept of these
approaches. They provide fundamental abstractions for modeling the structure of geometric entities,
their relationships, properties, and operations. Topological predicates operate on instances of these data
types, called spatial objects. So far, only simple object structures like single points, continuous lines,
and simple regions have been specified and used as arguments of topological predicates.
Only a few models [4, 26, 29, 30] have been developed towards complex spatial objects. The ap-
proach in [4] allows self-intersecting and self-touching lines, and the object representations resulting
from its definitions are not necessarily unique. The definitions of complex spatial data types in [26] are
based on a finite geometric domain (so-called realm) whereas we define our data types in the infinite
Euclidean plane. From a structural perspective, they are quite similar to ours so that they can be used
as an implementation of our model. The OpenGIS Consortium (OGC) has incorporated similar gener-
alized geometric structures, called simple features, into their OGC Abstract Specification [29] and into
the Geography Markup Language (GML) [30], which is an XML encoding for the transport and storage
of geographic information. These geometric structures are only described informally and called Multi-
Point, MultiLineString, and MultiPolygon. In contrast to the other approaches, different components of
the same spatial object may overlap. Database vendors have integrated complex spatial data types into
their spatial extension packages through extensibility mechanisms. Examples are the Informix Geodetic
DataBlade [28], the Oracle Spatial Cartridge [31], and DB2's Spatial Extender [9]. All of them more or
less borrow their technology from ESRI's Spatial Database Engine (SDE) [21].
2.2 Topological Relationships
Topological predicates between spatial objects in two-dimensional space belong to the most investi-
gated topics of spatial data modeling and reasoning. Their importance and necessity has already been
recognized for a long time [22, 1]. An important approach for characterizing them rests on the so-
called 9-intersection model [16] as an extension and generalization of the original 4-intersection model
[13, 10, 15]. Both models use point sets and point set topology as their formal framework. Based on
the 9-intersection model, a complete collection of mutually exclusive topological relationships can be
determined for each combination of simple spatial data types. The model is based on the nine possible
intersections of boundary (aA), interior (A'), and exterior (A-) of a spatial object A with the correspond-
ing components of another object B.1 Each intersection is tested with regard to the topologically invariant
criteria of emptiness and non-emptiness. The topological relationship between two spatial objects A and
B can be expressed by evaluating the matrix in Table 1.
For this matrix 29 512 different configurations are possible from which only a certain subset makes
sense depending on the definition and combination of spatial objects just considered. For each combina-
tion of spatial types this means that each of its predicates is associated with a unique intersection matrix
'The 4-intersection model only considers the interior and the boundary of each spatial object.
A An B 0 AnaB 0 A nB $- 0
MA nB 0 MA naB 0 A nB- 0
A nB$ o A-naB o A nB o o
Table 1: The 9-intersection matrix.
so that all predicates are mutually exclusive and complete with regard to the topologically invariant cri-
teria of emptiness and non-emptiness. Topological relationships that have been investigated so far are
restricted in the sense that their argument objects are not allowed to have a very general structure. It
is just the objective of this paper to give very general and versatile definitions of spatial objects and to
identify the topological relationships between them.
Topological relationships have been first investigated for simple regions [13, 10, 14, 15, 7]. For two
simple regions eight meaningful (out of 512 possible) configurations have been identified which lead
to the well known eight predicates called disjoint, meet, overlap, equal, inside, contains, covers, and
coveredBy (Table 2).
00 00 100
S0 0 1 0 0 1 1 1 1 0 1 0 0
0 0 1 1 1 1 0 1 0
1 1 1 1 1 1 1 1 1 0 0 1
disjoint meet overlap equal
(100 (111 111 100
1 0 0 00 1 011 1 1 0
1 1 1 0 0 1 0 0 1 1 1 1
inside contains covers coveredBy
Table 2: The eight topological predicates for two simple regions.
The 4-intersection / 9-intersection model on simple regions has been extended and refined in a num-
ber of ways especially with further topological invariants (like the dimension of the intersection compo-
nents, their types (touching, crossing), the number of components) to discover more details about topo-
logical relationships (e.g., [7, 19]). A generalization of the aforementioned eight topological predicates
to complex regions can be found in [35]; their implementation is described in [36].
It is surprising that topological predicates on complex regions have so far not been defined. But
the definition of these predicates is particularly important for spatial query languages that aim at inte-
grating complex regions having holes and separations. Three works have so far contributed to a defi-
nition of topological relationships for more complex regions. In [6] the so-called TRCR (Topological
Relationships for Composite Regions) model only allows sets of disjoint simple regions without holes.
Topological relationships between these composite regions are defined in an ad hoc manner and are not
systematically derived from the underlying model. Further, the model is only related to but not directly
based on the 9-intersection model. In [18] topological relationships of simple regions with holes are
considered. Unfortunately, multi-part regions are not permitted. While the authors take into account the
number of components (areas without holes, holes) of two regions and the large number of topological
relationships between all component pairs of both regions, we pursue a global approach that is inde-
pendent of the number of components. Hence, a further goal of this paper is to provide an integrated
treatment of holes and separations for regions and to define topological predicates on complex regions in
a systematic way. Our work in [2] already gives the rough idea of our mechanism for deriving topological
relationships for complex regions.
For two simple lines 33 topological relationships [16, 11, 5] can be found. Additional 24 relationships
exist for more complex lines which are allowed to be a connected graph without loops and without self-
intersections [16]. We generalize this approach in the sense that we also permit complex lines to have
loops and to consist of several graph components. Topological predicates between simple points are
trivial: either two simple points are disjoint or they are equal. We will consider predicates between
complex points as finite collections of single points.
A simple point can be located on one of the endpoints of a simple line, in the interior of a simple
line, or be disjoint from a simple line. We are interested in the relationships between complex points and
complex lines. For a simple point and a simple region we obtain the three predicates disjoint, meet, and
inside. We will identify the relationships between complex points and complex regions. For a simple line
and a simple region 19 topological relationships [17] can be distinguished. Here we are interested in the
nature and number of topological relationships between a complex line and a complex region. Table 3
summarizes the results obtained so far.
simple point simple line simple region
simple point 2 3 3
simple line 3 33 19
simple region 3 19 8
Table 3: Numbers of topological predicates between two simple spatial objects.
Table 3 also indicates that the numbers of topological predicates can already become quite large for
topological predicates between simple spatial objects so that the predicates are difficult to handle by
the user. A further increase of the number of predicates has even to be expected for complex spatial
objects. The calculus-based method in [7] groups all its possible cases into a few meaningful topo-
logical relationships. The grouping is performed on the basis of the emptiness and non-emptiness of
component intersections, inclusion and non-inclusion of one object in another object, and the dimension
of component intersections. In contrast to this, our concept will exclusively rest on the emptiness and
non-emptiness of component intersections.
3 Complex Spatial Objects
This section defines the underlying spatial data model for our topological predicates. We strive for a
very general, abstract definition of complex spatial objects (see Figure 1) in the Euclidean plane R2. The
task is to determine those point sets that are admissible for complex point (Section 3.1), complex line
(Section 3.2), and complex region (Section 3.3) objects. For complex lines and complex regions, we
give both an "unstructured" and a "structured" definition; for complex points both definitions coincide.
The unstructured definition purely determines the point set of a line or region. The structured definition
gives a unique representation and emphasizes the component view of a spatial object. A complex point
may include several points, a complex line may be a spatially embedded network possibly consisting of
several components, and a complex region may be a multi-part region possibly with holes. The formal
framework purely employs point set theory and point set topology [23] since we disregard shape aspects
and metric properties and focus on the study of topological relationships. For each spatial data type we
specify the topological notions of boundary, interior, exterior, and closure since these notions are later
needed for the specification of topological relationships.
(
(a) (b) (c)
Figure 1: Examples of a complex point object (a), a complex line object (b), and a complex region
object (c).
3.1 Complex Points
A value of type point is defined as a finite set of isolated points in the plane. Finiteness of the number
of components is required in all parts of the spatial data model since we are only able to handle finite
collections of spatial objects in geographic applications.
Definition 3.1 The spatial data type point is defined as
point {P C R2 IP is finite}
We call a value of this type complex point. IfP E point is a singleton set, i.e., P| = 1, P is denoted as a
simple point. o
In other words, type point (Figure la) contains all finite sets of the power set of R2. In particular,
the empty set, which is the identity of geometric union, is admitted since it can be the result of a geo-
metric operation, e.g., if a point object has nothing in common with another point object in a geometric
intersection operation.
Since we intend to later apply the 9-intersection model to complex points, we have to give a definition
for the topological notions of boundary, interior, and exterior of a complex point. For a simple point
p we specify Dp = and p p, which is the commonly accepted definition. For a complex point
P = {p1,...,pn} we then obtain aP 0, P U' p,, and P = R2 (P UP) R2 -P. The
closure P is given as P = P UP P".
3.2 Complex Lines
Before we start with a definition for complex lines (Figure lb), we need a few definitions of some well-
known and needed topological concepts. We assume the existence of the Euclidean distance function d:
R2 x R2 -- R with d(p, q) = d((xi,yi), (x2,Y2)) =/(X 2 2+ (y --2)2. With the notion of distance,
we can now proceed to define what is meant by a neighborhood of a point in R2
Definition 3.2 Let q E R2 and ~ IR +. The setN (q) {pe R2 d(p, q) < } is called the open neighbor-
hood of radius e and center q. The set N,(q) p E R2 d(p, q) < E} is called the closed neighborhood
of radius e and center q. Any open (closed) neighborhood with center q is denoted by N(q) (N(q)). Any
neighborhood (closed or open) with center q is denoted by N* (q). o
We are now able to define the notion of a continuous mapping which preserves neighborhood re-
lations between mapped points in two spaces of the plane. Hence, the property of continuity of this
mapping ensures the maintenance of the closure and connectivity of the mapping domain for its image.
These mappings are also called topological transformations and include translation, rotation, and scaling.
Definition 3.3 Let X C R and f : X -* R2. Then f is said to be continuous at a point xo E X if, given
an arbitrary number e > 0, there exists a number 6 > 0 (usually depending on e) such that for every
x E N6(xo) nX we obtain that f(x) E N,(f(xo)). The mapping f is said to be continuous on X if it is
continuous at every point ofX. o
For a function f : X -- Y and a set A C X we introduce the notation f(A) = {f(x) I x E A}. Defini-
tion 3.3 already enables us now to give an unstructured definition for complex lines as the union of the
images of a finite number of continuous mappings.
Definition 3.4 The spatial data type line is defined as
line = L C R2 (i) L = Ul f Q([0,1]) with n No
(ii) V 1 < i < n f: [0, 1] -* R2 is a continuous mapping
(iii) VI < i < n :f([0, 1])| > 1}
We call a value of this type complex line.
The first condition also allows a line object to be the empty set (n = 0 in Definition 3.4). The third
condition avoids degenerate line objects consisting only of a single point.
For a structured definition, we separate the point set of a complex line into appropriate components.
We first consider a single-component line as the image of a single continuous mapping and distinguish
several special cases.
Definition 3.5 Let I C R2, 1 f 0.
(i) 1 is a single-component line
(ii) 1 is a simple line
(iii) 1 is a self-touching line
(iv) I is a closed line
(v) I is a self-intersecting line
(vi) I is a non-self-intersecting line
S 1 f([0,1])
where f: [0, 1] -* R2 is a continuous mapping and
If([0, 1]) > 1
S1 is a single-component line A
Va, b E [0, 1],a b : f(a) f(b)
S1 is a single-component line A
a E {0, l}b E ]0, 1[:f(a) f(b)
I 1 is a single-component line A f(0) = f(1)
S1 is a single-component line A
3a,b E]O,1[,a b: f(a) f(b)
S1 is a single-component line A
Va,b E ]0, [,a b: f(a) f(b) A
Va E {0,1} Vb E ]0, 1[: f(a) f(b)
The values f(0) and f(1) are called the endpoints of I.
Intuitively, a single-component line models all curves that can be drawn on a sheet of paper from a
starting point to an end point without lifting the pen. Note that Definitions 3.5 (ii) to (vi) are not mutually
exclusive. For instance, a single-component line can be self-intersecting and closed. Figure 2 shows
some examples.
For a unique definition of complex lines, only non-self-intersecting lines are adequate since the other
line types in Definition 3.5 lead to modeling or uniqueness problems. Obviously, self-touching and closed
lines are too specialized. Simple lines are also too limited because they do not allow closed lines. Self-
intersecting and single-component lines are too general because they allow multiple representations. The
self-intersecting line in Figure 2d can, e.g., also be represented by three continuous mappings, namely
(a) (b) (c) (d)
Figure 2: A single-component line as a simple line (a), as a self-touching line (b), as a closed line (c),
and as a self-intersecting line (d). The thick points indicate the end points of the different kinds of lines.
one mapping for the closed part and one mapping for each remaining part. Non-self-intersecting lines,
also denoted as curves, cover simple and closed lines and can serve as a "canonical" representation.
Definition 3.6 Let S be the set of all non-self-intersecting lines over R2. Two lines 11,12 E S with corre-
sponding continuous mappings fi and f2 are called quasi-disjoint if, and only if, (Va, b E]0, 1[ fi (a) 7
f2(b)) A -((fi(0) f2(0) A fi(1) f2(1)) V (fi(0) f2(1) A fl() f2(0))). They meet in an end
point p if, and only if, they are quasi-disjoint and 3a, b E {0, 1} : fi(a) =p = f2(b). o
Note that due to the uniqueness constraint the definition of quasi-disjoint forbids that two non-self-
intersecting lines form a loop.
Next, we introduce the concept of a block, which is used in Definition 3.8 to specify a connected
component of a complex line. Such a connected component is represented as a spatially embedded planar
graph, in which, again due to the uniqueness constraint, an end point is either the end point of only a
single non-self-intersecting line or shared by more than two non-self-intersecting lines. Intuitively, this
definition means that in Figure lb we have to draw an explicit end point at each intersection point.
Definition 3.7 The set B of blocks over S is defined as
B {Uil, |(i) m EN,V*
(ii) V 1 < i < j < m : I, and 1, are quasi-disjoint*
(iii) m > 1 V1 < i < m 3 <1
(iv) Vp E Um{f(0),f(1)}:card({fl*
Vcard({f, 1**
(f(O)p A f(1) = p)}) 2*
Two blocks bl, b2 E B are disjoint if, and only if, b, n b2 = 0. O
Condition (iii) ensures uniqueness of representation and disallows end points which have exactly two
different emanating segments. We are now able to give the structured definition for complex lines.
Definition 3.8 The spatial data type line is defined as
line {U7 b,J (i) n No,V1 *
(ii) V < i < j < n : b, and bj are disjoint}*
We call a value of this type complex line. O
A line object is the empty object (empty set) if n = 0 in Definition 3.8. Figure 3 shows a complex
line consisting of six continuous mappings according to the structured view. The boundary of a complex
line L is the set of its end points minus those end points that are shared by several non-self-intersecting
lines. The shared points belong to the interior of a complex line. Based on Definition 3.4, let E(L) =
U7i {f (0), f (1)} be the set of end points of all non-self-intersecting lines. We obtain
Figure 3: A complex line. The thick points indicate end points of non-self-intersecting lines.
L =E(L) {p E(L) card({f, 1 i*
card({f **
*
Let L f 0. It is possible that aL is empty. The closure L of L is the set of all points of L including the
end points. Therefore L L holds. For the interior of L we obtain L' L L UL 7 0, and for
the exterior we get L R2 -L, since R2 is the embedding space.
3.3 Complex Regions
Our definition of complex regions is based on point set theory and point set topology [23]. Regions are
embedded into the two-dimensional Euclidean space R2 and modeled as special infinite point sets. We
briefly introduce some needed concepts from point set topology in R2
Definition 3.9 LetX C R2 and q E R2. q is an interior point ofX if there exists a neighborhood N* such
that N*(q) C X. q is an exterior point of X if there exists a neighborhood N* such that N* (q) X = 0. q
is a boundary point ofX if q is neither an interior nor exterior point ofX. q is a closure point ofX if q is
either an interior or boundary point ofX.
The set of all interior points ofX is called the interior ofX and is denoted by X'. The set of all
exterior points ofX is called the exterior ofX and is denoted by X The set of all boundary points ofX
is called the boundary ofX and is denoted by aX. The set of all closure points ofX is called the closure
ofX and is denoted by X.
A point q is a limitpoint ofX if for every neighborhood N*(q) holds that (N* {q}) nX f 0. X is
called an open set in R2 ifX X. X is called a closed set in R2 if every limit point of X is a point of X.
D
It follows from the definition that every interior point of X is a limit point of X. Thus, limit points
need not be boundary points. The converse is also true. A boundary point ofX need not be a limit point;
it is then called an isolated point ofX. For the closure ofX we obtain that X =X UX.
It is obvious that arbitrary point sets do not necessarily form a region. But open and closed point sets
in R2 are also inadequate models for complex regions since they can suffer from undesired geometric
anomalies (Figure 4). A complex region defined as an open point set runs into the problem that it may
have missing lines and points in the form of cuts and punctures. At any rate, its boundary is missing. A
complex region defined as a closed point set admits isolated or dangling point and line features. Regular
closed point sets [37] avoid these anomalies.
Figure 4: Examples of possible geometric anomalies of a region object.
Definition 3.10 LetX C R2. X is called regular closed if, and only if, X = X.
The effect of the interior operation is to eliminate dangling points, dangling lines, and boundary parts.
The effect of the closure operation is to eliminate cuts and punctures by appropriately supplementing
points and to add the boundary. Closed neighborhoods (Definition 3.2), e.g., are regular closed sets.
For the specification of the region data type, definitions are needed for bounded and connected sets.
Definition 3.11 (i) Two sets X, Y c R2 are said to be separated if, and only if, X n Y X n Y. A
set X C R2 is connected if, and only if, it is not the union of two non-empty separated sets. (ii) Let
q (x,y) E R2. Then the 'A ,gh or norm ofq is defined as |I ql = /x +y2. (iii) A setX C R2 is said to
be bounded if there exists a number r E R+ such that I q I < r for every q E X. o
We are now able to give an unstructured type definition for complex regions:
Definition 3.12 The spatial data type region is defined as
region = {R C R2 (i) R is regular closed
(ii) R is bounded
(iii) The number of connected sets of R is finite}
We call a value of this type complex region. o
A region object can also be the empty object (empty set). In fact, this very "unstructured" definition
models complex regions possibly consisting of several components and possibly having holes. But since
the topological predicates of the 9-intersection model only work on simpler regions, we have to take a
more fine-grained and structured view of regions. The structured definition of type region distinguishes
simple regions, simple regions with holes, and complex regions.
Definition 3.13 A simple region is a bounded, regular closed set homeomorphic (i.e., topologically
equivalent) to a closed neighborhood in R2. E
This, in particular, means that a simple region has a connected interior, a connected boundary, and a
single connected exterior. Hence, it does not consist of several components, and it does not have holes.
The concept of a hole is topologically not directly inferable since point set topology does not distin-
guish between "outer" exterior and "inner" exterior of a set. This requires an explicit and constructive
definition of a region containing holes and a use of the topological predicates meet, covers, coveredBy,
contains, and disjoint for simple regions, as they are defined by the 9-intersection model in Table 2.
Definition 3.14 Let {Fo, ...,Fn} be a set of simple regions, and let n : {1,...,k} {1,...,n},k,n E
N, k < n, be a total, injective mapping. The regular set F = Fo UJ 1 F, is called a simple region with
holes or a face, and F1, ...,Fn are called holes if, and only if,
(i) V *
(ii) V **
(iii) {7r(1),...,t(k)} C {1,...,n} : covers(Fo, F(1)) A*
meet(F.(1),F.(2)) A ... A meet(F-(k-1),Fc(k)) A coveredBy(F.(k),Fo)
(iv) {7t(1),...,7(k)} C {,...,n} : meet(Fx(1),F.(2)) A
meet(F.(2),F.(3)) A ... A meet(F-(k-1),Fc(k)) A meet(FF(k),F.(1))
Let srh be the set of all simple regions with holes. o
Figure 5c gives an example of a face. The first two conditions allow a hole within a face to touch the
boundary ofFo or of another hole in at most a single point. This is necessary in order to achieve closure
under the geometric operations union, intersection, and difference (see also [25, 34]). For example, a
(regularized) subtraction of a face A from a face B may lead to such a hole in B. On the other hand, to
allow two holes to have a partially common border makes no sense because then adjacent holes could
be merged to a single hole by eliminating the common border (similarly for adjacency of a hole with
the boundary of Fo). The third condition prevents the formation of "open hole chains" where any two
subsequent holes meet and both the first and the last hole touch F0. The fourth condition prevents the
formation of "closed hole chains" within the face where any two subsequent holes meet and both the first
and the last hole meet. All four conditions together ensure uniqueness of representation, i.e., there are
no two different interpretations of the point set describing a face. Hence, a face is atomic and cannot
be decomposed into two or more faces. For example, the configuration shown in Figure 5a must be
interpreted as two faces with two holes and not as a single face with four holes.
(a) (b) (c) (d) (e)
Figure 5: Unique representation of a face (a), a complex region with five faces (b), a simple region with
two holes (c), its boundary (d), and its interior (e).
Let F = F0 UJ F;" be a simple region with holes F1, ...,F,. Then the boundary ofF (Figure 5d)
is given as F = U -o0 F, and the interior ofF (Figure 5e) is defined as F" = Fo U"7 F1.
We are now able to give the structured definition for complex regions.
Definition 3.15 The spatial data type region is defined as
region = {RC R2 (i) R = U 1F, with n No
(ii) V1*
(iii) V i< j
(iv) Vl**
*
We call a value of this type complex region. o
A region object is the empty object (empty set) if n =0 in Definition 3.15. Figure 5b shows an
example of a region with five faces. The definition requires of a face to be disjoint to another face, or
to meet another face in one or several single boundary points, or to lie within a hole of another face
and possibly share one or several single boundary points with the boundary of the hole. Faces having
common connected boundary parts with other faces or holes are disallowed. The argumentation is similar
to that for the face definition.
Let F = U"1F, be a non-empty region with faces {Fi, ...,Fn}. Then the boundary ofF is given as
F = U"-1 WE (7 0), and the interior ofF is given as F" U"- F" F WF (7 0). Further, we obtain
F -FUF= FandF -R2-F R2-F(/ 0).
4 Deriving Topological Relationships from the 9-Intersection Model
The preceding section has provided structured and unstructured views of three kinds of complex spatial
objects. An apparently promising approach to deriving topological relationships from them is to leverage
the structured view of a spatial object. But the following expositions reveal that considering components
leads to rather complicated and impractical models.
We demonstrate this by first considering two simple regions A and B with n and m holes, respectively.
If we take into account the regions A and B without holes and call them A* and B*, respectively, the
total number of topological relationships that can be specified between A* and its holes with B* and its
holes amounts to (n +m +2)2 [18]. It has also been shown in [18] that this number can be reduced
to mn + m + n + 1. The problems of this approach are the dependency on the number of holes and the
resulting large number of topological relationships.
We are confronted with a similar problem if we take another strategy and have a look on the topolog-
ical relationships between two complex regions A and B with n and m faces, respectively, possibly with
holes. Each face of A is in relationship with any face of B. This gives a total of 8n"' possible topological
configurations if we take the eight topological relationships between two simple regions with holes, as
they are specified in [35], as the basis. As a result, the total number of relationships between the faces
of two complex regions depends on the numbers of faces, is therefore not bounded by a constant, and
increases in an exponential way. This approach is obviously not manageable and thus not acceptable.
Hence, the comparison of structural elements of the objects with respect to their topological relation-
ships does not seem to be an adequate and efficient method. On the contrary, this detailed investigation is
usually not desired and thus even unnecessary. For instance, if two regions intersect (according to some
definition), the number of intersecting face pairs, as long as it is greater than 0, is irrelevant since it does
not influence the fact of intersection. Consequently, the analysis of topological relationships between
two complex spatial objects requires a more general strategy.
Our strategy for the analysis of topological relationships between two complex spatial objects is
simple and yet very general and expressive. Instead of applying the 9-intersection model to point sets
belonging to simple spatial objects, we extend it to point sets belonging to complex spatial objects. Due
to the special features of the objects (point, linear, areal properties), the embedding space (here: R2), the
relation between the objects and the embedding space (e.g., it makes a difference whether we consider
a point in R or in R2), and the employed spatial data model (e.g., discrete, continuous), a number of
topological configurations cannot exist and have to be excluded. For each pair of complex spatial data
types, our goal is to determine topological constraints or conditions that have to be satisfied. These serve
as criteria for excluding all impossible configurations. The approach taken employs a proof technique
called Proof-By-Constraint-And-Drawing. It starts with the 512 possible matrices and is a two-step
process:
(i) For each type combination we give the formalization of a collection of topological constraint rules
for existing relationships in terms of the nine intersections. For each constraint rule we give reasons
for its validity, correctness, and meaningfulness. The evaluation of each constraint rule gradually
reduces the set of the currently valid matrices by all those matrices not fulfilling the constraint rule
under consideration.
(ii) The existence of topological relationships given by the remaining matrices is verified by realizing
prototypical spatial configurations in R2, i.e., these configurations can be drawn in the plane.
Still open issues relate to the evaluation order, completeness, and minimality of the collection of con-
straint rules. Each constraint rule is a predicate that is matched with all intersection matrices under
consideration. All constraint rules must be satisfied together so that they represent a conjunction of pred-
icates. To say it in other words, constraint rules are all formulated in conjunctive normal form. Since the
conjunction (logical and) operator is commutative and associative, the evaluation order of the constraint
rules is irrelevant; the final result is always the same.
The completeness of the collection of constraints is directly ensured by the second step of the two-
step process provided that all spatial configurations for the remaining matrices can be drawn.
The aspect of minimality addresses the possible redundancy of constraint rules. Redundancy can
arise for two reasons. First, several constraint rules may be correlated in the sense that one of them is
more general than the others, i.e., it eliminates at least the matrices excluded by all the other, covered
constraints. This can be easily checked by analyzing the constraint rules themselves and searching for the
most non-restrictive and common constraint rule. Even then the same matrix can be excluded by several
constraint rules simultaneously. Second, a constraint rule can be covered by some combination of other
constraint rules. This can be checked by a comparison of the matrix collection fulfilling all n constraint
rules with the matrix collection fulfilling n 1 constraint rules. If both collections are equal, then the
omitted constraint rule was implied by the combination of the other constraint rules and is therefore
redundant. In this paper, we are not so much interested in the aspect of minimality since our goal is to
identify the topologically invalid intersection matrices. We are willing to accept a certain (but small)
degree of redundancy.
5 Topological Relationships between Two Complex Spatial Objects of
Equal Type
First we analyze the topological relationships between two complex spatial objects which have the same
type and thus share the same properties and dimension. This leads to the three type combinations
point/point (Section 5.1), line/line (Section 5.2), and region/region (Section 5.3).
5.1 Topological Relationships between Two Complex Points
Topological relationships on complex point objects have so far not been explored in the literature, since
the assumption has always been that a point object only consists of a single point and since the topological
relationships between two single points are rather trivial (either disjointedness or equality). In Section 2.1
we have motivated why more complex spatial objects are needed in general. For example, consider
an operation crossing : line x line -* point taking two line objects as operands, computing all single
intersection points (common linear parts are ignored here), and collecting them in a single point object.
This shows the necessity to deal with topological predicates on complex point objects.
We now present the constraint rules for two complex point objects A and B defined according to
Section 3.1. Each constraint rule is first formulated colloquially and afterwards formalized by employing
the nine intersections. Then a rationale is given explaining why the constraint rule makes sense and is
correct. We presuppose that A and B are not empty, because topological relationships for empty operands
are not meaningful.
Lemma 5.1.1 All intersections comprising an operand with a boundary operator yield the empty set,
i.e.,
VCE{AO,aA,A }:Cn B 0 \A VD E{B,OB,B }:A nD =0
Proof According to the definition of a complex point DA = DB = 0 holds. Hence, the intersection of the
empty set with any other component yields the empty set. o
Lemma 5.1.2 The exteriors of two complex point objects always intersect with each other, i.e.,
A-nB $0
Proof We know thatAA UA R2 and B UB R2. Hence, A nB- is only empty if either (i) A R2
or (ii) B R2, or (iii) A UB R2. All three situations are impossible, since A, B, and A UB are finite sets
and R2 is an infinite set. Thus A C R2, B C R2, and A UB C R2 holds, and (R2 -A) n (R2 B) 0. o
Lemma 5.1.3 Each non-empty part of a complex point intersects at least one non-empty part of the other
complex point, i.e.,
(VC E {A,A }: CnB' 0 V CnB o 0) A
(VD E{B',B }: AnD 0 VA ND- 0)
Proof We know thatA UA- = R2 and that B UB = R2. That is, the complex pointA, respectively B,
together with its exterior forms a complete partition of the Euclidean plane. Since only non-empty object
parts are considered, the interior and the exterior of A, respectively B, must hence intersect at least either
the interior or the exterior or both parts of B, respectively A. o
Lemma 5.1.1 means that the second row and the second column of an intersection matrix only yield
empty intersections so that we do not have to consider them any further. Lemma 5.1.2 indicates that the
exteriors of two point objects always intersect. This leads to a value 1 at position (3,3) in each valid
matrix. Lemma 5.1.3 says that in the first and third row and in the first and third column of a matrix at
least one "corner" intersection must yield true so that we find the value 1 in the matrix there.
The application of the three constraint rules results in a reduction of the 512 possible intersection
matrices to five remaining matrices, which describe the characteristic features of the existing topological
relationships between complex points. The corresponding matrices and their geometric interpretations
are given in Table 4.
Matrix 1 Matrix 2 Matrix 3 Matrix 4 Matrix 5
S0 01 1 00 01 0 1 0 1 1 0 1
000 0 00 00 0 0 0 0 0 0 0 0
1 0 1 0 0 1 1 0 1 0 0 1 1 0 1
O g* g
0 0 0g 0
S0 0 S0
component of point A
component of point B
common component of both points
Table 4: The five topological relationships between two complex points.
Due to the small number of topological relationships, with each matrix we can associate a name
for the corresponding topological predicate. Matrix 1 describes the relationship disjoint, matrix 2 the
relationship equal, matrix 3 the relationship inside, matrix 4 the relationship contains, and matrix 5 the
relationship overlap. The two topological relationships disjoint and equal between two simple point
objects are included in matrix 1 and matrix 2, respectively.
Finally, we can summarize our result as follows:
Theorem 5.1 Based on the 9-intersection model, five different topological relationships can be identified
between two complex point objects.
Proof The argumentation is based on the Proof-By-Constraint-And-Drawing method described in Sec-
tion 4. The constraint rules, whose correctness has been shown in Lemmas 5.1.1, 5.1.2, and 5.1.3, reduce
the number of the 512 possible intersection matrices to five matrices. The ability to draw prototypes of
the corresponding five topological configurations (Table 4) proves that the constraint rules are complete.
D
5.2 Topological Relationships between Two Complex Lines
Next, we discuss topological relationships between two non-empty, complex lines A and B defined ac-
cording to Section 3.2. We pursue the same strategy as before and present constraint rules to filter out
non-existent topological configurations.
Lemma 5.2.1 The exteriors of two complex line objects always intersect with each other, i.e.,
A nB 0
Proof We know thatAUA AUA = R2 andBUB B UB R=2. Hence, A nB is only empty
if either (i) A R2, or (ii) B = R2, or (iii) A UB R2. These situations are all impossible, since A,
B, and A U B as bounded, one-dimensional shapes of finite length are unable to cover the unbounded,
two-dimensional plane R2. E
Lemma 5.2.2 The interior of a complex line object intersects either the interior, the boundary, or the
exterior of the other line object, i.e.,
(AOnBO o V AOn B # O V AOB 0) A
(AnB 0 V A nB 0 VA -nB o0)
Proof Intuitively, this constraint means that neither the first row nor the first column of a 3 x 3-
intersection matrix may only contain zeros. Assuming that the constraint rule is false. Then (A n B =
0 A AOn B = 0 A A nB- = 0) V (A nB = 0 A A nB 0 A A nB = 0). We show
that the first argument of the disjunction (similar for the second argument) leads to a contradiction. The
first argument can be summarized to A n (B U aB UB ) A n R2 0 This is a contradiction to the
assumed non-emptiness of a line object requiring that A f 0 and A n R2 A, i.e., A C R2. E
Lemma 5.2.3 If the boundary of a complex line object intersects the interior of another line object, also
its exterior intersects the interior of the other line object, i.e.,
((A nB 0 =A -nBO 0) A (An B o0 =AnB- 0))
o ((aAnB= VA AnBo 0) A (AOn B = v AnB- 0))
Proof Without loss of generality, let P be an endpoint of the boundary of A located in the interior of B.
From P exactly one curve of A starts or ends. Either P divides a curve of B into two subcurves, or P is
endpoint of more than one curve of B. Hence, in P at least two curves of B end. Since the curve of A
can coincide with at most one of the curves of B, at least one of the curves of B must be situated in the
exterior of A. o
Lemma 5.2.4 If the boundary of a complex line object intersects the exterior of another line object, also
its interior intersects the exterior of the other line object, i.e.,
((A nB 0 = A nB 0) A (A-n B 40==A nB' 0))
= ((AnB -0 V AnB 7 0) A (A noB 0 VA nB 0o))
Proof For each point p E B we can find a neighborhood N*(p) such that N*(p) C B Ifp E aA, in
each neighborhood of p we must find points of A, since a curve of A starts at p. Hence, interior points
of A exist that intersect B o
An evaluation of all 512 3 x 3-intersection matrices against these four constraint rules with the aid of a
simple test program reveals that 82 matrices satisfy these rules and thus represent the possible topological
relationships between two complex lines. The matrices and their geometric interpretations are shown in
Table 5. The 33 topological relationships between simple lines [16, 11, 5] are contained and correspond
to the intersection matrices with the numbers 4, 5, 8, 10, 12, 14, 19, 20, 23, 25-29, 36, 40, 42, 48, 50,
54, 56, 58, 60, 66-68, 72, 73, and 75-79. If we consider line objects as connected components, as it is
also done in [16], the additional 24 topological relationships are also contained and correspond to the
intersection matrices with the numbers 6, 7, 13, 15, 16, 21, 22, 24, 30-32, 38, 51-53, 59, 61, 62, 70, 71,
74, and 80-82.
Matrix 1
( 0o 1
1 o 1
Matrix 6
0 1 0
1 1 1
Matrix 11
1 0 1
1 0 1
0 0 1
0--
Matrix 2
0 0 0
1 1 1
0ool 1
Matrix 7
0 1
1 o 1
0 0 1
Matrix 12
0 1
1 0 1
1 1 1
-1-"
Matrix 3
0 0 1
0 0 1
1 0 1
0.-a
Matrix 8
0 0 1
1 1 1
Matrix 13
O001
1 1 0
1 0 1
07
Matrix 4
0 0 1
0 0 1
11 1
Matrix 9
1 0 0
1 0 1
CD
Matrix 14
1 1 0
1 1 1
Matrix 5
(O 0 1
0 1 0
1 0 1
S0 1
Matrix 10
1 0 0
1 1 1
Matrix 15
1 1 1
1 0 1
0
O0 0 .
Matrix 16
( 00 1
1 1 1
1 1 1
Matrix 21
( 0 1 1
0 1 0
1 0 1
Matrix 26
( 0 1 1
1 0 0
1 1 1
Matrix 31
( 0 1 1
1 1 1
1 0 1
Matrix 36
( 1 0
0 0 1
*-----
Matrix 17
(0 1 1
0 0 0
1 0 1
Matrix 22
(0 1 1
0 1 0
1 1 1
Matrix 27
(0 1 1
1 0 1
1 0 1
Matrix 32
( 1 1
1 1 1
1 1 1
I
Matrix 37
S100
01
0 0_
Matrix 18
( 0 1 1)
0 0 0
11 1 \
0--
Matrix 23
( 1 1
0 1 1
1 0 1
Matrix 28
S0 1 1
1 0 1
1 1 1
Matrix 33
0 0 0
0o o
o 0 1
0
Matrix 3 8
0 1 0
1 1 0
Matrix 19
0 1 1
0 0 1
1 0 1
Matrix 24
0 1 1
0 1 1
1 1 1
Matrix 29
1 1 0
1 0 1
0 1
Matrix 34
S0 0
1 0 0
00
Matrix 20
0 0 1
1 1
0 1 1
Matrix 25
(0 1 1)
1 0 0
1 0 1
Matrix 30
( 1 1
1 1 0
1 1 1 1
Matrix 35
0 0 0
1 1 1
0
Matrix 39 Matrix 40
1 0 0 1 0 0
1 0 1 1 1 1
0-
Matrix 41
( 0 0\
1 1 0
1 0 1
I_._ )
Matrix 42
S1 0
1 1 01
1 1 0
0-4--
Matrix 43
0 0 0
0 0 1
00
Matrix 44
(1 0 1)
0 0 0
1 0 1
00
Matrix 45
(1 0 1
0 0 0
1 1 1
Matrix 46 Matrix 47 Matrix 48 Matrix 49 Matrix 50
( 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1
0 0 1 0 1 0 0 1 0 1 0 0 1 0
00 01 1 01 1 1 0 1 1 0 1
Matrix 53
1 0 1
0 1 1
1 0 1
0c9
Matrix 58
1 0 1)
1 0 1
1 1 1
0
Matrix 54
1 0 1
0 1 1
1 1 1
e-
Matrix 59
1 1 0
S1 0 1
Z1 0 1
00.
Matrix 55
(P 101
1 0 10
1 0 1
Elh
Matrix 60
1 0 1)
1 1 0
1 1 1 1
1_ 0_1
Matrix 61 Matrix 62 Matrix 63 Matrix 64 Matrix 65
( 0 1 0 1 1 0 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 0 0 0 0 0 0 0 0 0
1 0 1 1 1 1 0 0 1 1 0 1 1 1 1
1 011101) (III) (
.-4z
C
L h
FL
O
Matrix 51
(1 0 1
0 1 0
1 1 1
Matrix 56
(1 0 1
1 0 0
1 1 1
0-0
Matrix 52
1 0 1
0 1 1
0 0 1I
Matrix 57
1 0 1
1 0 1
1 0 1
ot
E3:=
Matrix 66
(1 1 11
0 0 1
0 0 1
Matrix 71
0 1 0
1 1 1
Matrix 76
1 0 0
1 1 1
rI-I
Matrix 81
1 1 1
1 0 1
\ 1 \
Matrix 67
1 1 1 1
0 0 1
1 0 1
"-a"
Matrix 72
O1 1 1 )
0 1 1
0 0 1
Matrix 77
( 1 )
1 0 1
1 1 1
Matrix 82
11
Matrix 68
(1 1 1)
0 0 1
11 1 1
Matrix 73
0 1 1
1 0 1
0 U
Matrix 78
1 1 1
1 0 1
1 1 1
Matrix 69
1 1 1
S1 0
0 0 1
IID
Matrix 74
0 1 1
1 1 1
Matrix 79
(1 1 1
1 1 0
1 0 1
I>
Matrix 70
1 1 1)
0 1 0
1 0 1
Matrix 75
(1 1 1
1 0 0
1 0 1
Matrix 80
1 1 1)
1 1 0
1 1 1
I
Table 5: The 82 topological relationships between two complex lines.
Finally, we can summarize our result as follows:
Theorem 5.2 Based on the 9-intersection model, 82 different topological relationships can be identified
between two complex line objects.
Proof The argumentation is based on the Proof-By-Constraint-And-Drawing method described in Sec-
tion 4. The constraint rules, whose correctness has been shown in Lemmas 5.2.1 to 5.2.4, reduce the
number of the 512 possible intersection matrices to 82 matrices. The ability to draw prototypes of the
corresponding 82 topological configurations (Table 5) proves that the constraint rules are complete. o
5.3 Topological Relationships between Two Complex Regions
In this section we identify those topological relationships that can be realized between two non-empty,
complex regions A and B defined according to Section 3.3. We present constraint rules that exclude
non-existent topological configurations. Note that apart of a complex region denotes either its boundary,
interior, or exterior and that all parts are non-empty (see Section 3.3).
Lemma 5.3.1 Each part of a complex region intersects at least one part of the other complex region, i.e.,
(VC E {A,A,A-}: CnB' 0 V CnOB 0 v CnB # 0) A
(VD E{BO,B,B }:AOnD Z 0 V AnD O0 V A-nD 40)
Proof We know that A U A UA = R2 and that B U B UB = R2. That is, the complex region A,
respectively B, together with its exterior forms a complete partition of the Euclidean plane. Hence, each
part of A, respectively B, must intersect at least one part of B, respectively A. o
Since a row in the matrix represents the possible intersections of a part of A with all parts of B and
since a column represents the possible intersections of a part of B with all parts of A, in each row and in
each column at least one intersection must yield true so that we find the value 1 in the matrix there.
In the following lemma we formulate a constraint rule on the basis of subsets. Since the 9-intersection
model rests on the equality or inequality of the intersection of sets, we express the subset relationships in
terms of the nine intersections and show the equivalence.
Lemma 5.3.2 Neither the interior nor the exterior of a complex region can be completely contained in
or equal to the boundary of the other complex region, i.e.,
A B A AA- B A B aA AB aA
= (AOnB 0 V AOnB 0) A (A nB 0 VA NnB 0) A
(A nB 0 VA nB 0) A (A nB 0o VA nB # 0)
Proof This lemma follows from the fact that the dimension of a boundary with its linear structure is less
than the dimensions of the interior and the exterior with their areal structures.
We show the equivalence considering the subexpression A V DB < (A nBB 0 V A nB 0).
For the other subexpressions the argumentation is similar. We first show the "=" direction. IfA V 5B,
then A n (R2 aB) AO n (B U B) 0. Due to distributivity A n B 0 V A n B 0 follows.
For the "-" direction we argue like before but in the opposite direction. o
Lemma 5.3.3 The exteriors of two complex region objects always intersect with each other, i.e.,
A nB 0
Proof Let rl,r2 E R+ be numbers according to Definition 3.11 (iii) such that the norms of A and B,
respectively, are less than rl and r2, respectively. Let rm max(ri, r2). Since we can find a point
p (x,y) E R2 with x2 +y2 > rm, this point is in the exterior of A and in the exterior of B. Hence, we
obtain that E A nB which proves the lemma. O
Lemma 5.3.4 The boundaries of two complex regions are equal if, and only if, the interiors and the
exteriors, respectively, of both regions are equal, i.e.,
(aA = aBA = B AA- B-)
( (c < d) > ((c A d) V (-c A -d)) where
c = AO n aB = A aA n B = 0 A aA n B 0 A
A nB -0 A A n B = and
d =AnB 0 A AnOB=0 A AAnB- = A
aAnB =0 A 0 AB nAnB 0 A
A noB =0 A A nB 0
Proof This very special constraint rule expresses that complex regions are uniquely characterized by
their boundaries. This is ensured by the Jordan Curve Theorem [23]. o
Lemma 5.3.5 If the boundary of a complex region intersects the interior of the other complex region,
both its interior and its exterior intersect the interior of the other region, i.e.,
((aA nB 0 (A nB 0 AA nB 0))A
(AOn DB 0 (AOn B 0 A AnB 0)))
S((aA nB=0 V (A OnB A 0 A A nBO 0)) A
(An oB = V (AnB0 B 0 A AnB 0)))
Proof Let p e aA nB. Since p e aA, according to the boundary definition in Definition 3.9, for each
neighborhood N* (p) holds thatN*(p) nA f 0 andN*(p) nA 0. Since p E B, there is a neighbor-
hood M*(p) which is fully contained in B. The non-empty intersection of one of the N* (p) and M* (p)
proves the lemma. O
Lemma 5.3.6 If the boundary of a complex region intersects the exterior of the other complex region,
both its interior and its exterior intersect the exterior of the other region, i.e.,
((aAnB- 0 o (AnB- 0 AA nB- 0))A
((A nB 0 (A- nB 0 AA A- nB- )))
= ((aAnB 0 V (AnB- 7 A A- nB- )) A
(A nOB 0 v (A nB 0 A A-nB- o)))
Proof The argumentation is similar as for the previous constraint. But we can also argue by employing
the Jordan Curve Theorem [23]. Due to this theorem, on each side of the boundary of a region there
is either the region's interior or exterior. On both sides of a line intersecting the exterior of this region,
we find the exterior of the region. If the line is part of the boundary of another region, we obtain the
intersection of both regions' exteriors and the intersection between the interior of the first region and the
exterior of the other region. o
Lemma 5.3.7 Either the boundaries of two complex regions intersect, or the boundary of one region
intersects the exterior of the other region, i.e.,
AnOB 0o v aAnB- o VA naB o
Proof Assuming that the constraint rule is false. Then A n aB = 0 A AA nB = 0 A A- n B = 0.
With Lemma 5.3.1, A nB0 f 0 A A n B 0 o holds. Without loss of generality, let us consider a point
p E A n aB and an infinite ray s emanating from p in an arbitrary direction. Since the component (face)
of A containing p is bounded, s encounters the boundary of A in a point, say, q. This boundary could
potentially intersect the exterior, the boundary, or the interior of B. But according to our assumption, the
first two cases cannot hold so that q must lie inside the interior of B. We obtain a similar situation as
before, except for the fact that now A and B change their roles. We continue to observe the course of s:
the ray over and over again alternately encounters a point ofA naB and then a point of A nB'. Since the
ray can be prolonged arbitrarily, A and B must be unbounded or consist of infinitely many components.
But this is a contradiction to the definition of the region data type. o
Lemma 5.3.8 If the interiors of two complex regions intersect, the interior of one region also intersects
the boundary of the other region, or the regions' boundaries intersect, i.e.,
(Aon B' 0 (A'n B 0 v DA nB 0 V A n B 0) o))
t (A nB = V AOnaB V aAnB 0 V AnaB 0)
Proof Without loss of generality, let us consider a component of the first region and a component of the
second region with intersecting interiors. We have to distinguish three situations. First, if the interiors
of both components are equal, also their boundaries are equal and hence intersect. Consequently, also
the regions' boundaries intersect. Second, if the interiors of both components but not their boundaries
intersect, one component is contained in the other. Since this is a proper containment (otherwise the
boundaries would intersect), the boundary of one component must be inside the interior of the other
component. Consequently, the interior of one region intersects the boundary of the other region. Third,
if the interiors as well as the boundaries of the two components intersect, the remaining two conclusions
of the constraint rule hold. o
Lemma 5.3.9 If the interior of a complex region intersects the exterior of the other region, either the
interior of the first region intersects the boundary of the second region, or the boundary of the first region
intersects the exterior of the second region, or both regions' boundaries intersect, i.e.,
((Ao B =0 (A nB 0 v aA B B 0 v A n OB 0)) A
(A nB 0=m (aAnB 0o vA -naB 0 v aAaB 0)))
t ((Ao nB = 0 vA n aB 0 v AnB 7- 0 V An aB 0) A
(A-nB-0 V aAnB 0 V A-n B V AnOB 0))
Proof If there is an intersection between the interior of a complex region and the exterior of the other
complex region, a few different situations for each component causing the intersection can be distin-
guished. The first situation is that a component partially intersects the interior and the exterior of the
other region. Then the boundary of the other region intersects the interior of the first region. The sec-
ond situation is that the interior of a component lies completely inside the exterior of the other region.
Several cases can now be distinguished. The first case is that also the boundary (and thus the entire
component) lies inside and consequently intersects the exterior of the other region. The second case is
that the boundary of a component lies only partially inside the exterior of the other region. Again we
obtain an intersection between boundary and exterior. The third case is that the boundary of a component
intersects the boundary of the other region. Note that the boundary of the component cannot cross the
interior of the other region, since then the interior of the component would not be entirely within the
exterior of the other region. o
An evaluation of all 512 3 x 3-intersection matrices against these nine constraint rules with the aid of a
simple test program reveals that 33 matrices satisfy these rules and thus represent the possible topological
relationships between two complex regions. The matrices and their geometric interpretations are shown
in Table 6. The eight topological relationships between simple regions [13, 10, 14, 15] are contained and
correspond to the intersection matrices with the numbers 1, 4, 5, 7, 9, 19, 24, and 33.
Matrix 1
( 001
0 0 1
1 1 1
00
Matrix 6
0 1 0
01 0
1i 1 1
Matrix 11
0 1 1
0 0 1
Matrix 2
So 0 1 \
0 1 0
1 1 1
Matrix 7
1 0 0
1 01
Matrix 12
0 1
1 0 1
10 1
U. *6
Matrix 16 Matrix 17
( 1 0 1 I1 0 1
1 1 0 1 1 1
1 1 1 1 0 1
*w
Matrix 21
( 1 11)
0 1 0
0 0 1
010)I
Matrix 22
1 1 1
0 1 0
1 0 1
Matrix 3
0 0 1
0 1 1
1 0 1
Matrix 8
(1 0 0
1 1 0
1 0 1
Matrix 13
1 0 1)
0 1 1
1 1 1
Matrix 18
1 0 1)
1 1 1
1 1 1
Joe
Matrix 23
1 1 1)
0 1 0
1 1 1
Matrix 4
0 0 1
0 1 1
I I Ij
Matrix 9
I 0 0 \
1 1 0
1 1 1
1 0 0
Matrix 14
1 0 1)
1 0 1
1 1 1
Matrix 19
1 1 1)
0 0 1
0 0 1
Matrix 24
0 1 1
0 0 1
Matrix 5
S0 0)
0 1 0
0o o0 1
Matrix 10
(1 0 1)
0 1 0
1 1 1 1
**
Matrix 15
(1 1
1 1 0
1 0 1
Matrix 20
(1 1 1
0 0 1
11 1 1
4
Matrix 25
0 1 1
1 0 1
*I
Matrix 26
( 1 11
0 1 1
1 1 1
e
Matrix 31
(1 1 1
1 1 0
1 1 1
@0
Matrix 27
( 11 1
1 0 0
1 1 1
Matrix 32
(1 1 1
1 0 1
4be0\
Matrix 28
( 1 1 \
1 0 1
1 0 1
Matrix 33
1 1 1)
1 1 1
1 1 1
Matrix 29
( 111
1 0 1
1 1 1
*
Matrix 30
( 111
1 1 0
1 0 1
Table 6: The 33 topological relationships between two complex regions.
Finally, we can summarize our result as follows:
Theorem 5.3 Based on the 9-intersection model, 33 different topological relationships can be identified
between two complex region objects.
Proof The argumentation is based on the Proof-By-Constraint-And-Drawing method described in Sec-
tion 4. The constraint rules, whose correctness has been shown in Lemmas 5.3.1 to 5.3.9, reduce the
number of the 512 possible intersection matrices to 33 matrices. The ability to draw prototypes of the
corresponding 33 topological configurations (Table 6) proves that the constraint rules are complete. o
6 Topological Relationships between Two Complex Spatial Objects of
Distinct Type
Next we analyze the topological relationships between two non-empty complex spatial objects that have
different types and thus different properties and dimensions. This leads to the six type combinations
point/line (Section 6.1), piiiL',lg/s ? (Section 6.2), line/region (Section 6.3), line/point, region/point,
and region/line. The latter three type combinations are symmetric counterparts of the first three type
combinations so that they do not have to be treated separately. It is obvious that a number of topological
relationships cannot exist. For example, higher-dimensional objects can never be located inside lower-
dimensional objects.
6.1 Topological Relationships between a Complex Point and a Complex Line
Constraint rules for points and lines can also be based on the 9-intersection matrix. In the following, we
assume that A is a non-empty object of type point and B is a non-empty object of type line.
Lemma 6.1.1 All intersections comprising an operand with the boundary operator of the complex point
object yield the empty set, i.e.,
VD E {B',B,B }: A nD 0
Proof According to the definition of a complex point DA = 0 holds. Hence, the intersection of the empty
set with any component of B yields the empty set. o
Lemma 6.1.2 The intersection of the interior of the complex line object and the exterior of the complex
point object cannot be empty, i.e.,
A nB 0
Proof Assuming that the constraint rule is wrong. Then A nB = 0. Since we know that DA = 0, we
can conclude that A = B. This leads to a contradiction since the finite set representing the point object
A = A cannot cover the infinite set representing B. o
Lemma 6.1.3 The exteriors of the complex point and the complex line always intersect with each other,
i.e.,
A nB $0
Proof We know thatAUA = R2 and BUB = R2. Hence, A nB- is only empty if either (i)A 2,
or (ii) B = 2, or (iii) A UB R2. The situations are all impossible, since A, B, and hence A UB are
bounded, but R2 is unbounded. o
Lemma 6.1.4 The interior of the complex point intersects at least one part of the complex line, i.e.,
An B 40o v AnBO 0 v AOnB 0
Proof We know that A U A R2 and that DB UB U B = R2. Since only non-empty object parts of
both objects are considered, we obtain A0 n R2 =A n (B U B U B) $ 0. This statement is equivalent
to the constraint rule. o
An evaluation of all 512 3 x 3-intersection matrices against these four constraint rules with the aid
of a simple test program reveals that 14 matrices satisfy these rules and thus represent the possible
topological relationships between a complex point and a complex line. The matrices and their geometric
interpretations are shown in Table 7. Between a simple point and a simple line we can distinguish three
topological relationships. Either a simple point and a simple line are disjoint, or the simple point is
located in one of the endpoints of the simple line, or the simple point is situated in the interior of the
simple line. These topological predicates are contained in the 14 general ones and correspond to the
matrices 2, 4, and 8, respectively.
Finally, we can summarize our result as follows:
Theorem 6.1 Based on the 9-intersection model, 14 different topological relationships can be identified
between a complex point object and a complex line object.
Proof The argumentation is based on the Proof-By-Constraint-And-Drawing method described in Sec-
tion 4. The constraint rules, whose correctness has been shown in Lemmas 6.1.1 to 6.1.4, reduce the
number of the 512 possible intersection matrices to 14 matrices. The ability to draw prototypes of the
corresponding 14 topological configurations (Table 7) proves that the constraint rules are complete. o
Matrix 1
( 0 0
0001
1 0 1
Matrix 6
0 0 0
11 1 1
Matrix 11
( 1 1 0O
0 0 0
1 0 1
Z_
Matrix 2
(001 \
1 1 1
Matrix 7
10 0 0
1 0 1
Matrix 12
0 0 0
1 1 1
I
xlo
Matrix 3
S1 0
1 0 1
Matrix 8
S0 0
1 1 1
Matrix 13
(1 1 1\
0 0 0
1 0 1
y
Matrix 4
0 1 0
(0 0 0
S1 1 \
Matrix 9
1 0 1
1 0 1
Matrix 14
( 1 1 1
0 0 0
1 1 1
I
Matrix 5
(0 1 1)
0 0 0
1 0 1
Matrix 10
1 0 1)
0 0 0
1 1 1
".
Table 7: The 14 topological relationships between a complex point and a complex line.
6.2 Topological Relationships between a Complex Point and a Complex Region
The point-in-polygon test is probably the most classical representative of a topological predicate between
a point and a polygon. In the following, we assume that A is a non-empty object of type point and B is
a non-empty object of type region. The following constraint rules lead us to all topological predicates
between a complex point object and a complex region object.
Lemma 6.2.1 The exteriors of the complex point and the complex region always intersect with each
other, i.e.,
A-nB #0
Proof The argumentation is the same as for Lemma 6.1.3. o
Lemma 6.2.2 All intersections comprising an operand with the boundary operator of the complex point
object yield the empty set, i.e.,
VD E{BO,B,B }: AnD- 0
Proof The argumentation is the same as for Lemma 6.1.1.
Lemma 6.2.3 The interior and the boundary of the complex region object intersect the exterior of the
point object, i.e.,
A nBO 0 AA-nB 0
Proof Both the interior and the boundary of a complex region object are infinite point sets whereas the
complex point object is a finite point set. Hence, the complex point object can cover neither the interior
nor the boundary of the complex region object so that its exterior must intersect these region parts. o
Lemma 6.2.4 The interior of the complex point intersects at least one part of the complex region, i.e.,
AnaB 0 v AnB 0 v AOnB 70
Proof The argumentation is the same as for Lemma 6.1.4. o
An evaluation of all 512 3 x 3-intersection matrices against these four constraint rules with the aid
of a simple test program reveals that 7 matrices satisfy these rules and thus represent the possible topo-
logical relationships between a complex point and a complex region. The matrices and their geometric
interpretations are shown in Table 8. Between a simple point and a simple region we can distinguish three
topological relationships. Either a simple point and a simple region are disjoint (we also say the point
is outside the region), or the simple point is located on the boundary of the simple region, or the simple
point is inside the simple region. These topological predicates are contained in the 7 general ones and
correspond to the matrices 1, 2, and 4, respectively.
Matrix 1
( O 0 1
0 0 0
1 1 1
0 001
Matrix 2
010 0
1 1 1
Matrix 3
(0 1 1)
0 0 0
1 1 1
.'6
Matrix 4
0 0 0
1 1 1
Matrix 5
1 0 1
0 0 0
1 1 1
.e"
*' *
Matrix 6 Matrix 7
1 1 1 1 1 1
\ Iw ij 0
Table 8: The 7 topological relationships between a complex point and a complex region.
Finally, we can summarize our result as follows:
Theorem 6.2 Based on the 9-intersection model, 7 different topological relationships can be identified
between a complex point object and a complex region object.
Proof The argumentation is based on the Proof-By-Constraint-And-Drawing method described in Sec-
tion 4. The constraint rules, whose correctness has been shown in Lemmas 6.2.1 to 6.2.4, reduce the
number of the 512 possible intersection matrices to 7 matrices. The ability to draw prototypes of the
corresponding 7 topological configurations (Table 8) proves that the constraint rules are complete. o
6.3 Topological Relationships between a Complex Line and a Complex Region
In the following last case, we assume thatA is a non-empty object of type line and B is a non-empty object
of type region. The following constraint rules identify all topological predicates between a complex line
object and a complex region object.
Lemma 6.3.1 The exteriors of the complex line and the complex region always intersect with each other,
i.e.,
A-nB 70
Proof The argumentation is the same as for Lemma 6.1.3. o
Lemma 6.3.2 The interior of the complex region always intersects the exterior of the complex line, i.e.,
A nB 0
Proof Assuming that this constraint rule is wrong. Then A nB = 0, and we can conclude that A D B.
From this we obtain that Vp E B 3e E R+ : N,(p) C BO = N,(p) C A. This leads to a contradiction
since Vp E B Ve E R+ : NP(p) A. o
Intuitively, a line object as a one-dimensional, linear entity cannot cover a region object, which is a
two-dimensional, areal entity.
Lemma 6.3.3 The interior or the exterior of the complex line intersects the boundary of the complex
region, i.e.,
AOn B 0 v A- nB 0 o
Proof We know that 5B f 0 and that hence R2 n 0B 5 0. Since A U aA UA = R2, we obtain that
(AO U aA UA-) n B 0. This leads to A n OB #0 V A n OB 0 V A n aB 0. Since A is a finite
point set and aB is an infinite point set, either 3A C aB or 3A n B = 0. This means that the constraint
rule A n aB B 0 V A n aB B 0 must hold. o
Lemma 6.3.4 The interior of the complex line intersects at least one part of the complex region, i.e.,
AnaB 0 v AnB 0o v AnB 70
Proof The argumentation is the same as for Lemma 6.1.4. o
Lemma 6.3.5 If the boundary of the complex line intersects the interior of the complex region, also its
interior intersects the interior of the complex region, i.e.,
(-A nBo B 0 =fAOB 0)
t (A nB 0 v A nBO 0)
Proof Without loss of generality, letp E AA n B. Since p E B, an e E R+ exists such that N,(p) C B.
Fixing such an e, and because a continuous curve with an infinite number of points starts in p, we obtain
that N(p) nA f 0. This leads to the conclusion that AO nB 0. o
Lemma 6.3.6 If the boundary of the complex line intersects the exterior of the complex region, also its
interior intersects the exterior of the complex region, i.e.,
(aAnB o0 =A nB $0)
t (OAnB =0 VAOnB 70)
Proof The argumentation is analogous to the argumentation for the constraint rule in Lemma 6.3.5. o
Lemma 6.3.7 If the boundary of the complex line intersects the boundary of the complex region, also
its exterior intersects the boundary of the complex region, i.e.,
(aA n aB 0 >A nB BB 0)
t (DA n oB =0 V A n oB 0)
Proof The boundary of a region is a line object whose components are all closed curves. Hence, this
line object only consists of interior points. This leads to the case we have discussed in Lemma 5.2.3. o
An evaluation of all 512 3 x 3-intersection matrices against these seven constraint rules with the
aid of a simple test program reveals that 43 matrices satisfy these rules and thus represent the possible
topological relationships between a complex line and a complex region. The matrices and their geometric
interpretations are shown in Table 11. Between a simple line and a simple region we can distinguish 19
topological relationships [16]. These topological predicates are contained in the 43 general ones and
correspond to the matrices 2-4, 7, 11-13, 15-17, 28, 30, 31, 35-37, 39, 41, and 42, respectively.
Matrix 1
( 00 1
0 0 0
1 1 1
Matrix 6
0 0 0
1 1 1
00
Matrix 2
0 0 1
0 1 1
"*7
Matrix 3
O 0 1\
0 1 0
11 1 1
Matrix 4
S 0 1
0 1 1
Matrix 5
0 0 0
0 1 0
Matrix 7 Matrix 8 Matrix 9 Matrix 10
0 1 0 0 1 1\0 1 1 0 1 1
0 1 0 0 0 0 0 0 1
1 1 1 1 0 1 1 1 1 1 0 1
*0
"/
Matrix 11
( 0 1 1
0 0 1
1 1 1
Matrix 12
(0 1 1
0 1 0
1 1 1
Matrix 13
(0 1 1
0 1 1
1 1 !
ax
Matrix 14
0 0 0
1 1 1
Matrix 15
( O 00\
0 1 0
1 1 1
Matrix 16 Matrix 17 Matrix 18 Matrix 19 Matrix 20
( 1 0 0 )1 0 0 )1 0 1 \1 0 1 )1 0 1)
1 0 0 1 1 0 0 0 0 0 0 1 0 1 0
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
(1 0 0100) 101)I01101
Matrix 21
( 101
0 1 1
1 1 1
Matrix 26
0 0 0
1 0 1
Matrix 23
1 0 1\
1 0 1
1 1 1
Matrix 28
0 1 0
1 1 1
Matrix 24
1 1 0
11 1
1 1 1
Matrix 29
1 0 0
1 0 1
I1 0 1
Matrix 25
1 1 1
1 1 1
Matrix 30
1 0 0
1 1 1
Matrix 31 Matrix 32 Matrix 33 Matrix 34 Matrix 35
( I 1 0 1 ) 11 1 1 1 (1 1 1)
1 1 0 0 0 0 0 0 0 0 0 1 0 0 1
1 1 1 1 0 1 1 1 1 1 0 1 1 1 1
I110) III) III) (I
C-'
Matrix 22
1 0 1
1 0 0
1 1 1
Matrix 27
(1 1 )
0 0 0
1 1 1
4
M0--A
Matrix 36
( 1 11
0 1 0
1 1 1
~W
Matrix 41
(1 1
1 0 1
1 1 1
N
Matrix 37
0 1 1
1 1 1
Matrix 42
1 1 0
1 1 1
Matrix 38
1 0 0
1 0 1
Matrix 43
(1 1 1
1 1 1
1 1 1
Matrix 39
( 111
1 0 0
1 1 1
"3>
Matrix 40
1 0 11
1 0 1
*--4
Table 11: The 43 topological relationships between a complex line and a complex region.
Finally, we can summarize our result as follows:
Theorem 6.3 Based on the 9-intersection model, 43 different topological relationships can be identified
between a complex line object and a complex region object.
Proof The argumentation is based on the Proof-By-Constraint-And-Drawing method described in Sec-
tion 4. The constraint rules, whose correctness has been shown in Lemmas 6.3.1 to 6.3.7, reduce the
number of the 512 possible intersection matrices to 43 matrices. The ability to draw prototypes of the
corresponding 43 topological configurations (Table 11) proves that the constraint rules are complete. o
7 Clustering of Topological Predicates
Based on the 9-intersection model and the predicate derivation mechanism described in Section 4, in
Sections 5 and 6, we have systematically identified the topological relationships between any two spatial
objects of the data types point, line, and region defined in Section 3. Objects of these data types have a
much more complex internal structure than simple objects (Section 2.1). We have seen that topological
predicates operating on complex spatial objects comprise, generalize, and extend the predicates found
so far for simple object structures (see Section 2.2 and Table 3). Table 12 summarizes the number of
predicates obtained for each type combination.
In the following, Section 7.1 addresses the problem of the large numbers and the manageability of
the predicates in Table 12. The next two subsections present two possible solutions based on clustering
rules (Section 7.2) and topological cluster predicates (Section 7.3) to cope with this quantity problem.
complex point complex line complex region
complex point 5 14 7
complex line 14 82 43
complex region 7 43 33
Table 12: Number of topological predicates between two complex spatial objects.
7.1 The Quantity Problem
Compared to Table 3, unsurprisingly the number of topological predicates has increased for each com-
bination of complex data types. Already for topological predicates on simple spatial objects, the large
numbers of predicates have been considered a problem since they make it difficult for users to distin-
guish, remember, and handle them [7]. Consequently, this is, in particular, the case for the topological
predicates on complex spatial objects. For example, whereas the 5 relationships between complex points
are manageable and distinguishable by the user, this is certainly not the case for the 82 relationships
between complex lines.
Frequently the user will not be interested in such a large, overwhelming collection of detailed pred-
icates for a particular type combination and prefer a reduced and manageable set instead. We call such
a reduced set of predicates cluster. Such a cluster should be user-defined and/or application-specific.
It should be user-defined and thus flexible since the user should be able to select which predicates she
wants to merge to more general predicates for her purposes. It should be application-specific since
different applications may have a different understanding and thus definition of topological predicates
carrying the same name. For example, one application could employ the inside predicate according to its
original meaning, whereas another application could perhaps wish not to distinguish between inside and
coveredBy but merge them and call the result predicate inside too.
Two possible solutions consist in (i) the design of clustering rules for topological predicates and (ii)
in the explicit construction of user-defined and/or application-specific topological cluster predicates and
topological predicate clusters. We will see that the first solution is more a designer approach than a user
approach like the second solution and that its outcome implicitly leads to cluster predicates.
7.2 Implicit Definition of Topological Cluster Predicates through Clustering Rules
Clustering rules are relaxed constraint rules which do not take into account all nine intersections of the
9-intersection matrix. Only a predicate designer but not a user can usually specify them. They must be
defined in a way so that they are mutually exclusive and cover all basic topological predicates identified
in Sections 5 or 6 for the respective type combination. As an example, we will now give a specification
of eight constraint rules that is generic in the sense that it is valid for all type combinations considered.
Let A E a, A $ 0, and B E 3, B $ 0, for a, p E {point, line, region}. In the following, the notation pc
indicates that a predicate p is clustered. We define:
Clustering Rule 1 Two spatial objects are disjoint, if the parts of one object intersect at most with the
exterior of the other object, i.e.,
disjointc(A,B) defA nB' = 0 A An oB = 0 AA n B =- 0 AA On B = 0
Clustering Rule 2 Two spatial objects meet, if both interiors do not intersect, but the interior or the
boundary of one object intersects the boundary of the other object, i.e.,
meetc(A,B) defA nB = 0 A (A nB 5 o V A nB B 0 V A n 5B 0)
Clustering Rule 3 A spatial object is located inside another object, if (i) their interiors intersect, (ii) the
inner object does not share anything with the exterior of the other object, (iii) the interior of the containing
object is partially located in the exterior of the inner object, and (iv) the boundaries of both objects do
not intersect, i.e.,
insidec(A,B) defA nB 0 A AnB- 0 A A A AnB 0 AA nAB = 0
Clustering Rule 4 The relationships that are symmetric to inside describe the predicate contains, i.e.,
containsc(A,B) defA nBO 0 AAn- 0 A A B 0 A nB= A n B 0
Clustering Rule 5 A spatial object is covered by another object, if (i) their interiors intersect, (ii) the
inner object does not share anything with the exterior of the other object, (iii) the interior of the containing
object is partially located in the exterior of the inner object, and (iv) the boundaries of both objects
intersect, i.e.,
coveredByc(A,B) df A nB 0 A A nB- = 0 A A nB 0 A naB 0
Clustering Rule 6 The relationships that are symmetric to coveredByc describe the predicate covers,
i.e.,
coversc(A,B) def A nB 0 A A nB 0 AA BA- B = 0 A aA nB 0
Clustering Rule 7 Two spatial objects are equal, if at most corresponding parts intersect, i.e.,
equal (A, B) df AOn B 0= A A n B A A n B 0 A
aAnB =0 AA -nB 0 A A noB =0
Clustering Rule 8 Two spatial objects overlap, if the interior of each object intersects both the interior
and the exterior of the other object, i.e.,
overlap,(A,B) def A nB 0 A A nB- 0 A A- nB 0
In order to prove the mutual exclusion of the obtained topological cluster predicates as well as the
complete coverage of all basic topological predicates by them, we do not argue on the basis of our
definitions of clustering rules. Instead, the strategy is to match each clustering rule against all basic
topological predicates, which are then associated with possible cluster predicates. Table 13 shows the
result.
For each type combination it is easy to verify that each basic topological predicate is assigned to at
most one topological cluster predicate and that there is no basic topological predicate that is not assigned
to a cluster predicate. Hence, each basic predicate is assigned to exactly one cluster predicate, and all
basic predicates are covered.
Cluster point/ line/ region/ point/ point/ line/
Predicate point line region line region region
disjoint, 1 1-4 1 1,2 1 1, 2
meet 5-32 2-4 3-6 2, 3 3-13
covers 49, 52, 69, 72 10, 20
coveredBy, 37, 38, 41, 42 6,8 15, 17, 28, 31
inside 3 34, 35, 39,40 7 7, 8, 11, 12 4, 6 14, 16, 26, 27,
29, 30
contains 4 43, 46, 63, 66 17
overlap 5 44, 45, 47, 48, 9, 11-16, 18, 9, 10, 13, 14 5,7 18-25, 32-43
50, 51, 53-62, 19, 21-33
64, 65, 67, 68,
70, 71, 73-82
equal 2 33, 36 5
Table 13: Generic topological cluster predicates and assigned basic topological predicates depending on
the type combination and indicated by their matrix numbers.
7.3 Explicit Definition of Topological Cluster Predicates through Disjunctions
The lists of matrix numbers in Table 13 express that each clustered predicate is equal to a disjunction
of basic predicates. Hence, from a user perspective, a cluster predicate summarizes basic topological
predicates under a common name. In a database context, a user should be able to use disjunctions of
basic topological predicates for explicitly constructing cluster predicates.
A first problem is how to address basic topological predicates, since they are nameless because of
their large amount. For this purpose, we introduce the six type-combination specific predicates tp_pp,
tppl, tppr, tpll, tpjr, and tp_rr (the prefix "tp_" stands for topologicall predicate", the last two letters
denote the type combination) and parameterize them by their matrix number. Since we do not have
predicate names and since the user can identify topological relationships only by looking at the example
scenarios, we regard this as a practicable solution. For example, the two basic predicates tppr(5) and
tppr(7) denote the two possible overlap situations between a point object and a region object.
A second problem is how user-defined topological cluster predicates can be specified in a database
context. Here we propose an extension of the data description language (DDL) of SQL. For example, a
DDL command
create tpclpred Ir_inside(tp_lr(14), tp_lr(16), tp_lr(26),
tp_lr(27), tp_lr(29), tp_lr(30));
could specify a cluster predicate Irinside which for two objects A E line and B E region computes the
logical expression
Ir_inside(A,B) def tp_lr(14)(A,B) V tp_lr(16)(A,B) V tp_lr(26)(A,B) V
tp_lr(27)(A,B) V tp_lr(29)(A,B) V tp_lr(30)(A,B)
The predicate Irinside can now be employed in a query. For example, assuming the two relations
rivers(rname:string, route:line) and states(sname:string, area:region), we can pose
the query "Determine river names and state names where the river is located within the state." as follows:
SELECT name, same FROM rivers, states WHERE route Ir_inside area
A user can, of course, define arbitrary cluster predicates. It is especially possible to define different
cluster predicates which do not completely exclude each other since they contain common basic topo-
logical predicates. To define a collection of mutually exclusive cluster predicates which covers all basic
topological predicates, we allow the specification of topological predicate clusters. For example, each
column of Table 13 represents such a predicate cluster. An extension of the DDL of SQL could formulate
the predicate cluster for the point/line case in Table 13 as follows:
create tppredcluster pl_cluster
(pl_disjoint(tp_pl(1), tp_pl(2)),
pl_meet(tp_pl(3), tp_pl(4), tp_pl(5), tp_pl(6)),
pl_inside(tp_pl(7), tp_pl(8), tp_pl(11), tp_pl(12))
pl_overlap(tp_pl(9), tp_pl(10), tp_pl(13), tp_pl(14)))
Since the same cluster predicate can be defined differently in different predicate clusters, a user must
be able to indicate which cluster she would like to use. A cluster can be selected by the DDL command
use tppredcluster pl_cluster
In the same way as a query language should be prepared to incorporate basic topological predicates,
cluster predicates, and predicate clusters, these concepts should also be integrated into the application
programming interface of a spatial database or GIS.
8 Conclusions and Future Work
From a formal and an application point of view, spatial applications require by far more complex geo-
metric structures than the usual simple points, lines, and regions that can be currently found in spatial
database systems, spatial query languages, and GIS. In the meantime, some GIS and database vendors
have recognized this shortcoming and begun to incorporate more complex spatial data types into their
systems. A first contribution of this paper is that we have defined very general and versatile spatial data
types for complex points, complex lines, and complex regions in the two-dimensional Euclidean space
on the basis of point set theory and point set topology. Complex points may be composed of a finite set
of isolated points, complex lines may represent spatially embedded graphs possibly consisting of several
connected components, and complex regions may consist of several components where each component
possibly contains holes.
The introduction of complex spatial data types leads to a larger variety of topological relationships.
The investigation and formalization of complete collections of mutually exclusive topological relation-
ships between all combinations of complex spatial data types has been the second main contribution of
this paper. It has been done on the basis of the well-known 9-intersection model.
Due to the large amounts of predicates for each type combination and the user's difficulty to handle
them, our third contribution consists in the introduction of topological cluster predicates and topological
predicate clusters. These two concepts allow the user to group basic topological predicates under a
common name and thus to reduce the number of predicates.
A main topic of future work consists in the implementation of all basic topological predicates as well
as cluster predicates. Literature on the implementation of topological predicates is rare (see Section 2). It
is common view that a plane sweep technique [3] from Computational Geometry can solve the problem.
But the implementation of a single algorithm for each topological predicate of each type combination
can become rather troublesome. We pursue the idea to design a single evaluation algorithm for each
type combination. The task of such an algorithm is to determine the topological relationship for a given
scenario of two spatial objects. The determined predicate is then matched against the query predicate.
The implementation will be part of SPAL2D which is a sophisticated spatial algebra under development
for two-dimensional applications.
References
[1] R. Abler. The National Science Foundation Center for Geographic Information and Analysis. Int.
Journal of Geographical Information Systems, 1(4):303-326, 1987.
[2] T. Behr and M. Schneider. Topological Relationships of Complex Points and Complex Regions.
Int. Conf on Conceptual Modeling, pp. 56-69, 2001.
[3] M. de Berg, M. van Krefeld, M. Overmars, and 0. Schwarzkopf. Computational Geometry: Algo-
rithms and Applications. Springer-Verlag, third edition, 2000.
[4] E. Clementini and P. Di Felice. A Model for Representing Topological Relationships between
Complex Geometric Features in Spatial Databases. Information Systems, 90(1-4):121-136, 1996.
[5] E. Clementini and P. Di Felice. Topological Invariants for Lines. IEEE Trans. on Knowledge and
Data Engineering, 10(1), 1998.
[6] E. Clementini, P. Di Felice, and G. Califano. Composite Regions in Topological Queries. Informa-
tion Systems, 20(7):579-594, 1995.
[7] E. Clementini, P. Di Felice, and P. van Oosterom. A Small Set of Formal Topological Relationships
Suitable for End-User Interaction. 3rd Int. Symp. on Advances in Spatial Databases, LNCS 692,
pp. 277-295, 1993.
[8] Z. Cui, A. G. Cohn, and D. A. Randell. Qualitative and Topological Relationships. 3rdInt. Symp.
on Advances in Spatial Databases, LNCS 692, pp. 296-315, 1993.
[9] J.R. Davis. IBM's DB2 Spatial Extender: Managing Geo-Spatial Information within the DBMS.
Technical report, IBM Corporation, 1998.
[10] M. J. Egenhofer. A Formal Definition of Binary Topological Relationships. 3rdInt. Conf on Foun-
dations of Data Organization and Algorithms, LNCS 367, pp. 457-472. Springer-Verlag, 1989.
[11] M. J. Egenhofer. Definitions of Line-Line Relations for Geographic Databases. 16th Int. Conf on
Data Engineering, pp. 40-46, 1993.
[12] M. J. Egenhofer. Spatial SQL: A Query and Presentation Language. IEEE Trans. on Knowledge
and Data Engineering, 6(1):86-94, 1994.
[13] M. J. Egenhofer, A. Frank, and J. P. Jackson. A Topological Data Model for Spatial Databases. 1st
Int. Symp. on the Design and Implementation ofLarge Spatial Databases, LNCS 409, pp. 271-286.
Springer-Verlag, 1989.
[14] M. J. Egenhofer and R. D. Franzosa. Point-Set Topological Spatial Relations. Int. Journal of
Geographical Information Systems, 5(2):161-174, 1991.
[15] M. J. Egenhofer and J. Herring. A Mathematical Framework for the Definition of Topological
Relationships. 4th Int. Symp. on Spatial Data Handling, pp. 803-813, 1990.
[16] M. J. Egenhofer and J. Herring. Categorizing binary topological relations between regions, lines,
and points in geographic databases. Technical Report 90-12, National Center for Geographic Infor-
mation and Analysis, University of California, Santa Barbara, 1990.
[17] M. J. Egenhofer and D. Mark. Modeling Conceptual Neighborhoods of Topological Line-Region
Relations. Int. Journal of Geographical Information Systems, 9(5):555-565, 1995.
[18] M.J. Egenhofer, E. Clementini, and P. Di Felice. Topological Relations between Regions with
Holes. Int. Journal of Geographical Information Systems, 8(2): 128-142, 1994.
[19] M.J. Egenhofer and R. Franzosa. On the Equivalence of Topological Relations. Int. Journal of
Geographical Information Systems, 9(2): 133-152, 1995.
[20] M. Erwig and M. Schneider. Spatio-Temporal Predicates. IEEE Trans. on Knowledge and Data
Engineering, 14(4): 1-42, 2002.
[21] ESRI Spatial Database Engine (SDE). Environmental Systems Research Institute, Inc., 1995.
[22] J. Freeman. The Modelling of Spatial Relations. Computer Graphics andImage Processing, 4:156-
171, 1975.
[23] S. Gaal. Point Set Topology. Academic Press, 1964.
[24] R. H. Gtiting. Geo-Relational Algebra: A Model and Query Language for Geometric Database
Systems. Int. Conf on Extending Database Technology, pp. 506-527, 1988.
[25] R. H. Gtiting and M. Schneider. Realms: A Foundation for Spatial Data Types in Database Systems.
3rd Int. Symp. on Advances in Spatial Databases, LNCS 692, pp. 14-35. Springer-Verlag, 1993.
[26] R. H. Giiting and M. Schneider. Realm-Based Spatial Data Types: The ROSE Algebra. VLDB
Journal, 4:100-143, 1995.
[27] R.H. Gtiting, M.H. Bohlen, M. Erwig, C.S. Jensen, N.A. Lorentzos, M. Schneider, and
M.Vazirgiannis. A Foundation for Representing and Querying Moving Objects. ACM Trans. on
Database Systems, 25(1):881-901, 2000.
[28] Informix Geodetic DataBlade Module: User's Guide. Informix Press, 1997.
[29] OGC Abstract Specification. OpenGIS Consortium (OGC), 1999. URL:
http://www.opengis.org/techno/specs.htm.
[30] OGC Geography Markup Language (GML) 2.0. OpenGIS Consortium (OGC), 2001. URL:
http://www.opengis.net/gml/01-029/GML2.html.
[31] Oracle8: Spatial Cartridge. An Oracle Technical White Paper. Oracle Corporation, 1997.
[32] J. A. Orenstein and F. A. Manola. PROBE Spatial Data Modeling and Query Processing in an
Image Database Application. IEEE Trans. on Software Engineering, 14:611-629, 1988.
[33] N. Roussopoulos, C. Faloutsos, and T. Sellis. An Efficient Pictorial Database System for PSQL.
IEEE Trans. on Software Engineering, 14:639-650, 1988.
[34] M. Schneider. Spatial Data Types for Database Systems Finite Resolution Geometry for Geo-
graphic Information Systems, volume LNCS 1288. Springer-Verlag, Berlin Heidelberg, 1997.
[35] M. Schneider. A Design of Topological Predicates for Complex Crisp and Fuzzy Regions. Int.
Conf on Conceptual Modeling, pp. 103-116, 2001.
[36] M. Schneider. Implementing Topological Predicates for Complex Regions. Int. Symp. on Spatial
Data Handling, pp. 313-328, 2002.
[37] R. B. Tilove. Set Membership Classification: A Unified Approach to Geometric Intersection Prob-
lems. IEEE Trans. on Computers, C-29:874-883, 1980.
*
* |