spatial database systemswiki.dpi.inpe.br/lib/exe/fetch.php?media=sds-gribeiro.pdf ·...
TRANSCRIPT
![Page 2: spatial database systemswiki.dpi.inpe.br/lib/exe/fetch.php?media=sds-gribeiro.pdf · DatabaseTechnology& Evoluon & 1960 1970 1980 1990 2000 2010 Object&Oriented&Databases& Object&Relaonal](https://reader034.vdocument.in/reader034/viewer/2022043010/5fa2dab0f92de911a70f3307/html5/thumbnails/2.jpg)
Roadmap • What is a Spa$al Database System (SDS)?
• Spa$al Data Types and Operators
• What is a Mul$-‐dimensional Access Method (Spa$al Indexing)?
• GIS and DBMS integra$on
• Standards for SDS
• Historical Development of Spa$al Database Systems
![Page 3: spatial database systemswiki.dpi.inpe.br/lib/exe/fetch.php?media=sds-gribeiro.pdf · DatabaseTechnology& Evoluon & 1960 1970 1980 1990 2000 2010 Object&Oriented&Databases& Object&Relaonal](https://reader034.vdocument.in/reader034/viewer/2022043010/5fa2dab0f92de911a70f3307/html5/thumbnails/3.jpg)
What is a Spa$al Database System?
![Page 4: spatial database systemswiki.dpi.inpe.br/lib/exe/fetch.php?media=sds-gribeiro.pdf · DatabaseTechnology& Evoluon & 1960 1970 1980 1990 2000 2010 Object&Oriented&Databases& Object&Relaonal](https://reader034.vdocument.in/reader034/viewer/2022043010/5fa2dab0f92de911a70f3307/html5/thumbnails/4.jpg)
Source: W
ikiped
ia
Geographic Informa$on Systems (GIS)
Source: Wikipedia
Electronic Design Automa$on (EDA or ECAD)
Source: MMDB
3D Macromolecular Structures
Source: 3DS
licer
3D Magne$c Resonance Imaging (MRI)
Which applica$ons have to manage data related to space?
![Page 5: spatial database systemswiki.dpi.inpe.br/lib/exe/fetch.php?media=sds-gribeiro.pdf · DatabaseTechnology& Evoluon & 1960 1970 1980 1990 2000 2010 Object&Oriented&Databases& Object&Relaonal](https://reader034.vdocument.in/reader034/viewer/2022043010/5fa2dab0f92de911a70f3307/html5/thumbnails/5.jpg)
Database Technology Evolu$on
1960 1970 1980 1990 2000 2010
Object Oriented Databases
Object Rela$onal Databases
Research on Database Extensibility
Generalized Programming
File dependent programs
Hierarchical Database Model (IBM IMS)
Rela$onal Databases (RDBMS)
Emergent and demanding applica$ons: CAD, GIS, Mul$media, OLAP, Real-‐$me, Scien$fic
![Page 6: spatial database systemswiki.dpi.inpe.br/lib/exe/fetch.php?media=sds-gribeiro.pdf · DatabaseTechnology& Evoluon & 1960 1970 1980 1990 2000 2010 Object&Oriented&Databases& Object&Relaonal](https://reader034.vdocument.in/reader034/viewer/2022043010/5fa2dab0f92de911a70f3307/html5/thumbnails/6.jpg)
Database Technology Evolu$on
1960 1970 1980 1990 2000 2010
Object Oriented Databases
Object Rela$onal Databases
Emergent and demanding applica/ons: CAD, GIS, Mul$media, OLAP, Real-‐$me, Scien$fic
Generalized Programming
File dependent programs
Hierarchical Database Model (IBM IMS)
Rela$onal Databases (RDBMS)
Several Research Prototypes in the late 80’s: Probe, DASDBS GEO-‐Kernel, Gral, SIRO-‐DBMS, Starburst, Geo++, GéoSabrina, GODOT, GeoO2, Paradise
![Page 7: spatial database systemswiki.dpi.inpe.br/lib/exe/fetch.php?media=sds-gribeiro.pdf · DatabaseTechnology& Evoluon & 1960 1970 1980 1990 2000 2010 Object&Oriented&Databases& Object&Relaonal](https://reader034.vdocument.in/reader034/viewer/2022043010/5fa2dab0f92de911a70f3307/html5/thumbnails/7.jpg)
Is there a unified term for SDS?
• Common terms in the literature: – Pictorial – Image – Geometric – Geographic – Spa$al database system
• Most dis$nguished: – Image database systems – Spa$al database systems
raster images: such as remote sensing satellite data or computer tomography
set of objects in space
We will have specific classes about this topic
This will be our focus for the next classes
![Page 8: spatial database systemswiki.dpi.inpe.br/lib/exe/fetch.php?media=sds-gribeiro.pdf · DatabaseTechnology& Evoluon & 1960 1970 1980 1990 2000 2010 Object&Oriented&Databases& Object&Relaonal](https://reader034.vdocument.in/reader034/viewer/2022043010/5fa2dab0f92de911a70f3307/html5/thumbnails/8.jpg)
A Spa$al Database System is…
Database System
Spa/al Data Types
Spa/al Indexing
+
+
geometric informa$on may be connected to non-‐spa$al data:
“who is the owner of a given parcel?”
The model and query language must support spa$al types such as points, lines, or polygons and their opera$ons (intersec$on, area, ...)
The system should avoid scanning the whole set of objects when execu$ng a given query or
performing a spa$al join
![Page 9: spatial database systemswiki.dpi.inpe.br/lib/exe/fetch.php?media=sds-gribeiro.pdf · DatabaseTechnology& Evoluon & 1960 1970 1980 1990 2000 2010 Object&Oriented&Databases& Object&Relaonal](https://reader034.vdocument.in/reader034/viewer/2022043010/5fa2dab0f92de911a70f3307/html5/thumbnails/9.jpg)
A Spa$al Database System is not a full GIS
A SDS should provide the underlying database technology for a GIS
GIS is the driven technology of today SDS
![Page 10: spatial database systemswiki.dpi.inpe.br/lib/exe/fetch.php?media=sds-gribeiro.pdf · DatabaseTechnology& Evoluon & 1960 1970 1980 1990 2000 2010 Object&Oriented&Databases& Object&Relaonal](https://reader034.vdocument.in/reader034/viewer/2022043010/5fa2dab0f92de911a70f3307/html5/thumbnails/10.jpg)
Spa$al Data Types
![Page 11: spatial database systemswiki.dpi.inpe.br/lib/exe/fetch.php?media=sds-gribeiro.pdf · DatabaseTechnology& Evoluon & 1960 1970 1980 1990 2000 2010 Object&Oriented&Databases& Object&Relaonal](https://reader034.vdocument.in/reader034/viewer/2022043010/5fa2dab0f92de911a70f3307/html5/thumbnails/11.jpg)
Spa$al Data Types
Single Objects
![Page 12: spatial database systemswiki.dpi.inpe.br/lib/exe/fetch.php?media=sds-gribeiro.pdf · DatabaseTechnology& Evoluon & 1960 1970 1980 1990 2000 2010 Object&Oriented&Databases& Object&Relaonal](https://reader034.vdocument.in/reader034/viewer/2022043010/5fa2dab0f92de911a70f3307/html5/thumbnails/12.jpg)
Point • A point represents an object for which only its loca$on in space is relevant: – its extent is not important for modeling. – Zero dimensional objects.
• Points may be embedded in: – (2D space):
• (x, y) – (3D Space)
• (x, y, z) • (x, y, z, m) obs.: m = measure
ℜ2
ℜ3
![Page 13: spatial database systemswiki.dpi.inpe.br/lib/exe/fetch.php?media=sds-gribeiro.pdf · DatabaseTechnology& Evoluon & 1960 1970 1980 1990 2000 2010 Object&Oriented&Databases& Object&Relaonal](https://reader034.vdocument.in/reader034/viewer/2022043010/5fa2dab0f92de911a70f3307/html5/thumbnails/13.jpg)
Line • Used for represen$ng a curve in space:
– A sequence of coordinates – Linear objects or 1-‐dimensional – Roads, rivers, cables, electricity lines
• Lines may be embedded in: – (2D space):
• { (x1, y1), (x2, y2), ..., (xn, yn)} – (3D Space) – (3D Space) + Measure
• Segment interpola$on: – Linear interpola$on between nodes – Curved segments
ℜ2
ℜ3
ℜ3
![Page 14: spatial database systemswiki.dpi.inpe.br/lib/exe/fetch.php?media=sds-gribeiro.pdf · DatabaseTechnology& Evoluon & 1960 1970 1980 1990 2000 2010 Object&Oriented&Databases& Object&Relaonal](https://reader034.vdocument.in/reader034/viewer/2022043010/5fa2dab0f92de911a70f3307/html5/thumbnails/14.jpg)
Polygon • A polygon (or region) is used to represent something having an extent and
area: – One outer ring and zero or more inner rings. – Surface objects or 2-‐dimensional. – A polygon is a region bounded by a closed line (called ring).
Polygon with holes (disconnected exterior)
A region with several disjoint pieces
Simple polygon (no self intersec$on)
Polygon without holes (non-‐disconnected exterior)
Curved and Compound Polygon
![Page 15: spatial database systemswiki.dpi.inpe.br/lib/exe/fetch.php?media=sds-gribeiro.pdf · DatabaseTechnology& Evoluon & 1960 1970 1980 1990 2000 2010 Object&Oriented&Databases& Object&Relaonal](https://reader034.vdocument.in/reader034/viewer/2022043010/5fa2dab0f92de911a70f3307/html5/thumbnails/15.jpg)
Spa$al Data Types
How to represent a collec$on of spa$al objects?
![Page 16: spatial database systemswiki.dpi.inpe.br/lib/exe/fetch.php?media=sds-gribeiro.pdf · DatabaseTechnology& Evoluon & 1960 1970 1980 1990 2000 2010 Object&Oriented&Databases& Object&Relaonal](https://reader034.vdocument.in/reader034/viewer/2022043010/5fa2dab0f92de911a70f3307/html5/thumbnails/16.jpg)
Par$$ons of the plane MG Ci$es MG Crop Lands
No overlap of regions. Specially interset: adjacency rela$onship.
Useful for thema$c maps.
![Page 17: spatial database systemswiki.dpi.inpe.br/lib/exe/fetch.php?media=sds-gribeiro.pdf · DatabaseTechnology& Evoluon & 1960 1970 1980 1990 2000 2010 Object&Oriented&Databases& Object&Relaonal](https://reader034.vdocument.in/reader034/viewer/2022043010/5fa2dab0f92de911a70f3307/html5/thumbnails/17.jpg)
Networks
A graph embedded in the plane. Set of points forming the nodes and a set of lines forming
the edges.
![Page 18: spatial database systemswiki.dpi.inpe.br/lib/exe/fetch.php?media=sds-gribeiro.pdf · DatabaseTechnology& Evoluon & 1960 1970 1980 1990 2000 2010 Object&Oriented&Databases& Object&Relaonal](https://reader034.vdocument.in/reader034/viewer/2022043010/5fa2dab0f92de911a70f3307/html5/thumbnails/18.jpg)
Internal Representa$on
• Single objects (points, lines, polygons): – Data structures for sequences: vector or lists; – Orienta$on: clockwise or counter-‐clockwise; – Ordering: x or y.
• Representa$ng a collec$on of objects: Spaghem Model
O1 O2
O3
Topological Model
O1 O2
O3
n1
n2 n3 n4
a1
a2
a3
a4
Network Model
![Page 19: spatial database systemswiki.dpi.inpe.br/lib/exe/fetch.php?media=sds-gribeiro.pdf · DatabaseTechnology& Evoluon & 1960 1970 1980 1990 2000 2010 Object&Oriented&Databases& Object&Relaonal](https://reader034.vdocument.in/reader034/viewer/2022043010/5fa2dab0f92de911a70f3307/html5/thumbnails/19.jpg)
Spa$al Data Types
Spa$al Algebras
![Page 20: spatial database systemswiki.dpi.inpe.br/lib/exe/fetch.php?media=sds-gribeiro.pdf · DatabaseTechnology& Evoluon & 1960 1970 1980 1990 2000 2010 Object&Oriented&Databases& Object&Relaonal](https://reader034.vdocument.in/reader034/viewer/2022043010/5fa2dab0f92de911a70f3307/html5/thumbnails/20.jpg)
Spa$al Algebras
• When introducing spa$al types into a DBMS it is necessary to define a spa$al algebra:
Abstract Data Types (ADT): ü combina$on of data types and their opera$ons; ü Accessible only through opera$ons defined on them (encapsula$on).
∀p in polygon
p × p → bool intersects, disjoint, touches, overlapsp × p → geometry intersectionp → [lines] boundaryp × p → real distancep → real area, perimeter
![Page 21: spatial database systemswiki.dpi.inpe.br/lib/exe/fetch.php?media=sds-gribeiro.pdf · DatabaseTechnology& Evoluon & 1960 1970 1980 1990 2000 2010 Object&Oriented&Databases& Object&Relaonal](https://reader034.vdocument.in/reader034/viewer/2022043010/5fa2dab0f92de911a70f3307/html5/thumbnails/21.jpg)
Spa$al Opera$ons
Geometric Operators Metric Operators
Spa$al Rela$onships
![Page 22: spatial database systemswiki.dpi.inpe.br/lib/exe/fetch.php?media=sds-gribeiro.pdf · DatabaseTechnology& Evoluon & 1960 1970 1980 1990 2000 2010 Object&Oriented&Databases& Object&Relaonal](https://reader034.vdocument.in/reader034/viewer/2022043010/5fa2dab0f92de911a70f3307/html5/thumbnails/22.jpg)
Set opera/ons
Geometric Operators Convex
Hull
Buffer distance
Topological Transforms: rota$on, transla$on, scale change, symmetry.
Dimensional Transforms: boundary.
Extrac/on: MBR, centroid.
Object Proper/es: is_convex, is_connected, is_simple.
Intersec$on Union
Difference Symetric Difference
![Page 23: spatial database systemswiki.dpi.inpe.br/lib/exe/fetch.php?media=sds-gribeiro.pdf · DatabaseTechnology& Evoluon & 1960 1970 1980 1990 2000 2010 Object&Oriented&Databases& Object&Relaonal](https://reader034.vdocument.in/reader034/viewer/2022043010/5fa2dab0f92de911a70f3307/html5/thumbnails/23.jpg)
Metric Operators
• Length • Perimeter • Area • Distance
![Page 24: spatial database systemswiki.dpi.inpe.br/lib/exe/fetch.php?media=sds-gribeiro.pdf · DatabaseTechnology& Evoluon & 1960 1970 1980 1990 2000 2010 Object&Oriented&Databases& Object&Relaonal](https://reader034.vdocument.in/reader034/viewer/2022043010/5fa2dab0f92de911a70f3307/html5/thumbnails/24.jpg)
Spa$al Rela$onships • Topological rela$onships:
• Direc$on rela$onships: – Above, below, north_of, …
• Metric rela$onships: – Distance between two objects are less than a given number of units.
Touches Overlaps Disjoint Contains Within Equals
![Page 25: spatial database systemswiki.dpi.inpe.br/lib/exe/fetch.php?media=sds-gribeiro.pdf · DatabaseTechnology& Evoluon & 1960 1970 1980 1990 2000 2010 Object&Oriented&Databases& Object&Relaonal](https://reader034.vdocument.in/reader034/viewer/2022043010/5fa2dab0f92de911a70f3307/html5/thumbnails/25.jpg)
Spa$al Rela$onships Spa/al Rela/onships in Experimental Query Languages
Query Language Spa/al Rela/onships
Freeman (1975) ler of, right of, beside, above, below, near, far, touching, between, inside, outside
ATLAS (Tsurutani et al., 1980) area adjacency, line adjacency, boundary rela$on-‐ ship, containment, distance, direc$on
MAPQUERY (Frank, 1982) on, adjacent, within
KBGIS (Smith and Pazner, 1984) containment, subset, neighborhood, near, far, north, south, east, west
KGIS (Ingram and Phillips, 1987) distance, overlay, adjacent, overlap
PSQL (Roussopoulos et al., 1988) covering, coveredBy, overlapping, disjoint, near-‐ est, furthest, within, outside, on perimeter
SQL extension (Herring et al., 1988) adjacent, contains, contains point, enclosed by, intersect, near, self intersect
Geo-‐Rela$onal Algebra (Gü$ng, 1988)
equal, not equal, inside, outside, intersect
Spa$al SQL (Egenhofer, 1989) disjoint, equal, meet, overlap, concur, commonBounds
Source: Egenhofer and Herring (1990)
![Page 26: spatial database systemswiki.dpi.inpe.br/lib/exe/fetch.php?media=sds-gribeiro.pdf · DatabaseTechnology& Evoluon & 1960 1970 1980 1990 2000 2010 Object&Oriented&Databases& Object&Relaonal](https://reader034.vdocument.in/reader034/viewer/2022043010/5fa2dab0f92de911a70f3307/html5/thumbnails/26.jpg)
A Framework for the Descrip$on of Topological Spa$al Rela$ons
4-‐intersec$on Matrix (Egenhofer and Franzosa, 1991)
Ao
δA
Ao ∩ Bo
δA ∩ Bo
Ao ∩ δB
δA ∩ δB
Bo δB
![Page 27: spatial database systemswiki.dpi.inpe.br/lib/exe/fetch.php?media=sds-gribeiro.pdf · DatabaseTechnology& Evoluon & 1960 1970 1980 1990 2000 2010 Object&Oriented&Databases& Object&Relaonal](https://reader034.vdocument.in/reader034/viewer/2022043010/5fa2dab0f92de911a70f3307/html5/thumbnails/27.jpg)
4-‐Intersec$on Matrix
![Page 28: spatial database systemswiki.dpi.inpe.br/lib/exe/fetch.php?media=sds-gribeiro.pdf · DatabaseTechnology& Evoluon & 1960 1970 1980 1990 2000 2010 Object&Oriented&Databases& Object&Relaonal](https://reader034.vdocument.in/reader034/viewer/2022043010/5fa2dab0f92de911a70f3307/html5/thumbnails/28.jpg)
Refinements on Intersec$on Matrix
Ao
δA A-‐
Bo δB B-‐
dim(Ao ∩ Bo )
dim(δA ∩ Bo )
dim(A-‐ ∩ Bo )
dim(Ao ∩ δB )
dim(δA ∩ δB )
dim(A-‐ ∩ δB )
dim(Ao ∩ B-‐ )
dim(δA ∩ B-‐ )
dim(A-‐ ∩ B-‐ )
Ao
δA A-‐
Ao ∩ Bo
δA ∩ Bo
A-‐ ∩ Bo
Ao ∩ δB
δA ∩ δB
A-‐ ∩ δB
Ao ∩ B-‐
δA ∩ B-‐
A-‐ ∩ B-‐
Bo δB B-‐
9-‐intersec$on Matrix (Egenhofer, 1991)
Dimension Extended 9-‐intersec$on Matrix (Clemen$ni et al. , 1993)
![Page 29: spatial database systemswiki.dpi.inpe.br/lib/exe/fetch.php?media=sds-gribeiro.pdf · DatabaseTechnology& Evoluon & 1960 1970 1980 1990 2000 2010 Object&Oriented&Databases& Object&Relaonal](https://reader034.vdocument.in/reader034/viewer/2022043010/5fa2dab0f92de911a70f3307/html5/thumbnails/29.jpg)
![Page 30: spatial database systemswiki.dpi.inpe.br/lib/exe/fetch.php?media=sds-gribeiro.pdf · DatabaseTechnology& Evoluon & 1960 1970 1980 1990 2000 2010 Object&Oriented&Databases& Object&Relaonal](https://reader034.vdocument.in/reader034/viewer/2022043010/5fa2dab0f92de911a70f3307/html5/thumbnails/30.jpg)
Opera$ons on Collec$ons of Objects
• Voronoi diagram • Overlay: – Generates a new set based on two input sets.
• Aggregate: – fusion/merging of adjacent areas if an awributes are equal.
• Merge: – Union of two or more sets with the same schema.
• Closest: – Find the objects closest to a query object.
![Page 31: spatial database systemswiki.dpi.inpe.br/lib/exe/fetch.php?media=sds-gribeiro.pdf · DatabaseTechnology& Evoluon & 1960 1970 1980 1990 2000 2010 Object&Oriented&Databases& Object&Relaonal](https://reader034.vdocument.in/reader034/viewer/2022043010/5fa2dab0f92de911a70f3307/html5/thumbnails/31.jpg)
Implementa$on Issues
Geometric Algorithms
![Page 32: spatial database systemswiki.dpi.inpe.br/lib/exe/fetch.php?media=sds-gribeiro.pdf · DatabaseTechnology& Evoluon & 1960 1970 1980 1990 2000 2010 Object&Oriented&Databases& Object&Relaonal](https://reader034.vdocument.in/reader034/viewer/2022043010/5fa2dab0f92de911a70f3307/html5/thumbnails/32.jpg)
How to efficiently compute the intersec$on matrix?
• Segment intersec$on?
• Point in polygon tests?
• Temporary data structures used to represent the objects boundary?
![Page 33: spatial database systemswiki.dpi.inpe.br/lib/exe/fetch.php?media=sds-gribeiro.pdf · DatabaseTechnology& Evoluon & 1960 1970 1980 1990 2000 2010 Object&Oriented&Databases& Object&Relaonal](https://reader034.vdocument.in/reader034/viewer/2022043010/5fa2dab0f92de911a70f3307/html5/thumbnails/33.jpg)
Spa$al Access Methods
Let’s see some typical search opera$ons in a GIS data relies on
spa$al indexing…
![Page 34: spatial database systemswiki.dpi.inpe.br/lib/exe/fetch.php?media=sds-gribeiro.pdf · DatabaseTechnology& Evoluon & 1960 1970 1980 1990 2000 2010 Object&Oriented&Databases& Object&Relaonal](https://reader034.vdocument.in/reader034/viewer/2022043010/5fa2dab0f92de911a70f3307/html5/thumbnails/34.jpg)
Point Queries
• Defini/on: Given a point in the space, find all objects that contain it.
• Also known as “stabbing query”.
![Page 35: spatial database systemswiki.dpi.inpe.br/lib/exe/fetch.php?media=sds-gribeiro.pdf · DatabaseTechnology& Evoluon & 1960 1970 1980 1990 2000 2010 Object&Oriented&Databases& Object&Relaonal](https://reader034.vdocument.in/reader034/viewer/2022043010/5fa2dab0f92de911a70f3307/html5/thumbnails/35.jpg)
Region Queries
• Defini/on: Given a region (or query window), find all objects that intersect it.
• Also known as “range queries”
![Page 36: spatial database systemswiki.dpi.inpe.br/lib/exe/fetch.php?media=sds-gribeiro.pdf · DatabaseTechnology& Evoluon & 1960 1970 1980 1990 2000 2010 Object&Oriented&Databases& Object&Relaonal](https://reader034.vdocument.in/reader034/viewer/2022043010/5fa2dab0f92de911a70f3307/html5/thumbnails/36.jpg)
Nearest Neighbors
• Defini/on: Given a point or object, find its nearest neighbor(s).
• Varia/ons: fixed distance, fixed number of neighbors, closest object
![Page 37: spatial database systemswiki.dpi.inpe.br/lib/exe/fetch.php?media=sds-gribeiro.pdf · DatabaseTechnology& Evoluon & 1960 1970 1980 1990 2000 2010 Object&Oriented&Databases& Object&Relaonal](https://reader034.vdocument.in/reader034/viewer/2022043010/5fa2dab0f92de911a70f3307/html5/thumbnails/37.jpg)
Spa$al Joins
• Defini/on: Given two sets of spa$al objects S1 and S2, and a spa$al rela$onship θ, find the pairs (s1, s2) ∈ S1 X S2 which geometry matches θ.
• Example: S1 = focos S2 = trechos rodoviários θ = focos con$dos num raio de 1000 metros de um dado trecho
![Page 38: spatial database systemswiki.dpi.inpe.br/lib/exe/fetch.php?media=sds-gribeiro.pdf · DatabaseTechnology& Evoluon & 1960 1970 1980 1990 2000 2010 Object&Oriented&Databases& Object&Relaonal](https://reader034.vdocument.in/reader034/viewer/2022043010/5fa2dab0f92de911a70f3307/html5/thumbnails/38.jpg)
Spa$al Access Methods
kd-‐tree, Quad-‐tree, Grid, R-‐Tree
![Page 39: spatial database systemswiki.dpi.inpe.br/lib/exe/fetch.php?media=sds-gribeiro.pdf · DatabaseTechnology& Evoluon & 1960 1970 1980 1990 2000 2010 Object&Oriented&Databases& Object&Relaonal](https://reader034.vdocument.in/reader034/viewer/2022043010/5fa2dab0f92de911a70f3307/html5/thumbnails/39.jpg)
k-‐d-‐tree (Bentley, 1975)
![Page 40: spatial database systemswiki.dpi.inpe.br/lib/exe/fetch.php?media=sds-gribeiro.pdf · DatabaseTechnology& Evoluon & 1960 1970 1980 1990 2000 2010 Object&Oriented&Databases& Object&Relaonal](https://reader034.vdocument.in/reader034/viewer/2022043010/5fa2dab0f92de911a70f3307/html5/thumbnails/40.jpg)
Quad-‐trees (Finkel and Bentley, 1974; Samet, 1990 )
![Page 41: spatial database systemswiki.dpi.inpe.br/lib/exe/fetch.php?media=sds-gribeiro.pdf · DatabaseTechnology& Evoluon & 1960 1970 1980 1990 2000 2010 Object&Oriented&Databases& Object&Relaonal](https://reader034.vdocument.in/reader034/viewer/2022043010/5fa2dab0f92de911a70f3307/html5/thumbnails/41.jpg)
Fixed-‐Grid
![Page 42: spatial database systemswiki.dpi.inpe.br/lib/exe/fetch.php?media=sds-gribeiro.pdf · DatabaseTechnology& Evoluon & 1960 1970 1980 1990 2000 2010 Object&Oriented&Databases& Object&Relaonal](https://reader034.vdocument.in/reader034/viewer/2022043010/5fa2dab0f92de911a70f3307/html5/thumbnails/42.jpg)
R-‐tree (Guwman, 1984)
![Page 43: spatial database systemswiki.dpi.inpe.br/lib/exe/fetch.php?media=sds-gribeiro.pdf · DatabaseTechnology& Evoluon & 1960 1970 1980 1990 2000 2010 Object&Oriented&Databases& Object&Relaonal](https://reader034.vdocument.in/reader034/viewer/2022043010/5fa2dab0f92de911a70f3307/html5/thumbnails/43.jpg)
Spa$al Query Processing
Spa$al Selec$ons Spa$al Joins
![Page 44: spatial database systemswiki.dpi.inpe.br/lib/exe/fetch.php?media=sds-gribeiro.pdf · DatabaseTechnology& Evoluon & 1960 1970 1980 1990 2000 2010 Object&Oriented&Databases& Object&Relaonal](https://reader034.vdocument.in/reader034/viewer/2022043010/5fa2dab0f92de911a70f3307/html5/thumbnails/44.jpg)
Spa$al Query (Kriegel et al., 1993)
Spa/al Query
Spa$al Query Processor
Candidates
Geometric Filter
Hits False Hits Candidates
Exact Geometry Processor
Response Set
False Hits
![Page 45: spatial database systemswiki.dpi.inpe.br/lib/exe/fetch.php?media=sds-gribeiro.pdf · DatabaseTechnology& Evoluon & 1960 1970 1980 1990 2000 2010 Object&Oriented&Databases& Object&Relaonal](https://reader034.vdocument.in/reader034/viewer/2022043010/5fa2dab0f92de911a70f3307/html5/thumbnails/45.jpg)
Spa$al Joins (Brinkhoff et al., 1994)
Rela/on A Rela/on B
SAMs
Candidate Pairs
Geometric Filter
Hits False Hits Candidate Pairs
Exact Geometry Processor
Response Set
False Hits
∩MBR join
![Page 46: spatial database systemswiki.dpi.inpe.br/lib/exe/fetch.php?media=sds-gribeiro.pdf · DatabaseTechnology& Evoluon & 1960 1970 1980 1990 2000 2010 Object&Oriented&Databases& Object&Relaonal](https://reader034.vdocument.in/reader034/viewer/2022043010/5fa2dab0f92de911a70f3307/html5/thumbnails/46.jpg)
Spa$al Query Languages
![Page 47: spatial database systemswiki.dpi.inpe.br/lib/exe/fetch.php?media=sds-gribeiro.pdf · DatabaseTechnology& Evoluon & 1960 1970 1980 1990 2000 2010 Object&Oriented&Databases& Object&Relaonal](https://reader034.vdocument.in/reader034/viewer/2022043010/5fa2dab0f92de911a70f3307/html5/thumbnails/47.jpg)
Spa$al Databases Standards
OGC SFS ISO SQL-‐MM Spa$al
![Page 48: spatial database systemswiki.dpi.inpe.br/lib/exe/fetch.php?media=sds-gribeiro.pdf · DatabaseTechnology& Evoluon & 1960 1970 1980 1990 2000 2010 Object&Oriented&Databases& Object&Relaonal](https://reader034.vdocument.in/reader034/viewer/2022043010/5fa2dab0f92de911a70f3307/html5/thumbnails/48.jpg)
GIS and DBMS
![Page 49: spatial database systemswiki.dpi.inpe.br/lib/exe/fetch.php?media=sds-gribeiro.pdf · DatabaseTechnology& Evoluon & 1960 1970 1980 1990 2000 2010 Object&Oriented&Databases& Object&Relaonal](https://reader034.vdocument.in/reader034/viewer/2022043010/5fa2dab0f92de911a70f3307/html5/thumbnails/49.jpg)
GIS and DBMS (Before the advent of SDS)
GIS
RDBMS Spa/al Data Manager
Geo Alpha-‐numeric
GIS
Spa/al Data Manager
Geo +
Alpha-‐Numeric
Dual Architecture Layered Architecture
RDBMS
![Page 50: spatial database systemswiki.dpi.inpe.br/lib/exe/fetch.php?media=sds-gribeiro.pdf · DatabaseTechnology& Evoluon & 1960 1970 1980 1990 2000 2010 Object&Oriented&Databases& Object&Relaonal](https://reader034.vdocument.in/reader034/viewer/2022043010/5fa2dab0f92de911a70f3307/html5/thumbnails/50.jpg)
GIS and DBMS (Advent of SDS)
GIS
Extensible DBMS
Integrated Architecture
Spa/al Data Support
Geo +
Alpha-‐Numeric
![Page 51: spatial database systemswiki.dpi.inpe.br/lib/exe/fetch.php?media=sds-gribeiro.pdf · DatabaseTechnology& Evoluon & 1960 1970 1980 1990 2000 2010 Object&Oriented&Databases& Object&Relaonal](https://reader034.vdocument.in/reader034/viewer/2022043010/5fa2dab0f92de911a70f3307/html5/thumbnails/51.jpg)
References
![Page 52: spatial database systemswiki.dpi.inpe.br/lib/exe/fetch.php?media=sds-gribeiro.pdf · DatabaseTechnology& Evoluon & 1960 1970 1980 1990 2000 2010 Object&Oriented&Databases& Object&Relaonal](https://reader034.vdocument.in/reader034/viewer/2022043010/5fa2dab0f92de911a70f3307/html5/thumbnails/52.jpg)
Introductory
• Ralf Hartmut Gü$ng. 1994. An introduc+on to spa+al database systems. The VLDB Journal, v. 3, n. 4, 357-‐399, October 1994.
• Philippe Rigaux, Michel Scholl and Agnès Voisard. 2001. Spa+al Databases with Applica+on to GIS. Morgan Kaufmann Publishers Inc., San Francisco, CA, USA.
![Page 53: spatial database systemswiki.dpi.inpe.br/lib/exe/fetch.php?media=sds-gribeiro.pdf · DatabaseTechnology& Evoluon & 1960 1970 1980 1990 2000 2010 Object&Oriented&Databases& Object&Relaonal](https://reader034.vdocument.in/reader034/viewer/2022043010/5fa2dab0f92de911a70f3307/html5/thumbnails/53.jpg)
Surveys
• Volker Gaede and Oliver Günther. 1998. Mul/dimensional access methods. ACM Compu)ng Surveys, v. 30, n. 2, June 1998, pp. 170-‐231.
• Hanan Samet. 1990. The Design and Analysis of Spa/al Data Structures. Addison-‐Wesley Longman Publishing Co., Inc., Boston, MA, USA.
![Page 54: spatial database systemswiki.dpi.inpe.br/lib/exe/fetch.php?media=sds-gribeiro.pdf · DatabaseTechnology& Evoluon & 1960 1970 1980 1990 2000 2010 Object&Oriented&Databases& Object&Relaonal](https://reader034.vdocument.in/reader034/viewer/2022043010/5fa2dab0f92de911a70f3307/html5/thumbnails/54.jpg)
Topological Rela$ons • M. Egenhofer and J. Herring. Categorizing Binary Topological Rela+ons Between
Regions, Lines, and Points in Geographic Databases. Technical Report, Department of Surveying Engineering, University of Maine, 1990.
• M. Egenhofer and R. Franzosa. Point-‐Set Topological Spa+al Rela+ons. Interna$onal Journal of Geographical Informa$on Systems 5 (2): 161-‐174, 1991.
• M. Egenhofer. Reasoning about Binary Topological Rela+ons. Second Symposium on Large Spa$al Databases, Zurich, Switzerland. O. Gunther and H.-‐J. Schek (eds.), Lecture Notes in Computer Science, Vol. 525, Springer-‐Verlag, pp. 143-‐160, August 1991.
• Eliseo Clemen$ni, Paolino Di Felice, and Peter van Oosterom. 1993. A Small Set of Formal Topological Rela+onships Suitable for End-‐User Interac+on. In Proceedings of the Third Interna)onal Symposium on Advances in Spa)al Databases (SSD '93), David J. Abel and Beng Chin Ooi (Eds.). Springer-‐Verlag, London, UK, UK, 277-‐295.
![Page 55: spatial database systemswiki.dpi.inpe.br/lib/exe/fetch.php?media=sds-gribeiro.pdf · DatabaseTechnology& Evoluon & 1960 1970 1980 1990 2000 2010 Object&Oriented&Databases& Object&Relaonal](https://reader034.vdocument.in/reader034/viewer/2022043010/5fa2dab0f92de911a70f3307/html5/thumbnails/55.jpg)
Spa$al Access Methods • Jon Louis Bentley. 1975. Mul+dimensional binary search
trees used for associa+ve searching. Communica)ons of the ACM, v. 18, n. 9, September 1975, pp. 509-‐517.
• R. A. Finkel and J. L. Bentley. Quad trees: A data structure for retrieval on composite keys. Acta Informa)ca, 4(1):1-‐9, 1974.
• Antonin Guwman. 1984. R-‐trees: a dynamic index structure for spa+al searching. In Proceedings of the 1984 ACM SIGMOD interna)onal conference on Management of data (SIGMOD '84). ACM, New York, NY, USA, 47-‐57.
![Page 56: spatial database systemswiki.dpi.inpe.br/lib/exe/fetch.php?media=sds-gribeiro.pdf · DatabaseTechnology& Evoluon & 1960 1970 1980 1990 2000 2010 Object&Oriented&Databases& Object&Relaonal](https://reader034.vdocument.in/reader034/viewer/2022043010/5fa2dab0f92de911a70f3307/html5/thumbnails/56.jpg)
Spa$al Query Processing
• Kriegel H.-‐P., Brinkhoff T., Schneider R. Efficient Spa+al Query Processing in Geographic Database Systems. IEEE Data Engineering Bulle$n, Vol. 16, No. 3, 1993, pp. 10-‐15.
• Thomas Brinkhoff, Hans-‐Peter Kriegel, Ralf Schneider, and Bernhard Seeger. 1994. Mul+-‐step processing of spa+al joins. SIGMOD Rec. 23, 2 (May 1994), 197-‐208.
![Page 57: spatial database systemswiki.dpi.inpe.br/lib/exe/fetch.php?media=sds-gribeiro.pdf · DatabaseTechnology& Evoluon & 1960 1970 1980 1990 2000 2010 Object&Oriented&Databases& Object&Relaonal](https://reader034.vdocument.in/reader034/viewer/2022043010/5fa2dab0f92de911a70f3307/html5/thumbnails/57.jpg)
Spa$al Query Processing
• Oliver Günther. 1993. Efficient Computa+on of Spa+al Joins. In Proceedings of the Ninth Interna)onal Conference on Data Engineering. IEEE Computer Society, Washington, DC, USA, pp. 50-‐59.