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