Prof. Dr. G. Gräfe Lehrveranstaltung Erweiterte Datenbanktechnologien / Medienarchive (Datenbanksysteme III) Gliederung Prof. Dr. G. Gräfe 4. Geodatenbanken (Teil I) 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 Einführung Geo-Datenbanksysteme Modellierung von Geodaten Standardisierung von Geodaten Geografische Bezugssysteme Speicherung von Geodaten Geodaten im MS SQL Server 2008 Anfragebearbeitung in Geodatenbanksystemen Indexierung von Geodaten EDBT/MA - 4. Geo-Datenbanksysteme | 1 4.1 Einführung Geo-Datenbanksysteme IT-gestützte Verarbeitung von Geodaten ist (eigentlich) ein „altes“ Thema –aber aus Datenbanksicht mit vielen Veränderungen und wachsender Bedeutung in den letzten Jahren: 60er Jahre: erstes Geoinformationssystem in Kanada zur Entscheidung über zweckmäßige Landnutzung bis Ende der 90er Jahre: Entwicklung proprietärer Systeme seit Mitte der 90er Jahre: offenes GIS (Open GIS) statt proprietärer Geodatenhaltungskomponenten Entwicklung von Standards und Integration in Datenbanksysteme aktuell: Boom raumbezogener Web-Anwendungen (Google Earth, Google Maps, OpenStreetMap, Routenplaner, Tourismus-Marketing etc.) Prof. Dr. G. Gräfe EDBT/MA - 4. Geo-Datenbanksysteme | 2 Geodatenbanksysteme: Anwendungsgebiete Anwendungsbeispiele: • Vermessungswesen • Katasterwesen • Amtliche Statistik • Raum-und Bebauungsplanung • Netzplanung • Verkehrsleit-und -Navigationssysteme • Geologie • Umweltinformations-und -analysesysteme • Klimaforschung • Hochwasserprognose • ortsbezogenen Dienste … Prof. Dr. G. Gräfe EDBT/MA - 4. Geo-Datenbanksysteme | 3 Geodaten und Geo-Informationssysteme Geodaten (engl. Geospatial Data): beschreiben einen Teil der Erdoberfläche und die darauf befindlichen technischen und administrativen Einrichtungen. Geo-Informationssysteme (engl. Geographic Information System, GIS): sind Systeme zur Erfassung, Verwaltung, Analyse und Präsentation von Geodaten. (Ideale) Architektur eines GIS: Quelle: Brinkhoff (Geodatenbanksysteme) Prof. Dr. G. Gräfe EDBT/MA - 4. Geo-Datenbanksysteme | 4 Geodatenbanksysteme Datenbanksysteme, die die Speicherung von Geodaten und die Bearbeitung räumlicher Anfragen in hinreichender Weise unterstützen, werden räumliche Datenbanksysteme oder auch Geodatenbanksysteme (Geo-DBS, engl. Spatial Database Systems) genannt. Ein Geo-DBS muss dazu die erforderlichen geometrischen Datentypen ( Folie 7) bereitstellen und deren Verarbeitung ( Folie 10) unterstützen. Seit Mitte der 90er Jahre: Entwicklung von objektrelationalen DBMS mit der Möglichkeit zur Definition neuer Datentypen Verwendung objektrelationaler DBMS zur Verwaltung der Geo-Daten in Geoinformationssystemen – IBM Informix Spatial Data Blade, IBM DB2 Spatial Extender − Oracle Spatial – PostgreSQL/PostGIS und (eingeschränkt) MySQL* – MS SQL Server 2008 Prof. Dr. G. Gräfe EDBT/MA - 4. Geo-Datenbanksysteme | 5 4.2. Modellierung von Geodaten Geographische Daten Geografische Phänomene Geographisches Feld Geographisches Objekt z.B. Temperatur, Höhe ü.NN, Vegetationsdichte z.B. Klimastationen, Strassen, Parzellen in einem Kataster An jedem Punkt im Untersuchungsgebiet kann ein Wert ermittelt werden Nur an bestimmten Lokalitäten. Leerer Raum dazwischen. Prof. Dr. G. Gräfe EDBT/MA - 4. Geo-Datenbanksysteme | 6 Geo-DBS: Geometrische Datentypen Beispiele für geometrische Datentypen • • • • • Punkte Streckenzüge Polygone Polygone mit Löchern Mengen von Polygonen mit Löchern (Multipolygone) Die Eigenschaften geometrischer Datentypentypen und deren Beziehungen untereinander werden in einem Datenmodell festgelegt. Prof. Dr. G. Gräfe EDBT/MA - 4. Geo-Datenbanksysteme | 7 Geometrische Datentypen: Beispiele 1 Routenplanung Post: Straßen als Linien, Briefkästen als Punkte Quelle: D. Blasby(http://postgis.refractions.net) Prof. Dr. G. Gräfe EDBT/MA - 4. Geo-Datenbanksysteme | 8 Geometrische Datentypen: Beispiele 2 Unterschiedliche Nutzung von Landflächen: Klassifikation wird durch Polygone repräsentiert Quelle: D. Blasby(http://postgis.refractions.net) Prof. Dr. G. Gräfe EDBT/MA - 4. Geo-Datenbanksysteme | 9 Geo-DBS: Geometrische Operationen Geometrische Operationen Ein Geo-DBS muss Methoden für die geometrischen Datentypen bereitstellen, die die Ausführung geometrischer Operationen erlauben, z.B.: • Berechnung des Schnitts zwischen zwei Flächen • Bestimmung der Länge eines Streckenzuges Enthält eine Anfragebedingung eine oder mehrere Operationen, die einen Raumbezug aufweisen, wird die Anfrage auf eine oder eine Folge von räumlichen Basisanfragen zurückgeführt, die vom Geo-DBS effizient unterstützt werden müssen. Prof. Dr. G. Gräfe EDBT/MA - 4. Geo-Datenbanksysteme | 10 Geo-DBS: Räumliche Basisanfragen Beispiele für räumliche Basisanfragen: • Punktanfragen Rechteckanfragen Regionsanfragen • Abstandsanfragen • Nächste-Nachbarn-Anfrage •Geometrischer (oder räumlicher Verbund, Spatial Join) Quelle: Brinkhoff (Geodatenbanksysteme) Prof. Dr. G. Gräfe EDBT/MA - 4. Geo-Datenbanksysteme | 11 Eigenschaften von Geodaten Zu modellierende Eigenschaften für Geodaten: • Thematische Eigenschaften (qualitativ und quantitativ) • Geometrische Eigenschaften • Topologische Eigenschaften • Temporale Eigenschaften Thematische Eigenschaften: dienen zur Beschreibung der weiteren, nicht-geometrischen Eigenschaften • Nominale Eigenschaften (z.B. Gemeindename) • Qualitative Eigenschaften (z.B. Status einer Gemeinde) • Quantitative Eigenschaften (z.B. Niederschlagsmenge einer Gemeinde) Bei der Zuordnung von thematischen Eigenschaften wird zwischen objektbasierten Datenmodellen (Zuordnung zum Geobjekt) und raumbasierten Datenmodellen (Zuordnung zum Datenraum durch kontinuierliche Funktion) unterschieden. Temporale Eigenschaften: dienen zur Beschreibung des Zeitpunktes oder des Zeitraums, für die die übrigen Eigenschaften gelten. Von besonderem Interesse: Betrachtung der Eigenschaften für mehrere aufeinanderfolgende) Zeitpunkt bzw. -räume. Beispiel: Veränderung der Bevölkerungsdichte in einem bestimmten Gebiet Prof. Dr. G. Gräfe EDBT/MA - 4. Geo-Datenbanksysteme | 12 Geometrische Eigenschaften Geometrische Eigenschaften von Geodatendienen zur Beschreibung der Lage und Ausdehnung im Raum Wichtige Repräsentationsformen der geometrischen Eigenschaften: Vektormodell Geo-Objekte sind über eine geordnete Liste von Punkten definiert. Prof. Dr. G. Gräfe Rastermodell Geo-Objekte sind Als Menge von Pixeln eines Gitters gegeben. EDBT/MA - 4. Geo-Datenbanksysteme | 13 Vektordaten vs. Rasterdaten Objektbasiertes Datenmodell Vektormodell Rastermodell typische Form der Modellierung von Geoobjekten in Geodatenbanksystemen Ort = (‘Dresden ‘, ‘Stadt‘, Beschreibung der Objekte durch Menge von Pixeln (eher unüblich …) Ort = (‘Dresden ‘, ‘Stadt‘, ) Raumbasiertes Datenmodell vektorielle Beschreibung der Ebene (z.B. bei der Modellierung von Geländeformen) ) jeder Punkt des Raums wird durch das Bild abgedeckt (Rasterbilder aus Luftaufnahmen o.ä.) Rasterdaten sehr viel speicherplatzintensiver als Vektordaten (Kompression oft umrechnungsintensiv) • Koodinatentransformationen lassen sich auf Vektordaten einfacher ausführen • für Rasterdaten existiert (oft) kein Objektbegriff (relevant u.a. für thematische Selektionen, topologische Beziehungen) aber auch: • Verknüpfung von verschiedenen Rasterdaten ist einfacher als bei Vektordaten, falls die Daten einheitlich ausgerichtet sind • viele Erfassungsdaten (Satellit, Scanner) liegen als Rasterdaten vor Prof. Dr. G. Gräfe EDBT/MA - 4. Geo-Datenbanksysteme | 14 Topologische Eigenschaften Topologische Eigenschaften von Geodaten dienen zur Beschreibung der relativen räumlichen Beziehungen von Objekten zueinander, wobei von der Geometrie abstrahiert wird. Typische topologische Beziehungen: - Nachbarschaft, Enthaltensein, Überschneidung Topologische Eigenschaften können - explizit im Datenmodell gespeichert werden oder - implizit aus den geometrischen Eigenschaften abgeleitet werden. Beispiel für topologisch äquivalente Darstellung eines Liniennetzes: Quelle: de Lange: Geoinformatik Prof. Dr. G. Gräfe EDBT/MA - 4. Geo-Datenbanksysteme | 15 4.3. Standardisierung von Geodaten Voraussetzung für Öffnung von Geoinformationssystemen und Interoperabilität: Standards für Datenaustausch Standards für Modellierung und Speicherung von Geodaten Entwicklung seit Mitte der 90er Jahre OGC (Open Geospatial Consortium) • internationale, non-profit Standardisierungsorganisation mit ca. 350 Mitgliedern aus Wirtschaft, Verwaltung und Wissenschaft; 1994 als Open GIS Consortiumgegründet, seit 2004 Open Geospatial Consortium • Fokus auf Schnittstellen von Geoinformationssystemen • sowohl abstrakte Spezifikationen als auch konkrete Implementierungsspezifikationen ISO-TC211 „Geographic Information/Geomatics“ •Technisches Komitee der ISO mit ca. 30 aktiven Mitgliedsstaaten und ca. 30 beobachtenden Mitgliedsstaaten •Fokus auf digitalen Geoinformationen •nur abstrakte Spezifikationen Abstrakte Spezifikation Implementierungsspezifikation Implementierung Prof. Dr. G. Gräfe Feature-Geometry-Model (ISO-TC211/OGC) Simple-Feature-Model (OGC) SQL/MM (ISO/IEC) –Bestandteil von SQL:1999 ff. Herstellerspezifische Implementierungen (IBM Informix, IBM DB2, Oracle, PostgreSQL, MySQL) EDBT/MA - 4. Geo-Datenbanksysteme | 16 Simple-Feature-Modell Implementierungsspezifikation zur Beschreibung der (Vektor-)Geometrie von (maximal) zweidimensionalen Objekten. • beruht auf einer Untermenge des abstrakten Feature GeometryModels (allerdings gibt es Bezeichnungsunterschiede) • definiert räumliche Operationen für Zugriff, Anfrage und Verarbeitung von Geoobjekten. Simple Features sind Geometrien im zweidimensionalen Datenraum, deren Stützpunkte geradlinig miteinander verbunden sind. Der Standard definiert: • • • • • • Geometrieschema Repräsentationsformen Basismethoden Topologische Beziehungen Geometrische Funktionen Informationsschema Prof. Dr. G. Gräfe EDBT/MA - 4. Geo-Datenbanksysteme | 17 Geometrieschema 1 Quelle: Brinkhoff: Geodatenbanksysteme Prof. Dr. G. Gräfe EDBT/MA - 4. Geo-Datenbanksysteme | 18 Geometrieschema 2 Punkte repräsentiert durch Klasse Point MethodenX() und Y() für den Zugriff auf die Koordinaten Linien repräsentiert durch (abstrakte) Oberklasse Curve Methoden: Length(),StartPoint(),EndPoint(),IsClosed(),IsRing() Unterklasse LineString erlaubt Speicherung beliebiger Streckenzüge: - Darstellung als Folge von Punkten - zusätzliche Methoden: NumPoints(), PointN() Unterklasse Line entspricht einer Strecke (2 Punkte) Unterklasse LinearRing enthält einfache, geschlossene Streckenzüge - Geschlossen: Start-und Endpunkt stimmen in ihren Koordinaten überein - Einfach: kein Schnitt außer bei den Streckenpunkten zu jedem Streckenpunkt gibt es maximal zwei Strecken Klasse Polygon stellt einfache Polygone mit Löchern zur Verfügung - ein äußeres Polygon ≡äußerer Ring (Beziehung exteriorRing) - optional beliebige viele innere Polygone ≡innere Ringe (Beziehung interiorRing) Geometriesammlungen werden durch Objekte der Klasse GeometryCollection oder deren Unterklassen repräsentiert. - alle Objekte einer Geometriesammlg. müssen das gleiche Koordinatensystem besitzen. - Unterklassen für die Aufnahme von Objekten einer gleichen Klasse. Prof. Dr. G. Gräfe EDBT/MA - 4. Geo-Datenbanksysteme | 19 Repräsentationsformen Zwei Repräsentationsformen für Simple Feature Well-known Text (WKT) als Textrepräsentation Beispiele: • POINT (100.5 130.7) • LINESTRING (100 100, 200 200, 300 250) • POLYGON ( (100 100, 100 200, 200 200, 200 150, 100 100) ) • POLYGON ( (100 100, 100 200, 200 200, 200 150, 100 100) , (150 150, 150 180, 180 180, 150 150) ) Well-known Binary (WKB) als binäre Speicherrepräsentation Beispiel: Punkt mit Koordinaten (1 1) 01|01000000|000000000000F03F|000000000000F03F mit − 01 ≡ Byte Reihenfolge − 01000000 ≡Geometrie Typ Bereitstellung über entsprechende Methoden Prof. Dr. G. Gräfe EDBT/MA - 4. Geo-Datenbanksysteme | 20 Basismethoden Grundlegende Methoden, die in der Klasse Geometry definiert sind (Auswahl!): Dimension():integer - Rückgabewerte: 0 (Point), 1 (Curve), 2 (Surface) GeometryType():string SRID():integer - liefert die Schlüsselnummer des räumlichen Bezugssystems AsText():string AsBinary():boolean Prof. Dr. G. Gräfe EDBT/MA - 4. Geo-Datenbanksysteme | 21 Topologische Beziehungen 1 Verwendung des 9-Schnittmodells (9-Intersection-Modell, 9IM) • für jedes Geo-Objekt O gibt es drei paarweise disjunkte Mengen: - das Innere OI - der Rand OR - das Äußere OA • Definition des Randes OR für die Geometrien: - Polygon: äußerer Ring + innere Ringe - Linien: Endpunkte -Punkt: leer • Für zwei Objekte A und B ergeben sich bzgl. des Schnitts neun Beziehungen: • für jede Schnittmenge AX∩ BY ist das Ergebnis true oder false Prof. Dr. G. Gräfe EDBT/MA - 4. Geo-Datenbanksysteme | 22 Topologische Beziehungen 2 Von den theoretisch möglichen 29= 512 verschiedene Matrizen (≡ topologische Beziehungen) sind nur acht sinnvoll: - A.Inside(B) ⇔ B.Contains(A) - A.Covers(B) ⇔ B.CoveredBy(A) - alle anderen Beziehungen sind symmetrisch Prof. Dr. G. Gräfe Quelle: Brinkhoff: Geodatenbanksysteme EDBT/MA - 4. Geo-Datenbanksysteme | 23 Geometrische Funktionen 1 Räumliche Analyse eines Objektes IsSimple():boolean - testet, ob es sich um eine einfacheGeometrie handelt Boundary():Geometry -liefert den Rand des Geo-Objektes Envelope():Geometry - liefert das minimal umgebende Rechteck (MUR) des Geo-Objekts - Rückgabewert ist ein Objekt der Klasse Polygon:(minx, miny), (maxx, miny), (maxx, maxy), (minx, maxy), (minx, miny) ConvexHull():Geometry - liefert konvexe Hülle („Gummiband-Objekt“) Buffer(distance:double):Geometry - Pufferzone der angegebenen distanceum das Geo-Objekt - wichtige GIS-Funktion (z.B. Bestimmung aller Spielplätze, die nicht weiter als 25m von einer Straße entfernt liegen, Bestimmung von Uferzonen entlang von Flüssen etc.) Prof. Dr. G. Gräfe EDBT/MA - 4. Geo-Datenbanksysteme | 24 Geometrische Funktionen 2 Abstand zwischen zwei Objekten Distance(anotherGeometry: Geometry) : double - minimaler Abstand gemäß des räumlichen Bezugsystems des Objektes, auf das die Methode angewandt wird Verschneidungsoperationen (Mengenop.) zwischen zwei Objekten Intersection(anotherGeometry: Geometry) : Geometry Union (anotherGeometry: Geometry) : Geometry Difference(anotherGeometry: Geometry) : Geometry - entfernt die Teile von der aktuellen Geometrie, die von der zweiten Geometrie überdeckt werden SymDifference(anotherGeometry: Geometry) : Geometry - wie Differenz, aber wechselseitig Prof. Dr. G. Gräfe EDBT/MA - 4. Geo-Datenbanksysteme | 25 Informationsschema Aufnahme von Metadaten über die in einer Datenbank gespeicherten Geodaten Zwei Tabellen: - GEOMETRY_COLUMNS zur Aufnahme von Informationen über alle (konkreten) Tabellenspalten der Datenbank, die Geometrien enthalten - SPATIAL_REF_SYS für Daten über räumlichen Bezugssysteme Prof. Dr. G. Gräfe EDBT/MA - 4. Geo-Datenbanksysteme | 26 SQL/MM Spatial SQL-Standard enthält seit SQL:1999 Erweiterungen für Anwendungsgebiete, die nicht mit „normalem“ SQL abgedeckt werden können, u.a. SQL/MM (Multimedia) mit SQL/MM Full-Text SQL/MM Still Image (Speicherung von Rasterbildern) SQL/MM Data Mining SQL/MM Spatial für Geodaten SQL/MM Spatial 1999 Version 1: Simple Feature Modell mit Erweiterungen − Kreisbögen und zusammengesetzte Linienzüge − Methoden zum Validieren von Geometrien − Koordinatentransformationen − Approximation von Kreisbögen durch Streckenzüge − Bereitstellung von GML (Geography Markup Language) 2006 Version 3: − Punkte mit zusätzlichem z-Koordinatenwert und Messwert − Netzwerk-und Topologie-Datenmodell Prof. Dr. G. Gräfe EDBT/MA - 4. Geo-Datenbanksysteme | 27 SQL/MM Spatial: Geometrieschema ST_CircularStringre präsentiert Linienzüge, die aus Kreisbögenbestehen. ST_CompoundCurve repräsentiert zusammengesetzte Linienzüge, die aus (geradlinigen und kreisbogenförmigen) Linienzügen bestehen. ST_CurvePolygon besitzt als innere und äußere Polygonzüge Objekte der Klasse ST_Curve. Damit können diese Polygonzüge nicht nur geradlinige Verbindungen, sondern auch Kreisbögen aufweisen. • Der SQL/MM-Standard benutzt konsistent den Präfix ST* für alle Tabellen, Sichten, Typen, Methoden und Funktionsnamen (also auch die vom Simple-Feature-Modell definierten) z.B. ST_Point, ST_Intersection etc. Quelle: Brinkhoff: Geodatenbanksysteme Prof. Dr. G. Gräfe EDBT/MA - 4. Geo-Datenbanksysteme | 28 4.4. Geografische Bezugssysteme Räumliche Bezugssysteme Räumliche Bezugssysteme (engl. Spatial Reference Systems) erlauben die Interpretation der gespeicherten Koordinaten als Beschreibung von Lage-und Ausdehnungsinformationen in einem (realen) Datenraum. Kategorien Georeferenzierende Koordinatensysteme − besitzen einen Bezug zur Position auf der Erdoberfläche Lokale Koordinaten − beschreiben Position unabhängig von der Erdoberfläche − Anwendung bspw. für CAD-Daten oder für (i.a. kleinräumige) Gebiete, in denen nur die relative Lage der Objekte relevant ist − i.a. repräsentiert durch kartesisches Koordinatensystem (rechtwinklige Koordinatenachsen, metrischer Raum, Euklidischer Abstand) Prof. Dr. G. Gräfe EDBT/MA - 4. Geo-Datenbanksysteme | 29 Geo-Referenzierung Lokalisierung räumlicher Daten in einem Koordinatensystem Geographische Koordinatensysteme Projektion in ein zwei-dimensionales, kartesisches Koordinatensystem Arten der Georeferenzierung: Folgende Arten der Georeferenzierung sind zu unterscheiden: − − − − die Zuweisung einer Postanschrift (Adresskodierung) die Zuweisung einer Koordinate (Geokodierung, Geocoding, Geotagging, Geo-Imaging) die Zuweisung einer Transformation (implizite Geokodierung, Kartenkalibrierung) die Anwendung einer Transformation (explizite Geokodierung, Entzerrung) Prof. Dr. G. Gräfe EDBT/MA - 4. Geo-Datenbanksysteme | 30 Georeferenzierte Koordinatensysteme Geographische Koordinatensysteme planar legen über Angaben im Winkelmaß Punkte der Erdoberfläche bezogen auf einen Äquator und einen Nullmeridian fest. Quelle: Brinkhoff: Geodatenbanksysteme Geographische Koordinaten − Gratnetz Längengrad, Breitengrad − Einheit Grad − Datum: Abbildung von Positionen auf der unregelmäßig geformten Erdoberfläche auf ein Rotationsellipsoid − meist: WGS84 Prof. Dr. G. Gräfe EDBT/MA - 4. Geo-Datenbanksysteme | 31 Georeferenzierte Koordinatensysteme Projizierte Koordinatensysteme geodätisch − Motivation: Karten stellen gekrümmte Erdoberfläche auf einer ebenen Oberfläche dar − mathematische Abbildung von Positionen der Erdoberfläche auf eine ebene Oberfläche, Verwendung eines rechtwinkligen, projizierten Koordinatensystems − Vorteil: einfacheres und effizienteres Rechnen als mit geographischen Koordinaten − Nachteil: Flächentreue, Winkeltreue oder Längentreue gehen verloren Verzerrungen − Wichtiger Vertreter: Gauß-Krüger-Koordinaten Prof. Dr. G. Gräfe EDBT/MA - 4. Geo-Datenbanksysteme | 32 Varianten von Projektionen konisch azimutal zylindrisch Prof. Dr. G. Gräfe EDBT/MA - 4. Geo-Datenbanksysteme | 33 Lineare Bezugssysteme Lineare Bezugssysteme (engl. Linear Reference Systems) erlauben die Identifizierung von Punkten auf einer Linie durch Abstandsangaben zu einem ausgezeichneten Anfangspunkt. Beispiel: Anwendung für Netzwerke (z.B. Straßennetze, Ver-und Entsorgungsnetze) Wichtige Operationen − Berechnung der Entfernung zum Anfangspunkt für einen beliebigen Punkt auf dem Linienzug − Berechnung der Koordinaten eines Punktes auf dem Linienzug aus seiner Entfernungsangabe Prof. Dr. G. Gräfe EDBT/MA - 4. Geo-Datenbanksysteme | 34