Räumliche Datenbanken GeoDB - Datenbankentwurf Ausarbeitung zum 6. Vortrag zum Oberseminar „Moderne Datenbanken“ Prof. Kudraß Jörg Winkler Student der Informatik Hochschule für Technik, Wirtschaft und Kultur Leipzig Homepage: http://www.imn.htwk-leipzig.de/~jwinkle3/ eMail: [email protected] Im vorliegenden Dokument werden räumliche Datenbanken behandelt, die die Abspeicherung und Verarbeitung von geometrischen Daten erleichtern. Dabei wird speziell auf die Struktur, sowie den Datenbankentwurf eingegangen. Einführung........................................................................................................................................3 Raumbezogene Informationssysteme................................................................................................4 Geodatenbanken...............................................................................................................................5 Datenarten: ...................................................................................................................................6 Dimensionen: ...............................................................................................................................6 Erweiterungsansatz ..........................................................................................................................8 Datentypen ...................................................................................................................................8 Replikation (Mehrfachrepräsentation)...........................................................................................10 Beispiel:......................................................................................................................................10 Formen: ......................................................................................................................................11 Forschungsaspekte: ....................................................................................................................11 Constraints .....................................................................................................................................12 Beispiele für räumliche Integritätsbedingungen: .......................................................................12 Topologische Fehler:..................................................................................................................13 Topologie........................................................................................................................................14 Beziehungen ...............................................................................................................................14 Zugriffsstruktur ..........................................................................................................................15 Anfragearten...................................................................................................................................16 Anfragesprachen.........................................................................................................................16 Arten von Anfragen:...................................................................................................................16 Standards........................................................................................................................................17 Geodatenstandards .....................................................................................................................17 Simple Features / Spatial Schema ..............................................................................................17 Quellen ...........................................................................................................................................18 Einführung In vielen Bereichen spielen Daten mit räumlichem Bezug eine große Rolle, etwa bei der Tourenplanung, für standortbezogene Dienstleistungen (Location Based Services) oder auch im Marketing, wenn Werbematerial räumlich gestreut werden soll und damit der Wohnort der Kunden interessant ist. Solche Daten können in räumlichen Datenbanken verwaltet werden, die die Grundlage für Geographische Informationssysteme (GIS) bilden. Dabei können mehr als nur bunte Landkarten dargestellt oder dreidimensionale Geländeanimationen erzeugt werden. Durch ihre Möglichkeit, Objekte und deren komplexe räumliche Beziehungen zu verwalten und über räumliche Analysen neue Informationen zu generieren, unterscheiden sich Geo- Informationssysteme von ähnlichen Produkten wie Bildverarbeitungswerkzeugen oder CADSystemen. Raumbezogene Informationssysteme Definition: Raumbezogenes Informationssystem … ist ein rechnergestütztes System, das aus Hardware, Software, Daten und Anwendungen besteht. Mit ihm können raumbezogene Daten digital erfasst und redigiert, gespeichert und reorganisiert, modelliert und analysiert sowie alphanumerisch und graphisch präsentiert werden. Einen großen Bereich nehmen dabei die Informationssysteme ein, die Daten mit geographischen Bezug verwalten. Definition: Geographische Informationssysteme (GIS) umfassen alle raumbezogenen Daten der Erdoberfläche, der Lithosphäre und Atmosphäre bis hin zu fachthematischen Sachverhalten wie zum Beispiel der Wirtschafts- und Sozialgeographie. Geodatenbanken Geodatenbanken (GeoDB) sind der zentrale Bestandteil eines Geoinformationssystem (GIS). Sie versorgen die übrigen Komponenten des GIS mit den benötigten Daten. In weniger modernen Geoinformationssystemen ist diese Datenhaltungskomponente meist eng in das System integriert. Sie kann dort nicht als eigenständige Komponente identifiziert werden, sondern ist fester, nicht trennbarer Bestandteil eines Gesamtsystems. Neue Architekturansätze für GIS gehen von einer klaren Trennung der einzelnen Komponenten aus. Die Entwicklung dieser neuen Architektur geht von zwei Richtungen aus: Anbieter von Datenbanksystemen (DBMS), wie Oracle, Informix und IBM, bieten Erweiterungen ihrer Datenbanksysteme für die Verwaltung räumlicher Daten an. Anbieter von Basissoftware für Geoinformationssysteme lösen ihre Datenhaltungskomponenten aus dem Gesamtsystem heraus, bieten diese auch alleine an und machen sie dadurch einer größeren Palette von Anwendungen zugänglich (z.B. ESRI, SICAD). Oder setzen Produkte anderer Hersteller für die Datenhaltung ein (z.B. Intergraph). Diese Entwicklung hat die Klasse von Geodatenbanksystemen (GeoDBMS) als einer Spezialisierung von Standarddatenbankmanagementsystemen (DBMS) geschaffen. Der Begriff Geodatenbank wird bisher, wie auch der Begriff Datenbank, sehr unterschiedlich benutzt. Daher seien folgende Definitionen vorangestellt. Die Definitionen lehnen sich an die DIN 44 300 an. Definition: Datenbank (engl. Database System) … ist ein System zur Speicherung, Wiedergewinnung und Analyse von umfangreichen Datenmengen. Einer Datenbank besteht aus: Der Datenbasis, d.h. einer Sammlung strukturierter Daten mit ihrem Datenschema, Einem Datenbank-Management-System zur Verwaltung der Datenbasis. Definition: Datenbank- oder Datenbasis-Management-System (DBMS) … ist ein Softwaresystem, das die Daten in der Datenbasis entsprechend vorgegebenen Beschreibungen effizient verwaltet, d.h. abspeichert, auffindet und weitere Operationen mit den Daten durchführt. Typischerweise enthält ein DBMS Routinen zur Dateneingabe, Datenüberprüfung, Speicherung, Abfrage, Kombination und Analyse. Definition: Geodatenbank … ist eine Datenbank, die neben den Standard Datentypen wie Zeichen, Zahlen usw. auch Objekte mit Raumbezug auf die Erde enthält. Der Zugriff auf die Daten der Datenbasis und die Verwaltung aller Daten der Datenbasis erfolgt über ein GeoDBMS. Definition: Geo-Datenbank-Management-System (GeoDBMS) …ist ein vollständiges DBMS mit zusätzlichen Möglichkeiten zur Repräsentation, Abfrage und Manipulation von Objekten mit Raumbezug auf der Erde. Das GeoDBMS hat Aufgaben eines DBMS zu erfüllen. Darüber hinaus unterstützt es räumliche Datentypen und Operationen auf diesen Datentypen. In der englisch-sprachigen Literatur ist vor allem der Begriff „Spatial Database“ gebräuchlich. Datenarten: Rasterdaten Verktordaten Hybride Daten (Raster – und Vektordaten) Dimensionen: Zweidimensional (2D) Geometriedaten lediglich x,y-Koordinaten (Planimetrie) ohne Höhenangaben Zwei-plus-eindimensional (2D + 1D) Planimetrie + Digitales Geländemodell (DGM). I.d.R. ein Flächenmodell, das nicht mit der Lagegeometrie verknüpft ist. Zweieinhalbdimensional (2.5D) Speicherung der Höhe z als Attribut der Lagegeometrie. (In Bereichen ohne Lagegeometrie Dreidimensional (3D) Speicherung der x,y,z-Koordinaten in hinreichender Dichte. Weitere Unterscheidung in Linienmodell, Flächenmodell und Volumenmodell Vierdimensional (4D) Zusätzliche Speicherung des Zeitparameters t neben den x,y,z-Koordinaten. Anwendung: Zeitliche (kinematische) Dokumentation geowissenschaftliche Fragen Erweiterungsansatz Datentypen Ein GeoDBMS stellt, wie jedes DBMS, eine Menge von Datentypen zur Modellierung der Realität bereit. Von besonderem Interesse sind Umfang und die Art der angebotenen räumlichen Datentypen. Der Benutzer dieser Datentypen ist der Entwickler eines auf das GeoDBMS aufsetzenden GIS oder anderen Anwendung. Für diesen ist es wichtig, dass die Semantik der Datentypen ausreichend genau beschrieben ist. Wünschenswert sind sowohl exakte mathematische Modelle als auch leichter zugängliche Beschreibungen. Nichträumliche Datentypen: Nichträumliche Datentypen sind Datentypen, die keine räumliche Eigenschaft eines Objekts definieren. Es sind also Datentypen wie sie von einer herkömmlichen Standarddatenbank angeboten werde: Integer, Character, String,… oder komplexere Datentypen wie Foto, Ton, Video, o.ä.. Nichträumliche Datentypen werden in GIS verwendet um Objekte ohne Raumbezug und um die nichträumlichen Eigenschaften von Objekten mit Raumbezug zu modellieren. Die nichträumlichen Eigenschaften von Objekten mit Raumbezug werden häufig als Sachdaten bezeichnet. Räumliche Datentypen Räumliche Datentypen sind Datentypen, die räumliche Eigenschaften eines Objekts definieren. Die räumlichen Eigenschaften sind geometrische und topologische Eigenschaften. GIS Datenmodelle werden im allgemeinen in zwei Klassen unterschieden: Flächenbasiert (Field Based) und Objektbasiert (Feature Based). Entsprechend werden die gebräuchlichen räumlichen Datentypen diesen beiden Klassen zugeordnet. Flächenbasierte Modelle sehen die Welt als eine kontinuierliche Oberfläche an, auf der sich Eigenschaften ändern. Beispielsweise ist die Höhe der Erdoberfläche eine Eigenschaft, die jedem Punk der Erdoberfläche zugewiesen ist. Objektbasierte Modelle betrachten die Welt als eine Oberfläche, die von unterscheidbaren Objekten entdeckt ist. Beispiele für Objekte sind Staaten, Städte, Straßen, Grundstücke usw. Auf Grund der Vielfalt und Komplexität der der topologischen Beziehungen ist eine Erweiterung der UML-Notation für den Datenbankentwurf erforderlich. Abb.: Entity-Symbol für räumliche Objekte Räumliche Objekte sind meist nicht nur durch ihre Lage im Raum oder ihre Nachbarschaftsbeziehungen charakterisierbar, sondern tragen zusätzlich noch weitere Merkmale und Eigenschaften (Sachdaten), die in entsprechenden Attributen gespeichert werden. Wenn das GeoDBMS keinen integrierten Ansatz im Datenmodell hat, also die räumlichen und die nicht räumlichen Attribute getrennt verwaltet, müssen diese verbunden werden. Diese Verbindung wird in der Regel durch einen Schlüssel hergestellt. Dieser Schlüssel kann verborgen, also für den Benutzer und Anwendungsentwickler nicht nutz- und änderbar, oder zugänglich sein. Replikation (Mehrfachrepräsentation) Als Replikation bezeichnet man das mehrfache Vorhalten einer Datenbasis oder von Ausschnitten der Datenbasis in Kopien. Es wird allerdings nur dann von replizierter Datenhaltung gesprochen, wenn auf die mehrfach vorgehaltenen Datenbestände von mehreren Prozessen oder Benutzern gleichzeitig zugegriffen wird oder werden kann. Also nicht bei Sicherungskopien oder Archivierungen. Replikation wird aus zwei Gründen angewandt: Verbessern der Performanz bei schmalen Bandbreiten Bei verteilter Datenhaltung ist der Zugriff auf verteilte Datenbestände durch die Bandbreite des Kommunikationskanals zu diesen Datenbeständen im Hinblick auf die Geschwindigkeit beschränkt. Besonders bei Anbindung von Datenbasen über Wird Area Networks (WAN) sind die Zugriffszeiten bei großen Datenbeständen (wie sie bei GIS üblich sind) häufig zu groß. Werden dort, wo diese Daten benötigt werden, Kopien der verteilten Datenbestände gehalten, muss nicht bei jedem Zugriff auf diese Datenbestände eine Kommunikation mit den entfernten Datenbasen stattfinden. Erhöhen der Verfügbarkeit bei unterbrochener Verbindung zu verteilten Datenbasen. Fällt bei verteilter Datenhaltung ein Kommunikationskanal zu einer Datenbasis aus, steht der Inhalt dieser Datenbasis während dem Ausfall nicht zur Verfügung, sofern keine Kopien dieser Datenbasis verfügbar sind. Ebenso ist bei einem offline-Einsatz, z.B. Datenerfassung mit einem Notebook vor Ort, keine Verbindung zur Hauptdatenbank verfügbar. Beispiel: Suche einer Route von einer Stadt in eine Andere benötigt werden einen großmaßstäbiger Stadtplan, um aus der Stadt zur Autobahn zur kommen, dort wird dann ein kleinerer Maßstab genutzt, um schließlich den Zielort wieder mit einem Stadtplan zu finden Diese Funktionalität auf einem digitalen System zu bieten ist Ziel der Forschungen im Bereich der Mehrfachrepräsentation. Formen: Unterschiedliche Datenmodelle Unterschiedliche Datenstrukturen (Raster, Vektor) Bilder unterschiedlicher Spektralkanäle eine Bildpyramide (Maßstabsraum) Forschungsaspekte: den Wechsel der Maßstäbe zu automatisieren Daten auf mehreren Maßstabsebenen simultan vorzuhalten den Einfluss des Maßstabs auf Analyse und Schlussfolgerungsoperationen zu untersuchen den optimalen Maßstab für eine gegebene Aufgabe zu bestimmen die Verbindung von geometrischem und attributivem Generalisieren zu untersuchen Constraints Constraints sind im Datenbankschema enthaltene Vorschriften, die Eigenschaften der Daten in der Datenbasis beschreiben. Das DBMS überwacht die Erfüllung aller Constraints. Entstehen durch Änderungsoperationen Datenbankschema, meldet an das der DBMS Datenbasis diese Verstöße Verstöße, gegen lehnt die Constraints im entsprechende Änderungsoperation ab oder beseitigt die Verstöße. Zum Aufstellen der Constraints werden dem Datenbankprogrammierer vom DBMS in der Regel mehrere Konstrukte angeboten: Schlüsseleigenschaften, Fremdschlüsselbeziehungen, Einschränkungen des Wertebereichs von Attributen, … Trigger sind eine weitere Möglichkeit zur Sicherung der Integrität der Datenbank. Vor oder nach Operationen auf der Datenbank werden vom Datenbankprogrammierer erstellte Prozeduren oder Programme aufgerufen. Damit können auch komplexe Integritätsbedingungen überwacht und Verstöße beseitigt werden. Für die oft sehr komplexen räumlichen Integritätsbedingungen müssen GeoDBMS ausreichende Unterstützung anbieten. Fehlt diese Unterstützung, müssen die Integritätsbedingungen in zusätzlichen Programmen abgebildet werde. Die Programme werden vor oder nach Einträgen und Änderungen in der Geodatenbank ausgeführt. Die Integritätsbedingungen sind damit nicht in der Datenbank abgebildet, obwohl sie Bestandteil des konzeptionellen Modells sind. Durch diese Aufteilung können Probleme entstehen, die nur durch hinreichende Unterstützung von Integritätsbedingungen durch das GeoDBMS verhindert werden können. Beispiele für räumliche Integritätsbedingungen: Topologische Korrektheit o Strassen müssen an Kreuzungen miteinander verbunden sein o Strassen dürfen nur auf Brücken einen Fluss überqueren o Bahnhöfe müssen an einer Bahnstrecke liegen. Allgemeine Integritätsbedingungen o Strassen haben eine Breite über 160 cm. o Alle Flurstücke haben eine Flurstücksnummer Topologische Fehler: Topologie Unter Topologie versteht man die gegenseitige Anordnung von Objekten im Raum im Bezug auf Nachbarschaft, Enthaltensein, Überlappung und Verbundenheit. Diese topologischen Eigenschaften von räumlichen Objekten sind Ausgangspunkt zur Beantwortung vieler Fragestellungen an ein GIS oder eine Geodatenbank. In Netzinformationssystemen wie Navigationssystemen und Leitungsverwaltungssystemen sind die topologischen Beziehungen für die Anwendung der wesentliche Bestandteil der Datenbasis. Die topologischen Informationen können entweder zur Laufzeit aus den Lageinformationen der Objekte in der Datenbasis berechnet werden, wenn sie benötigt werden, oder als zusätzliche Information in der Datenbasis gehalten werden. Wird die Topologie in der Datenbasis gespeichert, muss sie bei jedem Einfügen und Löschen von räumlichen Objekten aktualisiert werden. Beziehungen Zugriffsstruktur Anfragen an die Datenbank sollen möglichst schnell beantwortet werden. Dazu müssen die entsprechenden Datensätze in der Datenbasis schnell gefunden werden. Um dieser Aufgabe zu erfüllen, erzeugt das DBMS zusätzliche Informationen über die physikalische Speicherung der Daten in der Datenbasis, einen Index. Für Datentypen mit einer linearen Sortierung gibt es eine Vielzahl von Indizierungsmethoden. Die wichtigsten Vertreter sind B-Bäume und Hash-Tabellen. Räumliche Daten können nicht linear sortiert werden, so dass im Raum benachbarte Objekte auch im Index benachbart abgespeichert sind. Daher wurden für Daten mit zwei und mehr Dimensionen eigene Indexstrukturen entwickelt. Die wichtigsten Vertreter sind Quad-Tree, R-Tree und Grid File. Anfragearten Anfragesprachen Alle DBMS haben eine Data Definition Language (DDL) und eine Data Manipulation Language (DML) als Schnittstelle. Die DDL ermöglicht dem Benutzer des DBMS die Definition und Wartung des Datenbankschemas. Unter Verwendung der DML werden Daten in die Datenbasis gestellt und Anfragen an die Datenbank durchgeführt. Für relationale Standarddatenbanken hat sich SQL-92 zumindest für die Grundfunktionen als Standard etabliert, für objektorientierte Datenbanken ODMG2.0 OQL und ODL. Für Geodatenbanken wurden viele Vorschläge für eine Erweiterung von SQL gemacht: GEO L. SAND, Spatial SL, u.a. Ein Standard für die Data Definition Language (DDL) und die Data Manipulation Language (DML) für Geodatenbanken hat sich aber bisher nicht durchsetzen können. Einige GeoDBMS bieten proprietäre Erweiterungen von SQL als Schnittstelle an. Andere Systeme bieten vollständig proprietäre DML und DDL (z.B. Oracle Spatial). Arten von Anfragen: Metrische Anfragen Metrische Anfragen liefern numerische Werte zurück, die Eigenschaften eines oder mehrere geometrischer Objekte sind. Dies sind beispielsweise Anfragen bezüglich der Fläche, des Umfangs oder der Ausdehnung eines Objekts, oder bezüglich geometrischer Beziehungen zwischen mehreren Objekten wie Distanzen und Winkel. Topologische Anfragen Topologische Anfragen sind Fragen, die Aussagen über topologische Beziehungen von räumlichen Objekten zueinander liefern oder Objekte die in einer gegebenen topologischen Beziehung zueinander stehen identifiziert. Beispiele sind: Finde alle Objekte die an eine gegebenes Objekt grenzen, ein gegebenes Objekt schneiden, innerhalb eines gegebenen Objekts liegen, usw. Weitere Anfragearten sind z.B. Bufferzone-Anfragen und Anfragen zu Flächenüberschneidungen bei räumlichen Objekten, sowie Pfadsuchen Standards Geodatenstandards Open GIS Consortium (ogc, www.ogc.org, www.opengis.org) GML (Geographic Markup Language) Open GIS Abstract Specification Open GIS Implementation Specification für verschiedene Basistechnologien ISO (International Standardization Organisation, www.iso.ch) ISO 19100-19120 insbesondere ISO 19107 (Geodaten) ISO/TC 211 (Metadaten) Simple Features / Spatial Schema Modellierung der Geometrie raumbezogener Objekte sowohl von ISO als auch von OGC verabschiedet Simple Features: nur 2D keine Topologie nur gerade Linien nur ebene Polygone Spatial Schema: auch 3D (Volumen) Topologie auch Kreisbögen, Splines, .. auch gekrümmte Flächen (Zylinder-, BSplineflächen,...) Dreiecksvermaschungen Quellen GIS – Geographische Informationssysteme (Chaos Computer Club Ulm) http://ulm.ccc.de/ ENTITY-RELATIONSHIP MODELING OF SPATIAL DATA FOR GEOGRAPHIC INFORMATION SYSTEMS (Hugh W. Calkins) GeoInformatik - Modellierung und Datenmodelle (TU München) http://www.gis1.bv.tum.de/Lehre/Vorlesungen/Geoinformatik1 Diplomarbeit - Erweiterung eines objektrelationalen Datenbankmanagementsystems um räumliche Verbunde (Oliver Schweer - Universit¨at Hannover - Fachbereich Informatik) Design räumlicher Strukturen (Bitto, Wirz) Geometrische Abfragen und Transformationen & Geodatenstandards (Gerald van den Boogaart) GIS – Rückblick und Ausblick & Digitale Karten (Prof. Dr. Christoph Schlieder - Otto-FriedrichUniversität Bamberg) Maßstabsabhängige Darstellungen in digitalen räumlichen Datenbeständen (Monika Sester) OGC Simple Features (Daniel Wirz, Department of Geography - GIS Division, University of Zurich) [email protected] Spatial Data Types (Markus Schneider - FernUniversität Hagen) [email protected] 2. Vorlesung Geoinformatik SS 03 – Projektionen und Koordinatensysteme (Akedemie Freiberg) Vorlesungsreihe - Geographische Informationssysteme & Datenbanken (Volker Coors, Jörg Haist - Fachhochschule Hochschule für Stuttgart Technik )