Spatial Data Types: Conceptual Foundation for the Design and ...

71
Spatial Data Types: Conceptual Foundation for the Design and Implementation of Spatial Database Systems and GIS Markus Schneider FernUniversität Hagen Praktische Informatik IV D-58084 Hagen Germany [email protected]

Transcript of Spatial Data Types: Conceptual Foundation for the Design and ...

Page 1: Spatial Data Types: Conceptual Foundation for the Design and ...

: for

ation ofand GIS

Spatial Data TypesConceptual Foundation

the Design and ImplementSpatial Database Systems

Markus Schneider

FernUniversität HagenPraktische Informatik IV

D-58084 HagenGermany

[email protected]

Page 2: Spatial Data Types: Conceptual Foundation for the Design and ...

2

ir most important application aimc data. Research has shown thatepresent geometric data in data-such as point, line, and region but. Spatial data types provide a fun-n space, their relationships, prop-for a successful design of spatialexerts a great influence on the

of whether a DBMS uses a rela-odel. Hence, the definition andissue in the development of spa-ffective construction of important, optimizers for spatial data, spa-aces) and for a cooperation withal data blades and cartridges).

nd implementation of spatial dataspace in a three-level model and. Then we pose design criteria forcriteria. Furthermore, we classifyperspectives. Our main interest is

semantics of spatial data typesimplementation.

Markus Schneider, Tutorial “Spatial Data Types“

Abstract

Spatial database systems and Geographic Information Systems as theat storing, retrieving, manipulating, querying, and analysing geometrispecial data types are necessary to model geometry and to suitably rbase systems. These data types are usually called spatial data types,also include more complex types like partitions and graphs (networks)damental abstraction for modeling the geometric structure of objects ierties and operations. Their definition is to a large degree responsibledata models and the performance of spatial database systems andexpressive power of spatial query languages. This is true regardlesstional, complex object, object-oriented, or some other kind of data mimplementation of spatial data types is probably the most fundamentaltial DBMS. Consequently, their understanding is a prerequisite for an ecomponents of a spatial database system (like spatial index structurestial query languages, storage management, and graphical user interfextensible DBMS providing spatial type extension packages (like spati

The goal of this tutorial is to present the state of the art in the design atypes. First, we summarize the modeling process for phenomena incategorize the treatment of spatial data types with regard to this modelthe types and analyse current proposals for them according to thesethe proposed types and the operations defined on them from differentdirected towards approaches which provide a formal definition of theand which offer methods for their numerically and topologically robust

Page 3: Spatial Data Types: Conceptual Foundation for the Design and ...

3

2.6 ADTs in Databases for Supporting

tion Point of View? ................ 25ication..................................... 27les of Spatial Type Systemsle Spatial Objects.................. 28

ns ........................................... 43

nition Methods........................ 47 We Need Formal

ons? ....................................... 48et Theory ............................... 49et Topology............................ 51et Theory............................... 52ormal Approaches................. 57

plementing SDTs: Datand Algorithms ........................ 59enting SDT Values ................ 60enting Atomic SDTions ........................................ 62

6 Other Interesting Issues and Research............................................... 64nteresting Issues notd in this Tutorial ..................... 65t Research Trends ................. 66

............................................... 67

Markus Schneider, Tutorial “Spatial Data Types”

Data Model Independence ................ 212.7 Integrating Spatial Data Types into

a DBMS Data Model.......................... 22

3 Spatial Data Models and Type Systems ... 243.1 What Has to Be Modeled from an

Trends .......6.1 Other I

Covere6.2 Curren

References .....

Contents

Abstract.......................................................... 2

Contents ........................................................ 3

1 What are Spatial Data Types (SDTs)?...... 4

2 Foundations of Spatial Data Modeling ...... 72.1 What Needs to Be Represented?...... 82.2 A Three-Level Model for

Phenomena in Space........................ 102.3 Design Criteria for Modeling

Spatial Data Types ............................ 112.4 Closure Properties and Geometric

Consistency....................................... 122.5 Organizing the Underlying Space:

Euclidean Geometry versusDiscrete Geometric Bases................. 13

Applica3.2 Classif3.3 Examp

for Sing3.4 Partitio

4 Formal Defi4.1 Why do

Definiti4.2 Point S4.3 Point S4.4 Finite S4.5 Other F

5 Tools for ImStructures a5.1 Repres5.2 Implem

Operat

Page 4: Spatial Data Types: Conceptual Foundation for the Design and ...

4

y and to suitably represent

etworks)

metric structure of objects in

entation of a spatial DBMS

of spatial data models

ystems

l query languages

BMS

Markus Schneider, Tutorial “Spatial Data Types“

1 What are Spatial Data Types (SDTs)?

Spatial data types

• ... are special data types needed to model geometrgeometric data in database systems

• Examples: point, line, region; partitions (maps), graphs (n

• ... provide a fundamental abstraction for modeling the geospace, their relationships, properties, and operations

• ... are an important part of the data model and the implem

The definition of SDTs

• ... is to a large degree responsible for a successful design

• ... decisively affects the performance of spatial database s

• ... exerts a great influence on the expressiveness of spatia

• ... should be independent from the data model used by a D

Page 5: Spatial Data Types: Conceptual Foundation for the Design and ...

5

f a spatial database systemta, spatial query languages,

l type extension packages

pes is probably the most systems.

and implementation of spatial

Markus Schneider, Tutorial “Spatial Data Types“

Conclusions

• An understanding of SDTs is a prerequisite

− for an effective construction of important components o→ spatial index structures, optimizers for spatial da

storage management, graphical user interfaces

− for a cooperation with extensible DBMS providing spatia→ spatial data blades, cartridges

• The definition and implementation of spatial data tyfundamental issue in the development of spatial database

Focus of this tutorial: present the state of the art in the designdata types

Page 6: Spatial Data Types: Conceptual Foundation for the Design and ...

6

orithms

Systems - Finite Resolution8, Springer Verlag, 1997.

Markus Schneider, Tutorial “Spatial Data Types“

Contents of this tutorial

2 Foundations of Spatial Data Modeling

3 Spatial Data Models and Type Systems

4 Formal Definition Methods

5 Tools for Implementing SDTs: Data Structures and Alg

6 Other Interesting Issues and Researchs Trends

Tutorial based on the book:

Markus Schneider, Spatial Data Types for DatabaseGeometry for Geographic Information Systems, LNCS 128

Page 7: Spatial Data Types: Conceptual Foundation for the Design and ...

7

try versus Discrete

endence

del

Markus Schneider, Tutorial “Spatial Data Types“

2 Foundations of Spatial Data Modeling2.1 What Needs to Be Represented?

2.2 A Three-Level Model for Phenomena in Space

2.3 Design Criteria for Modeling Spatial Data Types

2.4 Closure Properties and Geometric Consistency

2.5 Organizing the Underlying Space: Euclidean GeomeGeometric Bases

2.6 ADTs in Databases for Supporting Data Model Indep

2.7 Integrating Spatial Data Types into a DBMS Data Mo

Page 8: Spatial Data Types: Conceptual Foundation for the Design and ...

8

Space

nt about every point in space

use maps (“thematic maps”)

itions into states, districts, ...

Markus Schneider, Tutorial “Spatial Data Types“

2.1 What Needs to be Represented?

Two views of spatial phenomena:

• objects in space (entity-oriented / feature-based view)

→ vector data, spatial database systems

• space itself (space-oriented / position-based view)

→ raster data, image database systems

We consider:

• modeling single, self-contained objects

• modeling spatially related collections of objects

Objects in space

city Berlin, pop = 4000000,..., area =

highway A45, ...,route =

Stateme

• land

• part

Page 9: Spatial Data Types: Conceptual Foundation for the Design and ...

9

bjects

tions of objects

region

citylakedistrictforestcornfield

(extent of an object relevant)

bedded network (graph)

highwaysrailwaysriverselectricityphone

els

Markus Schneider, Tutorial “Spatial Data Types“

Fundamental abstractions for modeling single, self-contained o

Fundamental abstractions for modeling spatially related collec

point line

highwayrivercableroute

citycastlelighthousechurch

(location of object in spacebut not its extent relevant)

(connections in space,movement through space)

partition Spatially em

land usedistrictswardscountriesspeech areas

Others: nested partitions, digital terrain mod

Page 10: Spatial Data Types: Conceptual Foundation for the Design and ...

10

types: city, state, river

tions: lies_in: city → state,ow: river → line)

al data types: point, line,polygon

ations: point-in-polygon test,intersection

tions: overlay, shortest_path

re types: sets, sequences,artitions, networks

Markus Schneider, Tutorial “Spatial Data Types“

2.2 A Three-Level Model for Phenomena in Space

cityObjectmodeling

Spatial objects

Spatialmodeling

Object

Operafl

Spati

Oper

pop name

Structuremodeling

Structure objects

Opera

Structup

Spatially-referenced objects

Page 11: Spatial Data Types: Conceptual Foundation for the Design and ...

11

Finite Resolution,numerical robustness,opological correctness

metricistency

alition

Markus Schneider, Tutorial “Spatial Data Types“

2.3 Design Criteria for Modeling Spatial Data Types

t

Extensibility

Closureproperties

Generaldefinition

Data modelindependence

Efficiency

Geocons

Formdefin

Design ofspatial data types

Page 12: Spatial Data Types: Conceptual Foundation for the Design and ...

12

ed objects

underlying point sets

l requirements

=

=

=

cy contraints

meeting lines

Markus Schneider, Tutorial “Spatial Data Types“

2.4 Closure Properties and Geometric Consistency

General definition/structure of spatial objects

Support of geometric consistency constraints for spatially relat

→ spatial objects must be closed under set operations on the

application-driven requirements

Niedersachsen

Bremen

forma

→ SDT definition must offer facilities to enforce such consisten

adjacent regions

Page 13: Spatial Data Types: Conceptual Foundation for the Design and ...

13

y versus Discrete Geomet-

l × real)

tencies and degeneracies

tations available in computers

Is D on A?

Is D properly con-tained in the areabelow A and B?

What happens ifthere is a segmentC between D andD'?

Markus Schneider, Tutorial “Spatial Data Types“

2.5 Organizing the Underlying Space: Euclidean Geometrric Bases

Euclidean space is continuous (p = (x, y) ∈ IR2)

• basis of Computational Geometry algorithms

But: computer numbers are finite and discrete (p = (x, y) ∈ rea

• → numerical rounding errors → topological inconsis

→ formal SDT definitions must bear in mind the finite represen

B

D'

A

D

Page 14: Spatial Data Types: Conceptual Foundation for the Design and ...

14

in geometric operations

on

Markus Schneider, Tutorial “Spatial Data Types“

Solution: avoid computation of any new intersection points with

Two approaches:

• Simplicial complexes

Frank & Kuhn 1986

Egenhofer, Frank & Jackson 1989

• Realms

Güting & Schneider 1993

Schneider 1997

Definition ofspatial types and operations

Treatment of numerical problems upupdates on the geometric basis

Page 15: Spatial Data Types: Conceptual Foundation for the Design and ...

15

dent of metric positions

of dimension k

f dimension k−1

implices is either empty or a

nd points of the lines, no twoeometry only recorded once)

a (k+1)-simplexndaries of triangles, etc.; nodary

3-simplex

etc.

Markus Schneider, Tutorial “Spatial Data Types“

Simplicial Complexes

• topological relations are separately recorded and indepen

• use of k-simplices for representing minimal spatial objects

− construction rule: k-simplex consists of k+1 simplices o

− component of a simplex is called face

• two completeness principles

− completeness of incidence: the intersection of two k-sface of both simplices→ no line intersection at points which are not start or e

geometric objects may exist at the same location (g

− completeness of inclusion: every k-simplex is a face of → all point are end points of lines, all lines are bou

isolated points, no lines which are not part of a boun

2-simplex1-simplex0-simplex

Page 16: Spatial Data Types: Conceptual Foundation for the Design and ...

16

rsection of any two simplices

p of this approach

g representations of spatial

uctures needed to realize (at

plicial complexes

Markus Schneider, Tutorial “Spatial Data Types“

• Simplicial complex: finite set of simplices such that the inteis empty or a face

• Advantages

− maintenance of topological consistency

− approach fulfils closure properties

• Drawbacks

− unfortunately: no spatial algebra has been defined on to

− triangulation of space would lead to space-consuminobjects

− no treatment of numerical problems: additional data strleast imprecise) metric operations

correct simplicial complexes no sim

Page 17: Spatial Data Types: Conceptual Foundation for the Design and ...

17

ing geometry (all points and

ine segments defined over a

t

r overlap

BC

D

Markus Schneider, Tutorial “Spatial Data Types“

Realms

Realm (intuitive notion): description of the complete underlylines) of an application or application space

Realm (formally): A finite set of points and non-intersecting lgrid such that

• each point and each end point of a segment is a grid poin

• each end point of a segment is also a point of the realm

• no realm point lies within a segment

• any two distinct segments do neither properly intersect no

→ A realm is a spatially embedded planar graph

A

Page 18: Spatial Data Types: Conceptual Foundation for the Design and ...

18

ing line segments

h each other

B

Markus Schneider, Tutorial “Spatial Data Types“

All numerical problems are treated below the realm layer:

• input: application data that are sets of points and intersect

• output: “realmified” data that have become acquainted wit

• basic idea: slightly distort/perturb both segments

B

D'

A

D

Good solution?

A

Page 19: Spatial Data Types: Conceptual Foundation for the Design and ...

19

BD

CE

n of segment A withher segment C

Markus Schneider, Tutorial “Spatial Data Types“

B

A

D

CE

Ap

Observations

• Segments can move far awayfrom their original position byiterated intersections!

• Topological errors can occur:point p is now on the wrongside of A!

Intersectiosome furt

Page 20: Spatial Data Types: Conceptual Foundation for the Design and ...

20

& Yao 1986)

e of closure properties

from problems of numerical

jects

leave the realm closure), e.g.,

ifficult, propagation of realmts

nts

e “caught” within theirvelope

n never cross a gridint

Markus Schneider, Tutorial “Spatial Data Types“

Solution: redrawing of segments within their envelope (Greene

Advantages of the realm concept

• definition of distinct SDTs on a common domain, guarante

• protection of geometric computation in query processingrobustness and topological correctness

• enforcement of geometric consistency of related spatial ob

Disadvantages of the realm concept

• no SDT operations possible that create new geometries (convex_hull, voronoi

• integration of realms into database systems somewhat dupdates to realm-based attribute values in database objec

P Segme

• aren

• capo

Page 21: Spatial Data Types: Conceptual Foundation for the Design and ...

21

ndence

ata types/algebras

ns

eometry for SDTs)

for operations

Markus Schneider, Tutorial “Spatial Data Types“

2.6 ADTs in Databases for Supporting Data Model Indepe

Modeling aspects

• Separation of DBMS data model and application-specific d

• Modularity, conceptual clarity

• Reusability of ADTs for different DBMS data models

• Extensibility of DBMS data models

Implementation aspects

• Modularity, information hiding, exchange of implementatio

• Employment of specialized methods (e.g. Computational G

• Efficiency of data structures for data types and algorithms

Page 22: Spatial Data Types: Conceptual Foundation for the Design and ...

22

el

s)

es, regions) by objects of the

es

ility

, spop: integer)

nt, extent: region,

Markus Schneider, Tutorial “Spatial Data Types“

2.7 Integrating Spatial Data Types into a DBMS Data Mod

Integration of single, self-contained spatial objects

• can be realized in a data model independent way (→ ADT

• Basic concept: represent “spatial objects” (i.e., points, linDBMS data model with at least one SDT attribute

• DBMS data model must be open for new, user-defined typ

→ ADT support, → data model independence, → extensib

• Example for the relational model:

relation states(sname: string, area: region

relation cities( cname: string, center: poicpop: integer)

relation rivers(rname: string, route: line)

Page 23: Spatial Data Types: Conceptual Foundation for the Design and ...

23

ns cannot be modeled

constraint by the DBMS

ted into an OO model

Markus Schneider, Tutorial “Spatial Data Types“

Integration of spatially related collections of objects

• not data model independent

• partitions

− set of database objects with region attribute?

− loss of information: disjointedness or adjacency of regio

− Güting 1988: SDT area, but: no support of this integrity

• networks

− not much research on spatially embedded networks

− e.g., Güting 1994: GraphDB with explicit graphs integra

Page 24: Spatial Data Types: Conceptual Foundation for the Design and ...

24

f View?

l Objects

Markus Schneider, Tutorial “Spatial Data Types“

3 Spatial Data Models and Type Systems3.1 What Has to Be Modeled from an Application Point o

3.2 Classification

3.3 Examples of Spatial Type Systems for Single Spatia

3.4 Partitions

Page 25: Spatial Data Types: Conceptual Foundation for the Design and ...

25

View?

), intersect (overlap), meet

side / contains

Markus Schneider, Tutorial “Spatial Data Types“

3.1 What Has to Be Modeled from an Application Point of

Spatial data types

• single, self contained objects: points, lines, regions

• spatially related collections of objects: partitions, networks

Spatial operations

• spatial predicates returning boolean values

− topological relationshipse.g., equal, unequal, disjoint, adjacent (neighboring(touch), inside (in), outside, covered_by, contains

− metric relationshipse.g., in_circle, in_window

− spatial order and strict order relationshipse.g., behind / in_front_of, above / below, over / under, in

− directional relationshipse.g., north / south, left / right

Page 26: Spatial Data Types: Conceptual Foundation for the Design and ...

26

axdist, direction, components

, boundary (border), box

, clipping

Markus Schneider, Tutorial “Spatial Data Types“

Spatial Operations (continued)

• spatial operations returning numberse.g., area, perimeter, length, diameter, dist, mindist, m(cardinality)

• spatial operations returning new spatial objects

− object construction operationse.g., union, intersection, difference, convex_hull, center

− object transformation operationse.g., extend, rotate, translate

• spatial operations on sets of spatially related objects

− general operationse.g., voronoi, closest, compose, decompose

− operations for partitionse.g., overlay, superimposition, fusion, cover, windowing

− operations for networkse.g., shortest_path

Page 27: Spatial Data Types: Conceptual Foundation for the Design and ...

27

, ... (topological relationships)

Segoufin 1998

(simplex-based model)

Markus Schneider, Tutorial “Spatial Data Types“

3.2 Classification

Concrete Models

• point-based models, e.g.

− Güting 1988 (geo-relational algebra)

− Worboys & Bofakos 1993 (complex regions with holes)

− Egenhofer & Herring 1990, Egenhofer & Franzosa 1991

− Belussi, Bertino & Catania 1997, Grumbach, Rigaux & (linear constraint approach)

• discrete models

− Güting & Schneider 1995 (ROSE algebra)

− Frank & Kuhn 1986, Egenhofer, Frank & Jackson 1989

Abstract Models

• logic (pointless, axiomatic) models, e.g.

− Cui, Cohn & Randell 1993, ... (spatial logic)

Page 28: Spatial Data Types: Conceptual Foundation for the Design and ...

28

Objects

(based on point set theory)

ions + atomic data types)

: int)

, a pgon value is a polygon

em but by the user

{point, ext}

tersects is_neighbor_of

Markus Schneider, Tutorial “Spatial Data Types“

3.3 Examples of Spatial Type Systems for Single Spatial

(1) Güting 1988 (geo-relational algebra)

• Relational algebra viewed as a many-sorted algebra (relat

• Sorts: rel; int, real, string, bool; point, line, pgon, area

• example relation: states(sname: string, extent: area, cpop

• a point value is a single point, a line value is a polylinewithout holes

• special type area for modeling partitions

→ but: partition constraints are not maintained by the syst

• generalizations: reg = {pgon, area}, ext = {line, reg}, geo =

Geometric predicates

=, ≠: geoi × geoi → bool

inside: geo × reg → bool

intersects: ext × ext → bool

is_neighbor_of: area × area → bool inside in

Page 29: Spatial Data Types: Conceptual Foundation for the Design and ...

29

voronoi

center

Markus Schneider, Tutorial “Spatial Data Types“

Geometric relation operations

intersection: line* × line* → point*

line* × reg* → line*

pgon* × reg* → pgon*

overlay: area* × area* → area*

vertices: ext* → point*

voronoi: point* × reg → area*

closest: point* × point → rel

Operations returning atomic geometric objects

convex_hull: point* → pgon

center: point* → point

ext → point

intersection

convex_hull

Page 30: Spatial Data Types: Conceptual Foundation for the Design and ...

30

imple polygonsunion, difference of polygons

g the intersection of twol objects must be embeddedlation operation

merically critical operationsed

data structures + algorithms

Markus Schneider, Tutorial “Spatial Data Types“

Operations returning numbers

dist: point × point → real

mindist, maxdist: geo × geo → real

diameter: point* → real

length: line → real

perimeter, area: reg → real

Comparison to design criteria

• general definition, closure properties −

• formal definition +

• finite precision arithmetic −

• support for geometric consistency (−)

• efficiency +

• extensibility +

• data model independence −

Remarks

• only s→ no

• forminspatiain a re

• no nuinclud

• simple

Page 31: Spatial Data Types: Conceptual Foundation for the Design and ...

31

(based on point set topology)

s to any finite level

sed disc

ibed by a skeleton graph

ions

ts

tersection of any two distincts is either empty or aton set

osite object has no holes

h

g

f

Markus Schneider, Tutorial “Spatial Data Types“

(2) Worboys & Bofakos 1993

• complex spatial regions with holes and islands within hole

• atom: subset of IR2 that is topologically equivalent to a clo

• base area: aggregation of atoms whose structure is descr

• generic area: recursive construction of complex spatial reg

g

f

ec

d

a

b

vb

vf

vevd

vc

va

vg

Constrain

• the inatomsingle

• comp

a

c

b

f

e

h

g

da

b

e

dc

= −

Page 32: Spatial Data Types: Conceptual Foundation for the Design and ...

32

boundary, adjacent, centroid,

gions)

ase area

or w of v holds: (a) w ⊂ v,y of v has finite cardinality

Markus Schneider, Tutorial “Spatial Data Types“

• operations: e.g., equals, intersection, union, difference,area, perimeter, cardinality, components, connected

Comparison to design criteria

• general definition, closure properties + (only for re

• formal definition +

• finite precision arithmetic −

• support for geometric consistency −

• efficiency ?

• extensibility ?

• data model independence +

b

f

a

edc

g h

Constraints

• for each vertex their successors form a b

• for each vertex v ≠ root and each success(b) the intersection of w and the boundar

Page 33: Spatial Data Types: Conceptual Foundation for the Design and ...

33

(based on point set topology)

etween two spatial objects

tation, and scaling

ted regions without holes

ndaries and interiors of two

ersections of ∂A and A° with

re valid)

2, de Hoop & van Oosterom

∂A

Markus Schneider, Tutorial “Spatial Data Types“

(3) Egenhofer & Herring 1990, Egenhofer & Franzosa 1991

• goal: a “complete” collection of topological relationships b

• topological relationships are invariant under translation, ro

• originally: topol. relationships between two simple, connec

• 4-intersection model: 4 intersection sets between bouobjects

Extensions

• 9-intersection model (Egenhofer 1991): consider also int

the exterior / complement A− (→ 92 = 81 combinations, 8 a

• include point and line features (Egenhofer & Herring 1991992)

boundary ≡

interior ≡A

Page 34: Spatial Data Types: Conceptual Foundation for the Design and ...

34

disjointual

y / covers overlap

eet inside / contains

Markus Schneider, Tutorial “Spatial Data Types“

• 4-intersection model

∂A ∩ ∂B ∂A ∩ B° A° ∩ ∂B A° ∩ B° relationship name

∅ ∅ ∅ ∅ A and B are disjoint

∅ ∅ ∅ ≠∅

∅ ∅ ≠∅ ∅

∅ ∅ ≠∅ ≠∅ A contains B / B inside A

∅ ≠∅ ∅ ∅

∅ ≠∅ ∅ ≠∅ A inside B / B contains A

∅ ≠∅ ≠∅ ∅

∅ ≠∅ ≠∅ ≠∅

≠∅ ∅ ∅ ∅ A and B meet

≠∅ ∅ ∅ ≠∅ A and B are equal

≠∅ ∅ ≠∅ ∅

≠∅ ∅ ≠∅ ≠∅ A covers B / B covered_by A

≠∅ ≠∅ ∅ ∅

≠∅ ≠∅ ∅ ≠∅ A covered_by B / B covers A

≠∅ ≠∅ ≠∅ ∅

≠∅ ≠∅ ≠∅ ≠∅ A and B overlap

eq

covered_b

m

42 = 16 combinations, 8 are valid

Page 35: Spatial Data Types: Conceptual Foundation for the Design and ...

35

Oosterom 1993): considerce)

rea / area, line / area, point /id

, disjoint plus three operators

sh all 52 configurations

elice 1994)

no 1995)

Markus Schneider, Tutorial “Spatial Data Types“

• dimension extended method (Clementini, Felice & vandimension of the intersection (empty, 0D, 1D, 2D in 2D spa

→ 44 = 256 combinations for each relationship group (aarea, line / line, point / line, point / point), totally 52 are val

too many relationships to be remembered!

alternative: five basic relationships touch, in, cross, overlapb, f, t to obtain boundaries

one can prove:

− 5 relationships are mutually exclusive

− 5 relationships plus 3 boundary operators can distingui

• consider regions with holes (Egenhofer, Clementini & Di F

• consider composite regions (Clementini, Di Felice & Califa

Page 36: Spatial Data Types: Conceptual Foundation for the Design and ...

36

oufin 1998 a linear constraint approach)

tial objects finitely as infinite

planes, i.e., a conjunction of

finite set of convex polygons

{(x, y) | x ≤ 1 ∧ x ≥ -1∧ y ≤ 1 ∧ y ≥ -1}

{(x, y) | x ≥ -1 ∧ y ≥ -1∧ x + y − 2 ≤ 0}

p2

two convex polygons

with disjoint components

Markus Schneider, Tutorial “Spatial Data Types“

(4) Belussi, Bertino & Catania 1997, Grumbach, Rigaux & Seg(based on

• basic idea of the spatial constraint model: represent spacollections of points satisfying first-order formulas

• a convex polygon is the intersection of a finite set of halfthe inequalities defining each half plane

• a non-convex polygon is the union (logical disjunction) of a(disjunctive normal form (DNF))

{(x, y) | y − x ≤ 0}

p1p2 DNF repr.:

p1 ∨ p2p1

half plane representation representation of

convexification of a polygon polygon

Page 37: Spatial Data Types: Conceptual Foundation for the Design and ...

37

of DNF

CHNF repr.:

q1 − q2

Markus Schneider, Tutorial “Spatial Data Types“

• CHNF (convex with holes normal form) is a generalization

Comparison to design criteria

• general definition, closure properties +

• formal definition +

• finite precision arithmetic (+)

• support for geometric consistency +

• efficiency ?

• extensibility ?

• data model independence −

p1 p2

p4 p3

q1 q2DNF repr.:

p1 ∨ p2 ∨ p3 ∨ p4

Page 38: Spatial Data Types: Conceptual Foundation for the Design and ...

38

n a discrete geometric basis)

regions) whose objects are discrete geometric domain)

cisely defined operations forGEO = {point} ∪ EXT)

OBJ

regions value

Markus Schneider, Tutorial “Spatial Data Types“

(5) Güting & Schneider 1995 (ROSE algebra) (based o

• ROSE = RObust Spatial Extension

• system of realm-based spatial data types (points, lines,composed of realm elements (points and segments over a

• ROSE algebra offers a comprehensive collection of premanipulating such values, e.g. (let EXT = {lines, regions},

∀ geo, geo1, geo2 ∈ GEO, ∀ ext, ext1, ext2 ∈ EXT, ∀ obj ∈

inside: geo × regions → bool

edge-/vertex-inside: regions × regions → bool

area-/edge-disjoint: regions × regions → bool

a points value a lines value a

Page 39: Spatial Data Types: Conceptual Foundation for the Design and ...

39

numerically critical, e.g.

nd difference due to general

(no embedding into e.g.

relation operations needed)

lated objects (i.e., database

Markus Schneider, Tutorial “Spatial Data Types“

ROSE algebra also contains operations which are usually

on_border_of: points × ext → bool

border_in_common: ext1 × ext2 → bool

Closure properties are fulfilled for intersection, union, adefinition of spatial data types

intersection: points × points → points

intersection: lines × lines → points

intersection: regions × regions → regions

intersection: regions × lines → lines

plus, minus: geo × geo → geo

Spatial operations for manipulating sets of spatially reobjects) defined by a general “object model interface”

sum: set(obj) × (obj → geo) → geo

closest: set(obj) × (obj → geo1) × geo2 → set(obj)

(also operations for overlay, fusion, and decompose)

Page 40: Spatial Data Types: Conceptual Foundation for the Design and ...

40

Markus Schneider, Tutorial “Spatial Data Types“

Other operations

vertices: ext → points

contour: regions → lines

interior: lines → regions

no_of_components: geo → int

Comparison to design criteria

• general definition, closure properties +

• formal definition +

• finite precision arithmetic +

• support for geometric consistency +

• efficiency +

• extensibility +

• data model independence +

Page 41: Spatial Data Types: Conceptual Foundation for the Design and ...

41

(based on logic)

ts, no lines

opological spatial data

reflexitivity of Csymmetry of C

“x is disconnected from y”“x is a part of y”

“x is identical with y”“x overlaps y”

“x partially overlaps y”s externally connected with y” a tangential proper part of y”

“x is a nontangential properpart of y”

Markus Schneider, Tutorial “Spatial Data Types“

(6) Cui, Cohn & Randell 1993

• pointless approach: regions are the basic entities, no poin

• axiomatic approach to representing and reasoning about t

• basic binary relation C(x, y): “x connects with y”

∀ x C(x, y)∀ xy [C(x, y) → C(y, x)]

• axiomatic formulation of topological relationships

DC(x, y) ≡def ¬ C(x, y)P(x, y) ≡def ∀ z [C(z, x) → C(z, y)]x = y ≡def P(x, y) ∧ P(y, x)O(x, y) ≡def ∃ z [P(z, x) ∧ P(z, y)]PO(x, y) ≡def O(x, y) ∧ ¬ P(x, y) ∧ ¬ P(y, x)EC(x, y) ≡def C(x, y) ∧ ¬ O(x, y) “x iTPP(x, y) ≡def PP(x, y) ∧ ∃ z [EC(z, x) ∧ EC(z, y)] “x isNTTP(x, y) ≡def PP(x, y) ∧ ¬ ∃ z [EC(z, x) ∧ EC(z, y)]

Page 42: Spatial Data Types: Conceptual Foundation for the Design and ...

42

en the topological closures of

and pairwise disjoint relations

TTP (inside / contains)

TPP-1 (contains / inside)

Markus Schneider, Tutorial “Spatial Data Types“

• topological model to interpret the theory: C(x,y) holds whregions x and y share a common point

• similar results like Egenhofer et al.: 8 mutually exhaustive

DC (disjoint) TPP (covered_by / covers) N

EC (meet) TPP-1 (covers / covered_by) NPO (overlap)= (equal)

Comparison to design criteria

• general definition, closure properties −

• formal definition +

• finite precision arithmetic −

• support for geometric consistency −

• efficiency ?

• extensibility ?

• data model independence +

Page 43: Spatial Data Types: Conceptual Foundation for the Design and ...

43

egions where each region islex structure

mon boundaries

s)

fusion

Markus Schneider, Tutorial “Spatial Data Types“

3.4 Partitions

• partition: subdivision of the plane into pairwise disjoint rassociated with an attribute having a simple or even comp

• partition implicitly models topological relationships

− neighborhood of different regions which may have com

− disjointedness of different regions (except for boundarie

• application-specific operations

overlay1 overlay2

Page 44: Spatial Data Types: Conceptual Foundation for the Design and ...

44

Markus Schneider, Tutorial “Spatial Data Types“

superimposition

window

difference

Page 45: Spatial Data Types: Conceptual Foundation for the Design and ...

45

ions plus some operations on

ns

tion, no control of partitionndent

label type, i.e., regions of ahave different labels in their

h adjacent regions

Markus Schneider, Tutorial “Spatial Data Types“

other operations: reclassify, cover, clipping

• Scholl & Voisard 1989

− identification of application-specific operations on maps

− complex object algebra extended by a data type for regregions (union, intersection, difference)

− a map is a set of tuples with a region attribute

− elementary region: single polygon, region: set of polygo

− problems: region type not closed under union operaconstraints through the model, deeply data model depe

• Erwig & Schneider 1997

− formal definition of spatial partitions

− basic idea: a partition is a mapping from IR2 to somepartition are assigned single labels, adjacent regionsinterior, a boundary is assigned the pair of labels of bot

Page 46: Spatial Data Types: Conceptual Foundation for the Design and ...

46

ons and that are sufficient torations

regions of two partitions andgion is assigned the pair ofbels on the boundaries are

ither by renaming the label ofmore regions to a new label;

nd enumerate the connected

auska 1992, Tomlin 1990

Markus Schneider, Tutorial “Spatial Data Types“

− three powerful operations that are closed under partitiexpress all known (generalized) application-specific ope

intersection: compute the geometric intersection of allproduce a new spatial partition; each resulting relabels of the original two intersecting regions; laderived correspondingly

relabel: change the labels of the regions of a partition eeach region or by mapping distinct labels of two oradjacent regions in the result partition are fused

refine: look with finer granularity on regions and reveal acomponents of regions

• other approaches: e.g., Frank 1987, Huang, Svensson & H

Page 47: Spatial Data Types: Conceptual Foundation for the Design and ...

47

Markus Schneider, Tutorial “Spatial Data Types“

4 Formal Definition Methods4.1 Why do We Need Formal Definitions?

4.2 Point Set Theory

4.3 Point Set Topology

4.4 Finite Set Theory

4.5 Other Formal Approaches

Page 48: Spatial Data Types: Conceptual Foundation for the Design and ...

48

objects and operations at the

for a formal definition of

lems of numerical robustness

e implementation level

Markus Schneider, Tutorial “Spatial Data Types“

4.1 Why do We Need Formal Definitions?

• better understanding of the complex semantics of spatialdesigner’s level

• formal definition of SDTs should be directly usablecorresponding spatial operations

• clarity and consistency at the user’s level

• consideration of the finiteness of computers and the proband topological correctness

• a first step towards a standardization of spatial data types

• formal specification of SDTs for a possible realization at th

Page 49: Spatial Data Types: Conceptual Foundation for the Design and ...

49

points and contains a set of

cupied by that object

points, lines, regions, etc. byions

try by numerical computation

Markus Schneider, Tutorial “Spatial Data Types“

4.2 Point Set Theory

• basic assumption: space is composed of infinitely manyspatial objects

→ each spatial object can be regarded as the point set oc

• analytical geometry is used to represent structures likenumbers and relations between these structures by equat

• use of set operations ∪ , ∩, − for constructing new objects

• topological properties are deduced from analytical geome

• two main problems

− possible anomalies (shown first by Tilove 1980)

Y reg(Y)

dangling line

dangling point

missing line (cut)

missing point (puncture)

missing boundary part

Page 50: Spatial Data Types: Conceptual Foundation for the Design and ...

50

efinition of intersects

aln

Regularizedintersection

Markus Schneider, Tutorial “Spatial Data Types“

− ambiguities when defining topological relationships

x = y := points(x) = points(y)

x inside y := points(x) ⊆ points(y)

x intersects y := points(x) ∩ points(y) ≠ ∅

the definitions of = and inside are both covered by the d

• e.g., Güting 1988, Pullar 1988

Two intersecting Regions objects Conventionintersectio

Page 51: Spatial Data Types: Conceptual Foundation for the Design and ...

51

and investigates topological

- = ∅ IR2 = Y° ∪ ∂ Y ∪ Y -

rlying distance or coordinates topological transformations

s to spatial objects as regular

reg(Y) :=

lines and boundary parts

appropriately adding points

ons (A, B regular closed sets)

reg(A − B) ¬ r A := reg(¬ A)

, Egenhofer & Franzosa 1991

Markus Schneider, Tutorial “Spatial Data Types“

4.3 Point Set Topology

• ... has the same basic assumptions as point set theorystructures of a point set

boundary (∂Y), interior (Y°), closure ( ), exterior (Y -)

= Y° ∪ ∂ Y Y° ∩ ∂Y = ∅ Y - ∩ ∂Y = ∅ Y° ∩ Y

• ... investigates properties that are independent of an undemeasure (metric) and that are preserved under continuou

• regularization of point sets to avoid anomalies which leadclosed sets

Y is a regular closed set if Y =

effect of interior: elimination of dangling points, dangling

effect of closure: elimination of cuts and punctures byplus adding boundary points

• geometric operations are equated with regular set operati

A ∪ r B := reg(A ∪ B) A ∩r B := reg(A ∩ B) A −r B :=

• e.g., Worboys & Bofakos 1993, Egenhofer & Herring 1990

Y

Y

Page 52: Spatial Data Types: Conceptual Foundation for the Design and ...

52

ng & Schneider 1993, 1995)

ertex_inside, area_disjoint,eets, adjacent, encloses,

ntersection, plus, minus,erior, count, dist, diameter,compose, overlay, fusion

, (area-)inside, edge-inside,int, (vertex-)disjoint, meet,_of, border_in_common

face, R-unit, R-blocke-inside, vertex-inside, area-adjacent, meet, encloses,

int, on, in, touches, intersection,

(n integer grid size)

Markus Schneider, Tutorial “Spatial Data Types“

4.4 Finite Set Theory

Example: Definition layers of Realms and ROSE Algebra (Güti

Integer Arithmetic

RobustGeometricPrimitives

Realms, Realm-Based Structures,

and Realm-Based Primitives

Spatial Data Typesand Spatial Alge-

bra Primitives

ROSEAlgebra

Operations

Objects: points, lines, regionsOperations: =, ≠, inside, edge_inside, v

edge_disjoint, disjoint, intersects, mon_border_of, border_in_common, icommon_border, vertices, contour, intlength, area, perimeter, sum, closest, de

Objects: points, lines, regionsOperations: union, intersection, difference

vertex-inside, area-disjoint, edge-disjoadjacent, intersect, encloses, on_border

Objects: R-point, R-segment; R-cycle, R-Operations: on, in, out, (area-)inside, edg

disjoint, edge-disjoint, (vertex-)disjoint,intersect, dist, area

Objects: N-point, N-segmentOperations: =, ≠, meet, overlap, intersect, disjo

parallel, aligned

Objects: integers in the range [-2n3, 2n3] Operations: +, -, ∗ , div, mod, =, ≠, <, ≤, ≥, >

Page 53: Spatial Data Types: Conceptual Foundation for the Design and ...

53

ents

od m

ies

= (p, q) ⇒ p ∈ P ∧ q ∈ P

s ∈ S : ¬ (p in s)

s ≠ t : ¬ (s and t intersect)∧ ¬ (s and t overlap)

Markus Schneider, Tutorial “Spatial Data Types“

Example: definition of a region object

An R-cycle c is a set of R-segmS(c) = {s0, ..., sm-1}, such that

(i) ∀ i ∈ {0, ..., m−1} : si meets s(i+1) m

(ii) ∀ i ∈ {0, ..., m−1} : deg(si) = 2

N := {0, ..., n}, n finite and representable

PN := N × N N-points

SN := PN × PN N-segments

P ⊆ PN R-points

S ⊆ SN R-segments

Realm propert

(i) ∀ s ∈ S : s

(ii) ∀ p ∈ P ∀

(iii) ∀ s, t ∈ S,

Page 54: Spatial Data Types: Conceptual Foundation for the Design and ...

54

c1

c2

⊆ P(c2)

a-inside c2

1) ∩ S(c2) = ∅

ge-inside c2(c1) ∩ Pon(c2) = ∅

:⇔) = ∅ ∧ Pin(c2) ∩ P(c1) = ∅

:⇔-disjoint ∧ S(c1) ∩ S(c2) = ∅

:⇔joint ∧ Pon(c1) ∩ Pon(c2) = ∅

Markus Schneider, Tutorial “Spatial Data Types“

(iii)

c2 is

• (area-)inside (i, ii, iii)

• edge-inside (ii, iii)

• vertex-inside (iii)c1.

c1 and c2 are

• area-disjoint (iv, v, vi)

• edge-disjoint (v, vi)

• (vertex-)disjoint (vi)

(ii)

(i)

(iv)

(v)

(vi)

c1 (area-)inside c2 :⇔ P(c1)

c1 edge-inside c2 :⇔ c1 are∧ S(c

c1vertex-inside c2 :⇔ c1 ed∧ Pon

c1 and c2 are area-disjointPin(c1) ∩ P(c2

c1 and c2 are edge-disjointc1 and c2 are area

c1 and c2 are (vertex-)disjointc1 and c2 are edge-dis

Page 55: Spatial Data Types: Conceptual Foundation for the Design and ...

55

ycle and H =es such that:

-disjoint

gments of f”

Markus Schneider, Tutorial “Spatial Data Types“

An R-face f is a pair (c, H) where c is an R-c{h1, ..., hm} is a (possibly empty) set of R-cycl

(i) ∀ i ∈ {1, ..., m} : hi edge-inside c

(ii) ∀ i, j ∈ {1, ..., m}, i ≠ j : hi and hj are edge

(iii) “no other cycle can be formed from the se

Page 56: Spatial Data Types: Conceptual Foundation for the Design and ...

56

f’ ∈ F : g’ area-inside f’ )

g2

f0

-faces.

rea-inside g

Markus Schneider, Tutorial “Spatial Data Types“

Let f = (f0, F) and g = (g0, G) be two R-faces. Then

f (area-)inside g :⇔ f0 area-inside g0

∧ ∀ g’ ∈ G : (g’ area-disjoint f0 ∨ ∃

g1

f

f1 f2

g

g0

A regions value F is a set of edge-disjoint R

Let F, G be two regions values.

F (area-)inside G :⇔ ∀ f ∈ F ∃ g ∈ G : f a

Page 57: Spatial Data Types: Conceptual Foundation for the Design and ...

57

algebraic system

ansformations

, simplicial complexes)

et topology)

989, Egenhofer 1989

f a set and can be used to

set: subdivision of space into left / right, front of / behind)

e: e.g., relationship between

sley1993, Saalfeld 85

Markus Schneider, Tutorial “Spatial Data Types“

4.5 Other Formal Approaches

• Algebraic Topology

− ... describes the structure of a (topological) space by an

− ... is not based on general set theory

− ... uses properties that are invariant under topological tr

− topological properties are explicitly recorded (simplices

− concepts of boundary and interior (different from point s

− e.g., Frank & Kuhn 1986, Egenhofer, Frank & Jackson 1

• Order Theory, Lattice Theory

− ... allows the comparison of two or more elements oanswer queries of inclusion and containment

− strict order for modeling a hierarchy of elements of aregions (e.g., political subdivisions), perspectives (e.g.,

− partial order for combining several hierarchies of spacdistricts and cultivation areas

− e.g., Kainz 1988, 1989, 1990, Kainz, Egenhofer & Grea

Page 58: Spatial Data Types: Conceptual Foundation for the Design and ...

58

form ai xi Θ a0

ux & Segoufin 1998

llen’s interval logic

993

i 1=

p

Markus Schneider, Tutorial “Spatial Data Types“

• Constraint Approach

− first order logic with a point set interpretation

− constraints are linear equations and inequalities of the

− e.g., Belussi, Bertino & Catania 1997, Grumbach, Riga

• Spatial Logic

− pointless approach, regions as basic entities

− Clarke’s calculus of individuals based on connection, A

− e.g., Randell, Cui & Cohn 1992, Cui, Cohn & Randell 1

Page 59: Spatial Data Types: Conceptual Foundation for the Design and ...

59

ures and Algorithms

Markus Schneider, Tutorial “Spatial Data Types“

5 Tools for Implementing SDTs: Data Struct5.1 Representing SDT Values

5.2 Implementing Atomic SDT Operations

Page 60: Spatial Data Types: Conceptual Foundation for the Design and ...

60

) so that it can be integratedt, user interface, etc.), fulfill-

SDT values

ibly) complex data structure

value of a programmingpe

computational geometry

support for each singleno most efficient algorithm,ticated data structure):e various requirements oflgorithms within a datar each type

Markus Schneider, Tutorial “Spatial Data Types“

5.1 Representing SDT Values

Goals: Implementation of a spatial type system (spatial algebrainto a DBMS (query processing, storage managemenment of the design criteria:

• representations for the types (→ data structures)

• algorithms for the operations (→ algorithms)

DBMS view of SDT values

• treatment like values of other typesw.r.t. generic operations (access,use in schemas, bulk loading, dataexchange, user interface)

• values of varying and possiblylarge size

• persistent storage on disk in one ormore pages

• efficient loading into main memory(value of a pointer variable there)

Algebra view of

• some (poss

• use as alanguage ty

• support ofalgorithms

• no specialoperation (no sophisreconcile thdifferent astructure fo

Page 61: Spatial Data Types: Conceptual Foundation for the Design and ...

61

page-oriented data structurees or long fields

size and the exact geometry

x) in the info part

(e.g., area, perimeter, length,

l

rr

qr

rl

sl pl pr ql qrrlsr rr

Markus Schneider, Tutorial “Spatial Data Types“

Support of the DBMS view

• no use of pointer data structures in main memory, use of aaccommodating with DBMS support for large attribute valu

• separation of an SDT value into an info part of small, fixedpart of possibly large, varying size

Support of the algebra view

• representation contains approximations (e.g., bounding bo

• representation contains stored values of unary functionsnumber of components, etc.) in the info part

• representation contains plane sweepsequence in the geometric part

small value large value

pr q

sl

pl

sr

Page 62: Spatial Data Types: Conceptual Foundation for the Design and ...

62

ometry

, Chan & Ng 1997

when they were entered into

l are known in advance and

otherwise a plane sweep has

Markus Schneider, Tutorial “Spatial Data Types“

5.2 Implementing Atomic SDT Operations

General remarks

• in general: use efficient algorithms from Computational Ge

• single steps

− check approximations (filter condition)

− look up stored function values

− use plane sweep

• e.g., Güting, de Ridder & Schneider 1995, Schneider 1997

Special case: implementation of realm-based SDTs

• all spatial objects have been acquainted with each otherthe realm (“realmification”)

→ no new intersection points have to be computed, aloccur in both objects

• often a parallel scan of two SDT values is sufficient whereto be used

Page 63: Spatial Data Types: Conceptual Foundation for the Design and ...

63

event structure is needed, no

two sequencessimple)

Markus Schneider, Tutorial “Spatial Data Types“

• example: intersection: lines × lines → points

• plane sweep is also simpler than usual: only static sweep-preceding sorting phase

• Güting, de Ridder & Schneider 1995

“classical” plane sweep needed(complex)

O(n log n + k)

parallel scan onof halfsegments (

O(n + k)

Page 64: Spatial Data Types: Conceptual Foundation for the Design and ...

64

rends

Markus Schneider, Tutorial “Spatial Data Types“

6 Other Interesting Issues and Research T6.1 Other Interesting Issues not Covered in this Tutorial

6.2 Current Research Trends

Page 65: Spatial Data Types: Conceptual Foundation for the Design and ...

65

d raster data management

1994

ng 1994

Markus Schneider, Tutorial “Spatial Data Types“

6.1 Other Interesting Issues not Covered in this Tutorial

• data types and operations for image database systems an

• multi-scale modeling / cartographic generalization

e.g., Puppo & Dettori 1995, Rigaux & Scholl 1995

• three-dimensional spatial data modeling

e.g., Pigot 1992, Oosterom, Vertegaal, Hekken & Vijlbrief

• spatially embedded graphs (networks)

e.g., Erwig 1994, Erwig & Güting 1994, Güting 1991, Güti

Page 66: Spatial Data Types: Conceptual Foundation for the Design and ...

66

Dao 1997, Erwig, Güting,

daries,

6, Erwig & Schneider 1997,

Markus Schneider, Tutorial “Spatial Data Types“

6.2 Current Research Trends

• combination of space and time

spatio-temporal databases, moving objects databases

e.g., Worboys 1994, Sistla, Wolfson, Chamberlain &Schneider & Vazirgiannis 1999, Erwig & Schneider 1999

→ European research project CHOROCHRONOS

• combination of space and uncertainty / vagueness

spatial objects with imprecise / indeterminate / broad bounvague objects, fuzzy objects

e.g., Clementini & Di Felice 1996, Cohn & Gotts 199Schneider 1999

Page 67: Spatial Data Types: Conceptual Foundation for the Design and ...

67

Burton W., Logical and Physical Data Types in Geographic InformationSystems. Geo-Processing, 1, 167-181, 1979.

Felice & G. Califano, Composite Regions inies, Information Systems, 20, 579-594, 1995.

elice & P. van Oosterom, A Small Set of Formaltionships Suitable for End-User Interaction. 3rdances in Spatial Databases (SSD’93), LNCS 692,

Guptill, Spatial Operators for Selected Dataarto 5, 189-200, 1982.

otts, The ‘Egg-Yolk’ Representation of Regionsate Boundaries. Geographic Objects withundaries, GISDATA Series, 2, Taylor & Francis,

& D.W. Rhind, A Relational Data Base Systemr a Geographical Data Type. Geo-Processing, 1,

oncepts of Algebraic Topology. Springer-Verlag,

& D.A. Randell, Qualitative and Topologicalpatial Databases. 3rd Int. Symp. on Advances in

s (SSD’93), LNCS 692, 296-315, 1993.

. Buchmann, U. Chakravarthy, D. Goldhirsch, S.in & A. Rosenthal, Simplifying Complex Objects:roach to Modelling and Querying Them. BTWe in Büro, Technik und Wissenschaft), Springer-

87.

Dobkin D. & D. Silver, Applied Computational Geometry: TowardsRobust Solutions of Basic Problems. Journal of Computer and

40, 70-87, 1990.

P. Mücke, Simulation of Simplicity: A Techniquegenerate Cases in Geometric Algorithms. ACMational Geometry, 118-133, 1988.

Formal Definition of Binary TopologicalInt. Conf. on Foundations of Data OrganizationNCS 367, 457-472, 1989.

Markus Schneider, Tutorial “Spatial Data Types”

Chan E.P.F. & R. Zhu, QL/G - A Query Language for Geometric DataBases. 1st Int. Conf. on GIS in Urban and Environmental Planning,271-286, 1996.

Clementini E. & P. di Felice, An Algebraic Model for Spatial Objectswith Indeterminate Boundaries. Geographic Objects withIndeterminate Boundaries, GISDATA Series, 2, Taylor & Francis,153-169, 1996.

System Sciences,

Edelsbrunner H. & E.to Cope with DeSymp. on Comput

Egenhofer M.J., ARelationships. 3rdand Algorithms, L

References

Alves D., A Data Model for Geographic Information Systems. 4th Int.Symp. on Spatial Data Handling, 2, 879-887, 1990.

Aref W.G. & H. Samet, Extending a DBMS with Spatial Operations.2nd Int. Symp. on Advances in Spatial Databases (SSD’91),Springer-Verlag, LNCS 525, 299-318, 1991.

Belussi A., E. Bertino & B. Catania, Manipulating Spatial Data inConstraint Databases. 5th Int. Symp. on Advances in SpatialDatabases (SSD’97), LNCS 1262, 115-141, 1997.

Bennis K., B. David, I. Quilio & Y. Viemont, GeoTropics DatabaseSupport Alternatives for Geographic Applications. 4th Int. Symp.on Spatial Data Handling, 599-610, 1990.

Bentley J.L. & T. Ottmann, Algorithms for Reporting and CountingGeometric Intersections. IEEE Transactions on Computers, C-28,643-647, 1979.

Birkhoff G., Lattice Theory. American Mathematical SocietyColloquium Publications, 25, 1967.

Burrough P.A., Natural Objects with Indeterminate Boundaries.Geographic Objects with Indeterminate Boundaries, GISDATASeries 2, Taylor & Francis, 3-28, 1996.

Burton F.W., V.J. Kollias & J.G. Kollias, Consistency in Point-in-Polygon Tests. The Computer Journal, 27(4), 375-376, 1984.

Clementini E., P. diTopological Quer

Clementini E., P. di FTopological RelaInt. Symp. on Adv277-295, 1993.

Claire R.W. & S.C.Structures. Auto-C

Cohn A.G. & N.M. Gwith IndeterminIndeterminate Bo171-187, 1996.

Cox R.J., B.K. Aldredand a Proposal fo217-229, 1980.

Croom F.H., Basic C1978.

Cui Z., A.G. CohnRelationships in SSpatial Database

Dayal U., F. Manola, AHeiler, J. OrensteThe PROBE App(DatenbanksystemVerlag, 17-37, 19

Page 68: Spatial Data Types: Conceptual Foundation for the Design and ...

68

Erwig M., Graphs in Spatial Databases. Doctoral Thesis,FernUniversität Hagen, 1994.

ider, Vague Regions. 5th Int. Symp. on Advancesses (SSD’97), LNCS 1262, Springer-Verlag, 298-

neider, Partition & Conquer. 3rd Int. Conf. onon Theory (COSIT), LNCS 1329, 389-408, 1997.

eider, Developments in Spatio-Temporal QueryInt. Workshop on Spatio-Temporal Data Modelsages, 1999, to appear.

ider, The Honeycomb Model of Spatio-TemporalWorkshop on Spatio-Temporal Database

9, to appear.

Dinn, N.W. Paton & M.H. Williams, Extending at-Oriented Database System with Spatial Datas. Information and Software Technology, 41, 483-

utational Geometry in Practice. Fundamentalomputer Graphics, Springer-Verlag, 707-723,

Y: Data Base Query Language for Retrieval ofand their Graphical Representation. Computer-207, 1982.

cessing in Spatial Information Systems. 8th Int.er-Assisted Cartography, AUTOCARTO 8, 16-31,

Cell Graphs: A Provable Correct Method for theStorage of Geometry. 3rd Int. Symp. on Spatial Data Handling,411-436, 1986.

elling of Spatial Relations. Computer Graphicsssing, 4, 156-171, 1975.

ology. Academic Press, 1964.

ney, G. Kiernan, D. Pastre & H. Stora, Managingin an Extensible Relational DBMS. 15th Int.

ge Databases, 33-44, 1989.

Markus Schneider, Tutorial “Spatial Data Types”

Erwig M. & R.H. Güting, Explicit Graphs in a Functional Model forSpatial Databases. IEEE Transactions on Knowledge and DataEngineering, 6(5), 787-804, 1994.

Erwig M., R.H. Güting, M. Schneider & M. Vazirgiannis, Abstract andDiscrete Modeling of Spatio-Temporal Data Types. ACM Symp. onGeographic Information Systems (ACM GIS), 131-136, 1998.

Freeman J., The Modand Image Proce

Gaal S., Point Set Top

Gardarin G., J.P. CheiComplex ObjectsConf. on Very Lar

Egenhofer M.J., Reasoning about Binary Topological Relations. 2ndSymp. on Advances in Spatial Databases (SSD’91), LNCS 525,143-160, 1991.

Egenhofer M.J., Categorizing Topological Relationships - QuantitiveRefinements of Qualitative Spatial Information. Technical Report,Department of Surveying Engineering, University of Maine, 1991.

Egenhofer M.J., E. Clementini & P. di Felice, Topological Relationsbetween Regions with Holes. Int. Journal of GeographicalInformation Systems, 8(2), 129-142, 1994.

Egenhofer M.J., A. Frank & J.P. Jackson, A Topological Data Model forSpatial Databases. 1st Int. Symp. on the Design and Implementationof Large Spatial Databases (SSD’89), LNCS 409, 271-286, 1989.

Egenhofer M.J. & R.D. Franzosa, Point-Set Topological SpatialRelations. Int. Journal of Geographical Information Systems, 5(2),161-174, 1991.

Egenhofer M.J. & R.D. Franzosa, On the Equivalence of TopologicalRelations. Int. Journal of Geographical Information Systems, 9(2),133-152, 1995.

Egenhofer M.J. & J. Herring, A Mathematical Framework for theDefinition of Topological Relationships. 4th Int. Symp. on SpatialData Handling, 803-813, 1990.

Egenhofer M.J. & J. Herring, Categorizing Binary TopologicalRelationships between Regions, Lines, and Points in GeographicDatabases. Technical Report, Department of SurveyingEngineering, University of Maine, 1992.

Erwig M. & M. Schnein Spatial Databa320, 1997.

Erwig M. & M. SchSpatial Informati

Erwig M. & M. SchnLanguages. IEEEand Query Langu

Erwig M. & M. SchnePartitions. Int.Management, 199

Fernandes A.A.A., A.Deductive ObjecHandling Facilitie497, 1999.

Forrest A.R., CompAlgorithms for C1985.

Frank A., MAPQUERGeometric DataGraphics, 16, 199

Frank A., Overlay ProSymp. on Comput1987.

Frank A. & W. Kuhn,

Page 69: Spatial Data Types: Conceptual Foundation for the Design and ...

69

Systems for Geographical Applications, 103-124, 1991.

Güting R.H., GraphDB: A Data Model and Query Language for Graphs

mp. on Advances in Spatial Databases (SSD’95),39, 1995.

hneider, Realms: A Foundation for Spatial Datae Systems. 3rd Int. Symp. on Advances in Spatial 692, 14-35, 1993.

chneider, Realm-Based Spatial Data Types: TheLDB Journal, 4, 100-143, 1995.

& J. Stolfi, Epsilon-Geometry: Building RobustImprecise Computations. SIAM Conf. on

, 208-217, 1989.

s: A Dynamic Index Structure for SpatialSIGMOD Conf., 47-57, 1984.

nition and Development of a Topological Spatialtogrammetry and Land Information Systems, 57-

thematical Modeling of Spatial and Non-Spatialeographic Information Systems. Cognitive ands of Space, 1991.

.E. Hopcroft & M.S. Karasick, Towardsbust Geometric Computations. ACM Symp. oneometry, 106-117, 1988.

& H. Hauska, Solving Spatial Analysis ProblemsSpatial Query Language. 6th Int. Working Conf.

Statistical Database Management, 1992.

Kainz W., Application of Lattice Theory in Geography. 3rd Int. Symp.on Spatial Data Handling, 135-142, 1988.

ology, and Metric in GIS. ASPRS/ACSM Annual4-160, 1989.

tionships - Topology Versus Order. 4th Int. Symp.andling, 814-819, 1990.

ofer & I. Greasley, Modelling Spatial Relationswith Partially Ordered Sets. Int. Journal oformation Systems, 7(3), 215-229, 1993.

Markus Schneider, Tutorial “Spatial Data Types”

in Databases. 20th Int. Conf. on Very Large Databases (VLDB),297-308, 1994.

Güting R.H., An Introduction to Spatial Database Systems. VLDBJournal (Special Issue on Spatial Database Systems), 3(4), 357-399, 1994.

Güting R.H., T. de Ridder & M. Schneider, Implementation of theROSE Algebra: Efficient Algorithms for Realm-Based Spatial Data

Kainz W., Order, TopConvention, 4, 15

Kainz W., Spatial Relaon Spatial Data H

Kainz W., M.J. Egenhand OperationsGeographical Inf

Gargano M., E. Nardelli & M. Talamo, Abstract Data Types for theLogical Modeling of Complex Data. Information Systems, 16(5),1991.

Greene D. & F. Yao, Finite-Resolution Computational Geometry. 27thIEEE Symp. on Foundations of Computer Science, 143-152, 1986.

Grumbach S., P. Rigaux, M. Scholl & L. Segoufin, Dedale: A SpatialConstraint Database. Int. Workshop on Database ProgrammingLanguages, 1997.

Erwig M., R.H. Güting, M. Schneider & M. Vazirgiannis, Spatio-Temporal Data Types: An Approach to Modeling and QueryingMoving Objects in Databases. GeoInformatica, 3(3), 1999, toappear.

Grumbach S., P. Rigaux & L. Segoufin, The DEDALE System forComplex Spatial Queries. ACM SIGMOD Conf., 213-224, 1998.

Güting R.H., Geo-Relational Algebra: A Model and Query Languagefor Geometric Database Systems. Int. Conf. on Extending DatabaseTechnology, 506-527, 1988.

Güting R.H., Modeling Non-Standard Database Systems by Many-Sorted Algebras. Fachbereich Informatik, Universität Dortmund,Report 255, 1988.

Güting R.H., Gral: An Extensible Relational Database System forGeometric Applications. 15th Int. Conf. on Very Large Databases(VLDB), 33-44, 1989.

Güting R.H., Extending a Spatial Database System by Graphs andObject Class Hierarchies. Int. Workshop on Database Management

Types. 4th Int. SyLNCS 951, 216-2

Güting R.H. & M. ScTypes in DatabasDatabases, LNCS

Güting R.H. & M. SROSE Algebra, V

Guibas L., D. SalesinAlgorithms fromGeometric Design

Guttman A., R-TreeSearching. ACM

Herring J.R., The DefiData System. Pho70, 1990.

Herring J.R., The MaInformation in GLinguistic Aspect

Hoffmann C.M., JImplementing RoComputational G

Huang Z., P. Svenssonwith GeoSAL, Aon Scientific and

Page 70: Spatial Data Types: Conceptual Foundation for the Design and ...

70

Handling (SDH’96), Taylor & Francis, 697-710, 1997.

Ooi B.C., R. Sacks-Davis & K.J. McDonell, Extending a DBMS for

Heaven, The Design of a Relational Databasetract Data Types for Domains. ACM Transactionsems, 11(3), 357-373, 1986.

t & C. Ullrich, Numerical Stability of GeometricACM Symp. on Computational Geometry, 119-

putational Geometry on a Grid: an Overview.ndations for Computer Graphics and CAD,167-184, 1988.

of Spatial Relationships to Aid Spatial Database. Symp. on Spatial Data Handling, 459-470, 1986.

d the Definition and Use of Complex Spatiald Int. Symp. on Spatial Data Handling, 211-223,

Models for 3D Spatial Information Systems. 5thtial Data Handling, 344-360, 1992.

I. Shamos, Computational Geometry. Springer

. Egenhofer, Toward Formal Definitions oftions Among Spatial Objects. 3rd Int. Symp. ondling, 225-241, 1988.

ition and Operators on a Spatial Data Model.nual Convention, 197-202, 1988.

i, Towards a Formal Model for Multi-ResolutionSpatial Maps. 4th Int. Symp. on Advances in Spatial Databases(SSD’95), 152-169, 1995.

.G. Cohn, A Spatial Logic Based on Regions andInt. Conf. on the Principles of Knowledged Reasoning, 1992.

SE System. Modula-2 Program System (Sourcersität Hagen, Praktische Informatik IV, Softwarevailable as a LaTeX file for printing and/or as a

ction of ASCII files.

Markus Schneider, Tutorial “Spatial Data Types”

Geographic Applications. IEEE Int. Conf. on Data Engineering,590-597, 1989.

Oosterom P. van, Vertegaal W., Hekken M. van & T. Vijlbrief,Integrated 3D Modelling within a GIS. Int. Workshop on AdvancedGeographic Data Modelling (Spatial Data Modelling and QueryLanguages for 2D and 3D Applications), 80-95, 1994.

Randell D., Z. Cui & AConnection. 3rdRepresentation an

Ridder T. de, The ROCode). FernuniveReport 1, 1995. Acompressed colle

Kemper A. & M. Wallrath, An Analysis of Geometric Modeling inDatabase Systems. ACM Computing Surveys, 19(1), 47-91, 1987.

Larue T., D. Pastre & Y. Viémont, Strong Integration of SpatialDomains and Operators in a Relational Database System. 3rd Int.Symp. on Advances in Spatial Databases (SSD’93), LNCS 692, 53-72, 1993.

Lee D.T. & F.P. Preparata, Computational Geometry - A Survey. IEEETransactions on Computers, C-33(12), 1072-1101, 1984.

Lipeck U. & K. Neumann, Modelling and Manipulating Objects inGeoscientific Databases. 5th Int. Conf. on the Entity-RelationshipApproach, 67-86, 1987.

Manola F. & J.A. Orenstein, Toward a General Spatial Data Model foran Object-Oriented DBMS. 12th Int. Conf. on Very Large DataBases, 328-335, 1986.

Mantey P.E. & E.D. Carlson, Integrated Geographic Data Bases: TheGADS Experience. Data Base Techniques for PictorialApplications, Springer-Verlag, 173-190, 1980.

Mehlhorn K. & S. Näher, LEDA: A Platform for Combinatorial andGeometric Computing. Communications of the ACM, 38(1), 1995.

Milenkovic V., Verifiable Implementations of Geometric AlgorithmsUsing Finite Precision Arithmetic. Artifical Intelligence, 37, 377-401, 1988.

Müller V., N.W. Paton, A.A.A. Fernandes, A. Dinn & M.H. Williams,Virtual Realms: An Efficient Implementation Strategy for FiniteResolution Spatial Data Types. 7th Int. Symp. on Spatial Data

Osborn S.L. & T.E.System with Abson Database Syst

Ottmann T., G. ThiemAlgorithms. 3rd125, 1987.

Overmars M.H., ComTheoretical FouSpringer-Verlag,

Peuquet D.J., The UseRetrieval. 2nd Int

Peuquet D.J., TowarRelationships. 3r1988.

Pigot S., TopologicalInt. Symp. on Spa

Preparata F.P. & M.Verlag, 1985.

Pullar D.V. & M.JTopological RelaSpatial Data Han

Pullar D., Data DefinACSM-ASPRS An

Puppo E. & G. Dettor

Page 71: Spatial Data Types: Conceptual Foundation for the Design and ...

71

Data Types and Abstract Indices to CAD Databases. ACM/IEEEConf. on Engineering Design Applications, 107-113, 1983.

bership Classification: A Unified Approach torsection Problems. IEEE Transactions on, 874-883, 1980.

aphic Information Systems and Cartographice Hall, 1990.

d of Evaluating Polygon Overlay Algorithms.nual Convention, 173-183, 1988.

ealey, The GEOVIEW Design - A Relational Datato Geographic Data Handling. Int. Journal oformation Systems, 1(2), 101-118, 1987.

eric Model for Planar Geographical Objects. Int.raphical Information Systems, 4(4), 369-385,

fied Model for Spatial and Temporal Information.urnal, 37(1), 1994.

ofakos, A Canonical Model for a Class of Arealrd Int. Symp. on Advances in Spatial Databases692, 36-52, 1993.

warz, H.-J. Schek & L.M. Haas, IncorporatingExtensible Database Architecture. 3rd Int. Conf.wledge Bases, 180-192, 1988.

onal Geometry. Algorithms and Complexity,oretical Computer Science, A, Elsevier Science43-389, 1992.

Markus Schneider, Tutorial “Spatial Data Types”

Stonebraker M., Inclusion of New Types in Relational Data BaseSystems. 2nd Int. Conf. on Data Engineering, 262-269, 1986.

Svensson P. & Z. Huang, Geo-SAL: A Query Language for Spatial DataAnalysis. 2nd Int. Symp. on Advances in Spatial Databases(SSD’91), LNCS 525, 119-140, 1991.

Rigaux P. & M. Scholl, Multi-Scale Partitions: Application to Spatialand Statistical Databases. 4th Int. Symp. on Advances in SpatialDatabases (SSD’95), 170-183, 1995.

Saalfeld A., Lattice Structures in Geography. 7th Int. Symp. onComputer-Assisted Cartography, AUTOCARTO 7, 482-489, 1985.

Schneider M., Spatial Data Types in Database Systems − FiniteResolution Geometry for Geographic Information Systems, LNCS1288, Springer-Verlag, 1997.

Schneider M., Modeling Spatial Objects with UndeterminedBoundaries Using the Realm/ROSE Approach. GeographicObjects with Indeterminate Boundaries, GISDATA Series 2, Taylor& Francis, Chapter 10, 141-152, 1996.

Schneider M., Uncertainty Management for Spatial Data in Databases:Fuzzy Spatial Data Types. 6th Int. Symp. on Advances in SpatialDatabases (SSD’99), 1999, to appear.

Scholl M. & A. Voisard, Thematic Map Modeling. 1st Int. Symp. on theDesign and Implementation of Large Spatial Databases (SSD’89),LNCS 409, 167-190, 1989.

Sistla A.P., O. Wolfson, S. Chamberlain & S.D. Dao, Modeling andQuerying Moving Objects. 13th Int. Conf. on Data Engineering,422-432, 1997.

Smyth C.S., A Reference Data Model for Spatial and GeographicApplications. 4th Int. Symp. on Spatial Data Handling, 869-878,1990.

Stonebraker M., B. Rubenstein & A. Guttmann, Application of Abstract

Tilove R.B., Set MemGeometric InteComputers, C-29

Tomlin C.D., GeogrModeling. Prentic

Wagner D., A MethoACSM-ASPRS An

Waugh T.C. & R.G. HBase ApproachGeographical Inf

Worboys M.F., A GenJournal of Geog1992.

Worboys M.F., A UniThe Computer Jo

Worboys M.F. & P. BSpatial Objects. 3(SSD’93), LNCS

Wilms P.F., P.M. SchData Types in anon Data and Kno

Yao F.F.. ComputatiHandbook of ThePublishers B.V., 3