1 / 71

Rasterdatenunterstützung in relationalen Datenbanksystemen

Rasterdatenunterstützung in relationalen Datenbanksystemen. Oberseminarvortrag zur gleichnamigen Studienarbeit 16. November 2004 Marco Pagel. Themenüberblick. Geographische Daten Grundlagen Datenbanksysteme und Darstellungswerkzeuge

armani
Download Presentation

Rasterdatenunterstützung in relationalen Datenbanksystemen

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Rasterdatenunterstützung in relationalen Datenbanksystemen Oberseminarvortrag zur gleichnamigen Studienarbeit 16. November 2004 Marco Pagel

  2. Themenüberblick • Geographische Daten • Grundlagen • Datenbanksysteme und Darstellungswerkzeuge • Funktionale Anforderungen an eine Rasterdatenunterstützung • Entwurf

  3. Themenüberblick • Geographische Daten • Grundlagen • Datenbanksysteme und Darstellungswerkzeuge • Funktionale Anforderungen an eine Rasterdatenunterstützung • Entwurf

  4. 1. Geographische Daten • Geographische Informationssysteme (GIS) verwenden verschiedene Datenformate um räumliche Informationen darzustellen • Vektordaten • Rasterdaten • Zusätzlich werden beschreibende Informationen mit abgelegt • Metadaten

  5. y Rasterzelle x 1. Geographische DatenRasterdaten • Struktur: • regelmäßige Matrix gleich großer, rechteckiger Zellen • 2 dimensional  Pixel • jede Zelle besitzt ein Attribut (Eigenschaft) für die zu speichernde Information • deckt bestimmte Fläche auf der Erde ab • Auflösung (m² pro Pixel) • bestimmt Informationsgehalt und Datenqualität

  6. 1. Geographische DatenRasterdaten • Zugriff auf Rasterzellen: • über geographische Koordinaten • Spalten-Zeilen-Adressen der Matrixstruktur • Verwendung: • für kontinuierlich im Raum verteilte Daten, z.B: Bevölkerungsdichte, Temperaturverläufe, … • Bilddaten wie Satelliten- oder Luftaufnahmen

  7. y Polygone Punkte x Linienzüge 1. Geographische DatenVektordaten • dienen der Speicherung von Punkt- und Linieninformationen sowie homogenen Flächen • Elemente/Datentypen:

  8. 1. Geographische DatenVektordaten • dienen der Speicherung von Punkt- und Linieninformationen sowie homogenen Flächen • Elemente/Datentypen: • Punkte besitzen Koordinaten  Standortdarstellung (z.B. Städte) • Linienzüge bestehen aus verbundenen Punkten  Darstellung von Linieninformationen (z.B. Straßen) • Polygone sind geschlossene Linienzüge  Abbildung homogener Flächen • allen Objekten können mehrere Attribute zur Speicherung von Informationen zugeordnet werden

  9. 1. Geographische DatenVektordaten • Vorteil: • maßstabsunabhängige Darstellung von diskreten räumlichen Daten • Nachteil: • für veränderliche Flächendaten ungeeignet, da nur homogene Flächen darstellbar

  10. Themenüberblick • Geographische Daten • Grundlagen • Datenbanksysteme und Darstellungswerkzeuge • Funktionale Anforderungen an eine Rasterdatenunterstützung • Entwurf

  11. 2. Grundlagen • Mosaik • Zerlegung eines Bildes in mehrere gleichgroße Teile, die separat gespeichert sind • Pyramiden • Speichern der Rasterdaten in verschiedenen Auflösungen zur Leistungsteigerung • Georeferenzieren • Lokalisieren der Rasterdaten auf der Erdoberfläche

  12. Themenüberblick • Geographische Daten • Grundlagen • Datenbanksysteme und Darstellungswerkzeuge • Funktionale Anforderungen an eine Rasterdatenunterstützung • Entwurf

  13. 3. DBMS und DarstellungswerkzeugeDatenbanksysteme (DB2) • DB2 • Spatial Extender als geographische Erweiterung • unterstützt nur Vektordaten • verwendet Geometrietypen die vom OpenGIS Consortium spezifiziert wurden • Punkte, Linienzüge, Polygone • Verbundtypen für gleichartige Objekte (z.B. ST_MultiPoint) • Multipoint-Typ ermöglicht Umweg zur Speicherung von Rasterdaten • Pixel als Punkte innerhalb eines Multipoint-Objektes • unter bestimmten Einschränkungen (DB2 erlaubt maximal 300.000 Punkte innerhalb eines MultiPoint-Objektes)

  14. 3. DBMS und DarstellungswerkzeugeDatenbanksysteme (Oracle) • Oracle • Oracle Spatial zu Speicherung und Verarbeitung von geographischen Daten • unterstützt seit Version 10g Vektor- und Rasterdaten • objektrelationales Modell wird verwendet • mittels des SDO_Geometry – Typs werden die vom OGC und in der SQL/MM-Norm spezifizierten Geometrietypen implementiert • Oracle Spatial wurde um GeoRaster-Paket erweitert um Rasterdaten verwalten zu können

  15. SQL API Viewing Tools Java/C/C++ Oracle 10g Spatial Georaster Out Adaptor In Adaptor verschiedene Dateiformate verschiedene Dateiformate 3. DBMS und DarstellungswerkzeugeDatenbanksysteme (Oracle) • GeoRaster – Architektur • auf einem hohen Abstraktionsniveau stellt sich die GeoRaster-Architektur folgendermaßen dar

  16. 3. DBMS und DarstellungswerkzeugeDatenbanksysteme (Oracle) • GeoRaster – Datenmodell • generisches Datenmodell, das komponentenbasiert, multidimensional und in logische Schichten eingeteilt ist • den Kern der Daten bildet eine multidimensionale Matrix • Dimensionen werden durch Schichten realisiert Rasterdatentabelle Schicht n Schicht 1 Schicht 0

  17. 3. DBMS und DarstellungswerkzeugeDatenbanksysteme (Oracle) • GeoRaster – Datenmodell • Daten lassen sich in eine Menge von Zelldaten und eine Menge von Metadaten unterscheiden • Metadaten werden in einer XML-Darstellung angegeben • es existieren Metadaten für die GeoRaster-Objekte, die einzelnen Schichten,… BEM: fliegt wahrscheinlich wieder raus

  18. Indexe Indexe GeoRaster Tabelle* Rasterdaten Tabelle* (Blobs) GeoRaster Datenbank Metadaten in seperaten Tabellen * = GeoRaster Systemdaten = GeoRaster Objekt 3. DBMS und DarstellungswerkzeugeDatenbanksysteme (Oracle) • GeoRaster – Datenbank

  19. 3. DBMS und DarstellungswerkzeugeDatenbanksysteme (Oracle) • GeoRaster – Objekttypen: • geographische Daten werden mittels der Objekttypen SDO_GeoRaster und SDO_Raster verwaltet • SDO_GeoRaster( rasterType Number, spatialExtend SDO_Geometry, rasterDataTable Varchar(32), rasterID Number, metadata XMLType)

  20. 3. DBMS und DarstellungswerkzeugeDatenbanksysteme (Oracle) • GeoRaster – Objekttypen: • Metadaten: • z.B. objectDescriptionType: liefert Informationen zu SDO_GeoRaster-Ojekten, wie z.B. Versionsinformationen, Defaultwerte für Farbkanäle, oder ob überhaupt Daten enthalten sind • zellenspezifische Metadaten: Art der Zelle (z.B. Quadrat), Zelltiefe, Dimensionsinformationen, … • weitere Metadaten: Informationen zu Blockbildung, Komprimierung, Pyramideneigenschaften, räumlichen Bezugssystem, …

  21. 3. DBMS und DarstellungswerkzeugeDatenbanksysteme (Oracle) • GeoRaster – Objekttypen: • SDO_Raster( rasterID Number, pyramideLevel Number, bandBlockNumber Number, rowBlockNumber Number, columnBlockNumber Number, blockMBR SDO_Geometry, rasterBlock BLOB) • Rasterzellen werden aus Platzgründen zu Blöcken zusammengefasst und dann gespeichert

  22. verschiedene nutzerdefinierte Spalten SDO_GeoRaster Objekt Städte Tabelle (ein Tupel pro Stadt, z.B. Jena) GeoRaster Type spatialExtent (SDO_Geometry) rasterdataTableName rasterID metadata SDO_GeoRaster Objekt RasterID, pyramide level,… MBR für diesen Block (SDO_Geometry) Daten des Blockes (BLOB) Rasterdatentabelle (SDO_Raster Objekt, ein Tupel für jeden Block) 3. DBMS und DarstellungswerkzeugeDatenbanksysteme (Oracle) • Zugriff auf die Rasterzellen:

  23. 3. DBMS und DarstellungswerkzeugeDatenbanksysteme (OGC) • OpenGIS Consortium (OGC) • Unternehmensverbund zum Standardisieren von geographischen Objekten und Schnittstellenbeschreibungen für verschiedene verarbeitende Funktionen • Ziel: Zusammenarbeit von herstellerspezifischen Anwendungen zu ermöglichen bzw. zu verbessern • OGC Reference Model spezifiziert auch Datentyp für Rasterdaten  Coverage • GML (Geographic Markup Language) • Beschreibungssprache für geographische Daten • XML basiert • enthält auch Beschreibung für Coverages

  24. 3. DBMS und DarstellungswerkzeugeDatenbanksysteme (OpenSource) • PostgreSQL • die Verarbeitung von Vektordaten ist möglich • Rasterdaten werden nicht unterstützt • MySQL • ist für die Verarbeitung von Vektordaten ausgelegt • orientiert sich am OGC Reference Model • die Speicherung von Rasterdaten ist nicht möglich (nur der Umweg über den MultiPoint-Typ)

  25. 3. DBMS und DarstellungswerkzeugeDarstellungswerkzeuge (GRASS) • GRASS (Geographical Resource Analysis Support System) • ist vom U.S. Militär entwickelt und Ende der 80er Jahre frei gegeben wurden • eines der umfangreichsten OpenSource-Produkte zur Erstellung von GIS-Anwendungen auf dem Markt • ist für die Bearbeitung von Vektor- und Rasterdaten ausgelegt

  26. 3. DBMS und DarstellungswerkzeugeDarstellungswerkzeuge (GRASS) • GRASS – Datenbank • GRASS verwendet Dateisystem zur Ablage der Daten • Rasterdaten können aus den meisten Datenformaten importiert und bearbeitet werden • Anbindung relationaler DBMS ab Version 5.0 möglich (select, create, insert, delete – Anweisungen durch verschiedene Module implementiert) • Bearbeitung der Daten findet aber nur auf Anwendungsebene statt

  27. Application (VB, C++) Browser MapInfo Pro MapBasic Programming MapX SQL Query Web Server ODBC SQL Application Server MapMarker Geocoding Server ODBC MapXtreme ODBC MapInfo Data Products Informix, DB2 SQL Server SpatialWare Data Load Utilities MapMarker SQL 3. DBMS und DarstellungswerkzeugeDarstellungswerkzeuge (MapInfo) • MapInfo ist ein kommerzielles Unternehmen • bietet verschiedene Produkte zur Erstellung von GIS-Anwendungen an

  28. 3. DBMS und DarstellungswerkzeugeDarstellungswerkzeuge (MapInfo) • MapInfo Professional • konzentriert sich auf Vektordatenverarbeitung • basiert auf Schichtenmodell • jede Schicht besteht aus gleichartigen Objekten • Karten erstellen durch Übereinanderprojezieren der einzelnen Schichten • Rasterdaten • nur als Hintergrund oder Zusatzinformation • keine Auswertung von Inhalten der Rasterdaten möglich • Anbinden durch Registrierungsprozess • MapInfo kann Rasterdaten aus Vektordaten erzeugen

  29. 3. DBMS und DarstellungswerkzeugeDarstellungswerkzeuge (MapInfo) • MapInfo – Datenbank: • Anbinden relationaler DBMS möglich • Live Access • Linked Table • Downloaded Table • müssen geographische Daten verwalten können • Erweiterungen wie Oracle Spatial, Spatial Extender oder SpatialWare müssen vorhanden sein • Vorgehensweise • Tab-Dateien für Datenspeicherung auf Anwendungsebene werden angelegt • MapCatalog für Registrierung der Datenbanktabellen auf DBMS-Ebene

  30. 3. DBMS und DarstellungswerkzeugeDarstellungswerkzeuge (MapInfo) • MapInfo SpatialWare: • eigene DBMS-Erweiterung für Vektordaten • spezielle Datentypen • geographische Operationen zur Manipulation und Auswertung • Indexstrukturen für geographische Daten • für IBM DB2, Informix und Microsoft SQL Server • keine separaten Datentypen für Rasterdaten

  31. Client-Anwendungen Stand-Alone Desktop Anwendungen (+ verschiedene Erweiterungen) ArcInfo ArcPad ArcEditor ArcExplorer ArcView ArcReader Webbrowser Server-Dienste ArcIMS Internet Map Server ArcSDE Datenbankgateway DB ArcGIS Datenmodelle 3. DBMS und DarstellungswerkzeugeDarstellungswerkzeuge (ESRI) • ArcGIS-Produktfamilie zur Speicherung, Verarbeitung und Darstellung von geographischen Daten

  32. 3. DBMS und DarstellungswerkzeugeDarstellungswerkzeuge (ESRI) • ArcSDE als DBMS-Erweiterung für geographische Daten • für Oracle, Informix, DB2, SQL Server • orientiert sich an SQL/MM-Norm und OGC-Spezifikationen für Datentypen und Funktionen • unterstützt auch vorhandene Datentypen wie ST_Polygon vom Spatial Extender  Datenbankgateway welches interne Repräsentation der Daten (ArcSDE-Datentypen oder DBMS-Datentypen) von der äußeren Darstellung trennt

  33. city_photo SDE_ras_6 SDE_aux_6 name image raster_id raster_flags description rasterband_id type object SDE_blk_6 SDE_bnd_6 rasterband_id rrd_factor row_nbr col_nbr block_data rasterband_id sequence_nbr raster_id name band_flags band_width band_height band_types block_width block_height block_origin_x block_origin_y 3. DBMS und DarstellungswerkzeugeDarstellungswerkzeuge (ESRI) • ArcSDE unterstützt Raster- und Vektordaten • Rasterdaten werden in einer speziellen Struktur in der Datenbank (Geodatabase) abgelegt • Daten werden zerlegt, komprimiert, indiziert und mit Auflösungspyramiden versehen • Speicherung in mehreren Tabellen • Business-Tabelle enthält Spalte mit einem Rastertyp • 4 zusätzliche Tabellen werden angelegt

  34. 3. DBMS und DarstellungswerkzeugeTerraserver von Microsoft • Beispiel für existierendes GIS, welches auf Rasterdaten in einem relationalen DBMS aufsetzt • entstand im Zusammenhang mit dem Test und der Demonstration der Skalierbarkeit von Microsoft SQL Servern • Internetanwendung • Darstellung der Daten im Web-Browser • bietet verschiedene Suchmethoden • Längen- und Breitengrade oder Gebiete angeben • Sehenswürdigkeiten aus einer Liste • Punkt auf einer Weltkarte auswählen • Zusatzinformationen lassen sich anzeigen • Zoomen ist möglich • …

  35. 3. DBMS und DarstellungswerkzeugeTerraserver von Microsoft • Daten werde bzgl. ihrer Quelle unterschieden  theme • USGS DOQ, USGS DRG, SPIN-2, Encarta Shaded Relief • Bilder werden in internettaugliche, 10 kbyte große Teile zerlegt und gespeichert • TerraCutter • Pyramide wird erzeugt und alle berechneten Auflösungen werden zusätzlich in der DB abgelegt • TerraScale • keine nahtlose Darstellung der ganzen Welt, nur von begrenzten Bereichen • Szenen  UTM-Zonen bzw. SPIN-2-Aufnahmen  scene_id

  36. 3. DBMS und DarstellungswerkzeugeTerraserver von Microsoft • TerraCutter • zerlegt Ausgangsbilder in Teilbilder (entsprechend einer Zellgröße, z.B. 200 * 200 Pixel) • ordnet dabei jedem Teilbild x- und y-Koordinaten zu • für SPIN-2-Bilder bezüglich des obersten linken Pixels • beim Rest werden sie mittels der UTM-Koordinaten ermittelt • zusätzlich erhalten die Teilbilder scene_id, Auflösung, theme,… • für nahtlose Darstellung der Szenen müssen UTM-basierte (USGS) Datensätze noch zusammengefügt werden, da eine UTM-Zone meist aus mehreren Originalen besteht • wegen Überschneidungen der Originalbilder ist die Verschmelzung von Zellen notwendig

  37. 3. DBMS und DarstellungswerkzeugeTerraserver von Microsoft • TerraScale • erzeugt Bildpyramide auf der Basis der von TerraCutter gelieferten Daten • nur bestimmte Auflösungen werden unterstützt ( in Zweierpotenzen von 1/1024 bis 16384 Meter pro Pixel) • ausgehend von der höchsten Auflösung werden pro Stufe 4 Pixel vereinigt (z.B. durch Mittelwertbildung)

  38. SourceMetadataTable OrigMetaTag Metadaten (je Thema verschiedene Metadaten) • pro Thema wird eine • separate Tabelle angelegt • ein Tupel je zerlegtem Bild ImageTable SceneID X Y Display-Status OrigMetaTag 28 weiter Felder (Metadaten, BLOB für Teilbild im JPG-Format) • pro Thema und Auflösung eine separate Tabelle • ein Tupel je 10kb Teilbild 3. DBMS und DarstellungswerkzeugeTerraserver von Microsoft • Datenbankschema (ohne Ortsverzeichnis und Suchtabellen)

  39. Themenüberblick • Geographische Daten • Grundlagen • Datenbanksysteme und Darstellungswerkzeuge • Funktionale Anforderungen an eine Rasterdatenunterstützung • Entwurf

  40. Originalbild Mosaikzerlegung mit Bereichsanfrage reduziertes Anfrageergebnis 4. ImplementierungsaspekteMosaik - Strategie • Gründe • Beschränkungen der DBMS machen Zerlegung von Rasterdaten notwendig (maximale BLOB-Größe von 2 GB) • nahtlose Darstellung großer Flächen durch Zusammenfügen benachbarter Bilder mit Mosaiken einfach möglich • reduzierte Ergebnismenge und Datentransfer für bestimmte Bereichsanfragen

  41. 4. ImplementierungsaspekteMosaik - Strategie • Anforderungen an die Rasterdaten • ohne Verzerrungen (orthorectified) • müssen genaue geographische Koordinaten mitliefern • Verzerrungen • Zentralperspektive der Kamera bewirkt Verzerrungen an den Rändern von Luftaufnahmen • Höhenänderungen des photographierten Geländes bewirken Maßstabsänderungen • Wölbung der Erde führt zu Verzerrungen bei Satellitenphotos • Verschiebungen bei gescannten Karten oder Luftaufnahmen

  42. 4. ImplementierungsaspekteMosaik - Strategie • Anforderungen an die Rasterdaten • ohne Verzerrungen (orthorectified) • müssen genaue geographische Koordinaten mitliefern • Verzerrungen - Folgen • beim Zusammenfügen benachbarter Bilder treten Risse oder Verschiebungen auf mittels Orthophotoerstellung beseitigen

  43. 4. ImplementierungsaspekteMosaik - Strategie • Geographische Koordinaten • zur Lokalisierung und Positionierung der Rasterdaten innerhalb eines Koordinatensystems und dessen Abbildung auf die Erdoberfläche geographische Koordinaten (Längen- und Breitengrade) sind für die Darstellung im zweidimensionalen Raum (Bildschirme, Karten) ungeeignet Abstände und Längen sind nicht konstant, d.h. eingeschlossene Flächen sind verschieden groß  im zweidimensionalen KS beides konstant

  44. 4. ImplementierungsaspekteMosaik - Strategie • zur Abbildung in zweidimensionalen Raum werden Projektionen bzw. Projektionssysteme verwendet • Projektion = mathematische Transformation der dreidimensionalen Darstellung in ein zweidimensionales System • Positionen innerhalb eines Projektionssystems werden mit (x,y)-Koordinaten in Bezug auf einen Koordinatenursprung angegeben (= Punkt auf der Erde) • Projektionen sind mit Verzerrungen verbunden Rasterdaten liefern projizierte Koordinaten und verwendetes Projektionssystem als Metadaten mit

  45. 4. ImplementierungsaspekteMosaik - Strategie • Beispiel: USGS DOQ (Digital Orthophoto Quadrangle) • enthalten Koordinaten und Projektionsinformationen  UTM – Projektion mit Koordinaten in Metern • Auflösung von 1 und 2 Meter pro Pixel verfügbar • monochrom und mehrfarbig • komprimiert und unkomprimiert

  46. 4. ImplementierungsaspekteMosaik - Strategie • Mosaik erstellen • Zerlegung erfolgt bzgl. einer konstanten Zellgröße (alle Zellen des Mosaiks sind quadratisch und gleich groß) • Wahl eines Startpixels (oben links) und ermitteln seiner Koordinaten • Ausschneiden des Teilbildes entsprechend der Zellgröße • Teilbild bekommt Zeilen- und Spaltenadresse, Koordinaten, … zugeordnet • komprimieren und speichern der Zelle  zeilen- oder spaltenweise die Zerlegung fortsetzen

  47. Zellgröße komplett gefüllte Zelle zum Teil gefüllte Zelle Zerlegung in quadratische Mosaikzellen 4. ImplementierungsaspekteMosaik - Strategie • Problem von nur zum Teil gefüllten Zellen Zellen werden in trotzdem gewählter Zellgröße gespeichert beim Hinzufügen von weiteren Originalen werden die leeren Stellen aufgefüllt

  48. einzufügende Originale Zellen werden verschmolzen bestehendes Mosaik zusammengesetztes Mosaik 4. ImplementierungsaspekteMosaik - Strategie • Vereinigen von Bildern • Mosaike erleichtern das Verschmelzen mehrer Originalaufnahmen zur nahtlosen Darstellung größerer Gebiete • mehrere Bilder werden zerlegt und in einem Mosaik zusammengefasst • Probleme: überschneidende Originale Wahl der Startpixel für zusätzliche Bilder

  49. 4. ImplementierungsaspekteMosaik - Strategie • Zellen verschmelzen • Bestimmen der Leere der neuen und alten Zellen und entscheiden ob die alte Zelle ersetzt, die neue verworfen oder beide verschmolzen werden. • Verschmelzung: • leeren Stellen werden aufgefüllt • Pixel für die zwei Werte existieren z.B. durch Mittelwertbildung vereinigen (oder Ersetzen der alten Pixelwerte durch die neuen) • Startpixel bestimmen (x,y) = (xStartpixel + (Zellgröße * g1), yStartpixel + (Zellgröße * g2))

  50. Schicht n Vegetation Schicht 2 Höhenkarte Schicht 1 Infrarotaufnahme Schicht 0 Satellitenphoto (Basismosaik) 4. ImplementierungsaspekteMosaik - Strategie • mehrdimensionale Mosaike • Zellen sind nicht mehr eindeutig über Koordinaten identifizierbar  Schichtnummer/ Schicht_ID einführen

More Related