GIS 3 – Kapitel 1: Geodatenbanken

Werbung
GIS 3 – Kapitel 1:
Geodatenbanken
Prof. Dr.-Ing. Wolfgang Reinhardt
i.V. Stephan Mäs
Arbeitsgemeinschaft GIS
Universität der Bundeswehr München
[email protected]
www.agis.unibw.de
Allgemeine Datenbankeigenschaften
Allgemeine
Datenbankeigenschaften
Geometrische Zugriffsstrukturen
Topologische Operatoren
-
Definition Datenbank
Geodatenbanken
Datentypen in Geodatenbanken
Organisationsformen von Geodatenbanken
Gegenüberstellung objektorientiert - relational
Objektrelationales GeoDBMS
Allgemeine Datenbankeigenschaften (1-6)
GIS 3 – Kapitel 1: Geodatenbanken
2 / 41
Definition Datenbank
Allgemeine
Datenbankeigenschaften
Geometrische Zugriffsstrukturen
Topologische Operatoren
GIS 3 – Kapitel 1: Geodatenbanken
Geodatenbanken
3 / 41
Allgemeine
Datenbankeigenschaften
Geometrische Zugriffsstrukturen
Topologische Operatoren
GIS 3 – Kapitel 1: Geodatenbanken
4 / 41
Datentypen in Geodatenbanken
Allgemeine
Datenbankeigenschaften
Geometrische Zugriffsstrukturen
Topologische Operatoren
GIS 3 – Kapitel 1: Geodatenbanken
Organisationsformen von Geodatenbanken
5 / 41
Allgemeine
Datenbankeigenschaften
Geometrische Zugriffsstrukturen
Topologische Operatoren
GIS 3 – Kapitel 1: Geodatenbanken
6 / 41
Allgemeine
Datenbankeigenschaften
Gegenüberstellung: objektorientiert - relational
Geometrische Zugriffsstrukturen
Topologische Operatoren
GIS 3 – Kapitel 1: Geodatenbanken
7 / 41
Allgemeine
Datenbankeigenschaften
Objektrelationales GeoDBMS
Geometrische Zugriffsstrukturen
Topologische Operatoren
Konsequente Erweiterung der relationalen GeoDBMS :
• Erweiterung der relationalen Datenbanken um objektorientierte Eigenschaften
• Komplexe Datentypen, benutzerdefiniert, in einer Spalte einer Tabelle:
- Objekte mit eigenen Attributen und Methoden
- erweiterte Anfragesprache
- Methoden zur effizienten Speicherung und Indizierung dieser
Datentypen
ID
Nutzung
Fläche
Geometrie
...
88
Acker
17593,81
Polygon
...
...
...
...
...
...
“Sachdaten” und Geometriedaten als Attribut
z.B. PostgreSQL
GIS 3 – Kapitel 1: Geodatenbanken
8 / 41
Allgemeine Datenbankeigenschaften (1)
Allgemeine
Datenbankeigenschaften
Geometrische Zugriffsstrukturen
Topologische Operatoren
GIS 3 – Kapitel 1: Geodatenbanken
Allgemeine Datenbankeigenschaften (2)
9 / 41
Allgemeine
Datenbankeigenschaften
Geometrische Zugriffsstrukturen
Topologische Operatoren
GIS 3 – Kapitel 1: Geodatenbanken
10 / 41
Allgemeine Datenbankeigenschaften (3)
Allgemeine
Datenbankeigenschaften
Geometrische Zugriffsstrukturen
Topologische Operatoren
Replikation
Mehrfaches Vorhalten von Datenbeständen (redundant) - auf die replizierten
Daten kann von unterschiedlichen Benutzern gleichzeitig zugegriffen werden.
Ziel:
Verbessern der Performance bei Netzverbindungen mit schmalen
Bandbreiten Erhöhung der Verfügbarkeit bei unterbrochener Verbindung (s. o).
Um Probleme bei der Konsistenthaltung / Aktuellhaltung der Datenbasen zu
vermeiden werden folgende Methoden benötigt:
• Schreibsperren
• Transaktionsmechanismen:
- lange Transaktionen
- kurze Transaktionen
• Konfliktauflösung (vgl. Mehrbenutzerbetrieb)
GIS 3 – Kapitel 1: Geodatenbanken
Allgemeine Datenbankeigenschaften (4)
11 / 41
Allgemeine
Datenbankeigenschaften
Geometrische Zugriffsstrukturen
Topologische Operatoren
GIS 3 – Kapitel 1: Geodatenbanken
12 / 41
Allgemeine Datenbankeigenschaften (5)
Allgemeine
Datenbankeigenschaften
Geometrische Zugriffsstrukturen
Topologische Operatoren
GIS 3 – Kapitel 1: Geodatenbanken
Allgemeine Datenbankeigenschaften (6)
13 / 41
Allgemeine
Datenbankeigenschaften
Geometrische Zugriffsstrukturen
Topologische Operatoren
GIS 3 – Kapitel 1: Geodatenbanken
14 / 41
Geometrische Zugriffsstrukturen
-
Indexstrukturen in Datenbanken
Räumliche Anfragen
Motivation
R-Baum (1-2)
Strategie: Filter and Refine
R-Baum - Punktsuche
R-Baum - Bereichsanfrage
Quadtree
Aufbau des Quadtree
Beispiel
Weitere Quadtree- Anwendungen
Zusammenfassung
GIS 3 – Kapitel 1: Geodatenbanken
Indexstrukturen in Datenbanken
Allgemeine
Datenbankeigenschaften
Geometrische
Zugriffsstrukturen
Topologische Operatoren
15 / 41
Allgemeine
Datenbankeigenschaften
Geometrische
Zugriffsstrukturen
Topologische Operatoren
GIS 3 – Kapitel 1: Geodatenbanken
16 / 41
Allgemeine
Datenbankeigenschaften
Räumliche Anfragen
Geometrische
Zugriffsstrukturen
Topologische Operatoren
Gegeben:
Menge von flächenhaften Geoobjekten
z.B.: Orte (ID, Name, Einwohner,
Geometrie)
Gewünschte Anfragetypen:
•
Punktanfrage: In welchem Ort
(Polygon) liegt der Punkt P?
•
Bereichsanfrage: Welche Orte
(Polygone) liegen innerhalb des
achsenparallelen Rechtecks Q?
GIS 3 – Kapitel 1: Geodatenbanken
Animation: 3x klicken
17 / 41
Allgemeine
Datenbankeigenschaften
Motivation
Geometrische
Zugriffsstrukturen
Topologische Operatoren
Naive Lösung:
Sequentieller Test aller Polygone
Probleme:
1. Die naive Berechnung ist sehr
aufwendig
2. Suchzeit linear von der Anzahl der
Polygone abhängig - Nicht
vertretbar für große Mengen!
Lösungsansätze:
zu 1): Filterschritt: Zuerst das
minimal umschließende,
achsenparallele Rechteck
(minimum Bounding Box = BB)
testen
zu 2): Indexstrukturen für BBs
aufbauen
GIS 3 – Kapitel 1: Geodatenbanken
Animation: 3x klicken
18 / 41
Allgemeine
Datenbankeigenschaften
R-Baum (1)
Geometrische
Zugriffsstrukturen
Topologische Operatoren
Definition: dynamische Zugriffsmethode
oder Indexstruktur in der Datenhaltung
für mehrdimensionale Räume.
Struktur entspricht einem balancierten
Baum:
Jede Baumebene gruppiert und aggregiert
die Elemente der nachfolgenden Ebene.
In jedem Blatt werden Referenzen auf die
eigentlichen Geometrien, sowie deren
Bounding Boxes gespeichert. Jeder
Vaterknoten speichert für jeden seiner
Nachfolger wieder die Bounding Box
über alle seine Teilgeometrien.
Beispiel: innere Knoten zeigen auf einen
Teilbaum, welcher von einer BB
begrenzt wird.
Legende:
GIS 3 – Kapitel 1: Geodatenbanken
19 / 41
Allgemeine
Datenbankeigenschaften
R-Baum (2)
Geometrische
Zugriffsstrukturen
Vorgegeben:
• min. Anzahl Einträge pro Knoten: m
• max. Anzahl Einträge pro Knoten: M mit m<=(M+1)/2
• Für die Wurzel des Baumes gilt die untere Schranke m=2
Topologische Operatoren
Eigenschaften
• Außer Punktanfragen auch Bereichsanfragen möglich
• Objekte werden räumlich sortiert und können effizient
abgefragt werden
• keine disjunkte Aufteilung des Suchraumes
(Rechtecke können sich überlappen)
• Knoten realisieren räumliche Nachbarschaft
• Alle Blätter haben die gleiche Distanz zur Wurzel
• Knotengröße entspricht Seitengröße des DBMS
GIS 3 – Kapitel 1: Geodatenbanken
20 / 41
Allgemeine
Datenbankeigenschaften
Strategie: Filter und Refine
Geometrische
Zugriffsstrukturen
Topologische Operatoren
Gegeben:
Ein räumliches Objekt P des gewünschten Anfragetyps:
"schneidet Rechteck Q" oder "enthält Punkt q"
Problem:
1. Bounding Boxes (BBs) approximieren räumliche Objekte. Es treten also
Fälle auf, in denen P für eine BB erfüllt ist, nicht aber für deren
approximiertes räumliches Objekt.
2. Die Indexstruktur liefert Anfrageresultate immer auf Basis der BBs, die in
ihm gespeichert sind.
Lösung:
Punkt- und Bereichsanfragen mit Indexunterstützung werden in zwei Schritten
bearbeitet:
1. Filter-Schritt: Anfrage an den Index; Ergebnis ist eine Kandidatenmenge
auf Basis der BBs.
2. Refine-Schritt: Die Objekte der Kandidatenmenge werden auf der exakten
Geometrie getestet, wobei falsche Kandidaten aussortiert werden.
GIS 3 – Kapitel 1: Geodatenbanken
R-Raum - Punktsuche
Welche Bounding Boxes (BBs)
enthalten den Punkt P?
21 / 41
Allgemeine
Datenbankeigenschaften
Geometrische
Zugriffsstrukturen
Topologische Operatoren
Beginne an der Wurzel
innere Knoten:
Durchsuche jeden Sohnknoten,
dessen DirBB P enthält
Blattknoten:
Suche alle BBs, die P enthalten
Fertig!
Achtung:
Ggf. muss in mehreren Teilbäumen
gesucht werden!
GIS 3 – Kapitel 1: Geodatenbanken
22 / 41
R-Baum - Bereichsanfrage
Welche BBs liegen im Rechteck Q?
Allgemeine
Datenbankeigenschaften
Geometrische
Zugriffsstrukturen
Topologische Operatoren
Beginne an der Wurzel
innere Knoten:
Suche in jedem Sohnknoten, dessen
DirBB das Rechteck Q schneidet
Blattknoten:
Suche alle BBs, die Q schneiden
Fertig!
GIS 3 – Kapitel 1: Geodatenbanken
23 / 41
Allgemeine
Datenbankeigenschaften
Quadtree
Geometrische
Zugriffsstrukturen
• Räumlicher Index als Erweiterung von Binärbäumen
• Zerlegung des Raumes und Schaffung einer Zugriffsstruktur
Topologische Operatoren
Baumartige Datenstruktur
- jeder Knoten hat 0 oder 4 Nachfolger:
Nordwest
Nordost
Südwest
Südost
- Blattknoten
sind homogen
GIS 3 – Kapitel 1: Geodatenbanken
24 / 41
Aufbau des Quadtree
Sukzessive Viertelung der
Ebene in Unterquadrate,
abhängig von der Lage
der gegebenen Objekte.
Allgemeine
Datenbankeigenschaften
Geometrische
Zugriffsstrukturen
Topologische Operatoren
Speichergröße für ein
Quadrat (Zelle) ist
konstant (Größe
abhängig vom
Speichermedium).
Aufteilung erfolgt, wenn
Speichergröße für eine
Zelle überschritten wird.
GIS 3 – Kapitel 1: Geodatenbanken
25 / 41
Allgemeine
Datenbankeigenschaften
Beispiel
Geometrische
Zugriffsstrukturen
Gegeben: P1 (x1, y1)
Gesucht: Unterquadrat mit P1
Topologische Operatoren
1.) liegt P1 in 1,2,3, oder 4;
Ergebnis: 4
2.) liegt P1 in 41, 42,
43 oder 44;
Ergebnis: 42
3.) liegt P1 in 421, 422,
423 oder 424;
Ergebnis: 422
GIS 3 – Kapitel 1: Geodatenbanken
26 / 41
Weitere Quadtree- Anwendungen
Das Quadtree- Verfahren
wird auch für die effiziente
Verwaltung von Rasterdaten
verwendet (Pixeldaten).
Allgemeine
Datenbankeigenschaften
Geometrische
Zugriffsstrukturen
Topologische Operatoren
Reduktion von Speicherplatz
Quadtree- Zerlegung von
flächenhaften Objekten
(aus: Bill u. Fritsch, 1994)
GIS 3 – Kapitel 1: Geodatenbanken
Zusammenfassung
•
Räumliche Indizes (Zugriffsstrukturen) haben
hohe Bedeutung in der Geoinformatik.
•
Quadtree und R-Tree sind sehr verbreitet.
•
Weitere Verfahren:
-
27 / 41
Allgemeine
Datenbankeigenschaften
Geometrische
Zugriffsstrukturen
Topologische Operatoren
Grid file
R*-Tree
...
GIS 3 – Kapitel 1: Geodatenbanken
28 / 41
Topologische Operatoren und deren Definition
-
Motivation
Topologische Operatoren
Beispiele für topologische Operatoren (1-2)
9er Verschneidungsmodell
9er Verschneidungsmatrix (N-V-Matrix)
Zulässige Werte der N-V-Matrix
Exakte Definition des Operators: “Disjoint”
Exakte Definition des Operators: ”Inside”
Übersicht topologische Operatoren nach Egenhofer
GIS 3 – Kapitel 1: Geodatenbanken
Allgemeine
Datenbankeigenschaften
Geometrische
Zugriffsstrukturen
Topologische Operatoren
29 / 41
Allgemeine
Datenbankeigenschaften
Motivation
Geometrische
Zugriffsstrukturen
Vektortopologien in Geodatenbanken ermöglichen
raumbezogene Anfragen.
Topologische Operatoren
Beispiel Schemaplan:
Wie komme ich mit öffentlichen
Verkehrsmitteln von Ort A nach
Ort B? Dabei werden Bahnstrecken
als Kanten und Haltestellen als
Knoten in Beziehung gesetzt.
Die exakte geometrische Lage
ist hier zweitrangig.
Beispiel für eine topologische Darstellung
GIS 3 – Kapitel 1: Geodatenbanken
30 / 41
Allgemeine
Datenbankeigenschaften
Topologische Operatoren
Geometrische
Zugriffsstrukturen
Topologische Operatoren
Mit Hilfe von Topologischen Operatoren werden die topologischen
Beziehungen von zwei gegebenen Objekten analysiert.
Gegeben: Objekt a, Objekt b
Anwendung eines topologischen Operators (TOi) auf Element a und b:
TOi (a,b) Ö [True, false]
GIS 3 – Kapitel 1: Geodatenbanken
31 / 41
Allgemeine
Datenbankeigenschaften
Beispiele für Topologische Operatoren (1)
Geometrische
Zugriffsstrukturen
Topologische Operatoren
Mit dem Operator „Overlap“
wird geprüft, ob sich zwei
Objekte überlappen.
Mit dem Operator “Disjoint”
wird geprüft, ob sich zwei
Objekte weder berühren
Noch überlappen
(also “disjoint” sind).
F = Fläche, L = Linie
GIS 3 – Kapitel 1: Geodatenbanken
32 / 41
Beispiele für Topologische Operatoren (2)
Allgemeine
Datenbankeigenschaften
Geometrische
Zugriffsstrukturen
Topologische Operatoren
Mit dem Operator „Touch“
wird geprüft, ob sich
verschiedene Objekte
Berühren.
Mit dem Operator „In“ wird
geprüft, ob ein Objekt ein
anderes (vollständig) enthält.
GIS 3 – Kapitel 1: Geodatenbanken
9er Verschneidungsmodell
33 / 41
Allgemeine
Datenbankeigenschaften
Geometrische
Zugriffsstrukturen
Topologische Operatoren
GIS 3 – Kapitel 1: Geodatenbanken
34 / 41
Allgemeine
Datenbankeigenschaften
Dimensionen
Geometrische
Zugriffsstrukturen
Topologische Operatoren
GIS 3 – Kapitel 1: Geodatenbanken
9er Verschneidungsmatrix (N-V-Matrix)
9er Verschneidungsmatrix (N-V-Matrix) N-V-Matrix:
Die Verschneidung zweier “Elemente” ergibt Geometrien unterschiedlicher
Dimensionen, z.B. kann die Verschneidung der Begrenzungen zweier
Flächen Punkte oder Linien ergeben.
35 / 41
Allgemeine
Datenbankeigenschaften
Geometrische
Zugriffsstrukturen
Topologische Operatoren
Beispiel:
Interior (b)
Boundary (b)
Exterior (b)
Interior (a)
2
1
2
Boundary (a)
1
0
1
Exterior (a)
2
1
2
GIS 3 – Kapitel 1: Geodatenbanken
36 / 41
Zulässige Werte der N-V-Matrix
Allgemeine
Datenbankeigenschaften
Geometrische
Zugriffsstrukturen
Topologische Operatoren
Punkthafte Verschneidung
Linienhafte Verschneidung
Flächenhafte Verschneidung
GIS 3 – Kapitel 1: Geodatenbanken
Exakte Definition des Operators: „Disjoint“
37 / 41
Allgemeine
Datenbankeigenschaften
Geometrische
Zugriffsstrukturen
Topologische Operatoren
GIS 3 – Kapitel 1: Geodatenbanken
38 / 41
Exakte Definition des Operators: „Inside“
Allgemeine
Datenbankeigenschaften
Geometrische
Zugriffsstrukturen
Topologische Operatoren
“TF*TF**** “)
GIS 3 – Kapitel 1: Geodatenbanken
Übersicht topologische Operatoren nach Egenhofer
39 / 41
Allgemeine
Datenbankeigenschaften
Geometrische
Zugriffsstrukturen
Topologische Operatoren
GIS 3 – Kapitel 1: Geodatenbanken
40 / 41
Verwendung in SQL
SQL Abfragestruktur:
SELECT spaltenname
FROM tabellenname
[ WHERE bedingung];
Allgemeine
Datenbankeigenschaften
Geometrische
Zugriffsstrukturen
Topologische Operatoren
SQL Beispiel mit einfacher Bedingung:
SELECT autor, titel FROM buch
WHERE autor = “Schiller“ ;
Spatial SQL Beispiel:
SELECT Cities.shape, Cities.City_Name
FROM Cities, Countries
WHERE SDO_INSIDE( Cities.shape, Countries.shape ) = 'TRUE'
AND Countries.Country_Name = 'GERMANY' ;
GIS 3 – Kapitel 1: Geodatenbanken
41 / 41
Herunterladen