29.01.2014 Aufrufe

+ Vorlesungsskript

+ Vorlesungsskript

+ Vorlesungsskript

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

Rückblick<br />

Indizes am Beispiel B + -Tree<br />

klassischer sortierter Datenbankindex<br />

Raumindizes am Beispiel R-Tree<br />

minimum bounding boxes werden indiziert<br />

Primärer räumlicher Filterschritt<br />

Suchalgorithmus<br />

Algorithmen, um den Index zu unterhalten<br />

Index in Oracle-Spatial als Tabelle 'untersuchbar'<br />

Laube, Meile: Räumliche Datenbanken Rückblick<br />

Vorlesung 11 - Seite 1


Rasterdaten in Datenbanken<br />

1. Prinzip Rasterdaten<br />

2. Speicherungsvarianten und beteiligte Datenbanktypen<br />

3. Rasterdatenpraxis in ArcSDE und in Oracle<br />

4. Rasterdaten als Webservices<br />

Laube, Meile: Räumliche Datenbanken Inhaltsübersicht<br />

Vorlesung 11 - Seite 2


Rasterdaten<br />

Quellen<br />

Luft- und Satellitenbilder<br />

Karten<br />

Analysen und Ableitungen<br />

....<br />

Repräsentation / Funktionalität<br />

Zellen oder Pixel<br />

Spatial domain, spatial extent, footprint (mbb/mbr)<br />

Spatial resolution<br />

Räumliche, zeitliche und Band-Information<br />

Zellenwerte: diskret (Pixelmaps) oder Felder (halbdiskret)<br />

Metadaten<br />

Verarbeitung und Administration der Daten<br />

Laube, Meile: Räumliche Datenbanken Prinzip Rasterdaten<br />

Vorlesung 11 - Seite 3


'Continous Fields' im Raum<br />

in die Datenbank<br />

Datenraum, Abstraktion<br />

georeferencing<br />

colormapping, banding, pyramids<br />

geographischer Raum<br />

Raum-DB<br />

wie wird der Datenraum in der Datenbank gespeichert?<br />

Datenhaltungskonzept, Tools, Indizierung, Performance<br />

Laube, Meile: Räumliche Datenbanken Prinzip Rasterdaten<br />

Vorlesung 11 - Seite 4


Prinzip<br />

Konzeptuelles Modell in der Datenbank<br />

Block mit einer bestimmten Anzahl Pixel, z.Bsp 128 * 128 px<br />

Jedes Pixel mit zugeordnetem (Farb-)wert<br />

Blöcke gehören zu Bändern (=Layern)<br />

Pyramiden mit Bändern und Blöcken<br />

Rasterdatensatz (auch als Raster, Raster Dataset, Rasterlayer bezeichnet) mit<br />

Pyramiden, Bändern und Blöcken<br />

Metadaten des Modells<br />

Räumliche Referenz<br />

Räumliche Auflösung<br />

Räumliche Ausdehnung des Rasterdatensatzes<br />

Information über Bänder, Pyramiden, Komprimierung...<br />

Laube, Meile: Räumliche Datenbanken Prinzip Rasterdaten<br />

Vorlesung 11 - Seite 5


Rasterdatensatz und Blöcke<br />

Implizite Topologie -> Reihenfolge bestimmt räumliche Orientierung<br />

Kachelung in Blöcke aus Performancegründen<br />

Blöcke als Grundeinheit für Speicherung der Pixel (=Zellen) in der DB<br />

Beispiel eines 9 * 9 Blocks mit 81 Zellen<br />

RowNr 1<br />

ColNr 1 ColNr 2<br />

RowNr 2<br />

Rasterdatensatz: Pixelkarte<br />

Ein Block<br />

identifiziert hier<br />

durch ColNr=2 und<br />

RowNr=2<br />

Laube, Meile: Räumliche Datenbanken Prinzip Rasterdaten<br />

Vorlesung 11 - Seite 6


Rasterdatensatz und Bänder<br />

Verfügbare Bänder des IKONOS-Satelliten, siehe<br />

rechts<br />

Jedes Band wird mit der Farbtiefe 11 Bit geliefert<br />

(=2048 Abstufungen)<br />

SPOT Images mit bis zu 13 Bändern, welche im<br />

Rasterdatensatz gespeichert werden<br />

Laube, Meile: Räumliche Datenbanken Prinzip Rasterdaten<br />

Vorlesung 11 - Seite 7


Farbwerte der gespeicherten Pixel<br />

Verwendete Schemata zur Speicherung der Farbe der einzelnen Pixel<br />

1) Colormaps, diskret: verwendete Farben sind in einem kleinen Verzeichnis spezifiziert rsp<br />

indexiert<br />

Vorteil liegt bei besserer Kompression der Daten.<br />

2) Farbstufen, halbdiskret: 8 Bit entsprechen 256 Abstufungen, IKONOS z.B. mit 11 Bit (2048<br />

Abstufungen) pro Kanal<br />

Band (Layer) für welches eine Colormap mit 5<br />

indexierten Farben Sinn ergäbe<br />

Laube, Meile: Räumliche Datenbanken Prinzip Rasterdaten<br />

Vorlesung 11 - Seite 8


Rasterdatensatz und Pyramiden<br />

Dreistufige Pyramide<br />

Level 2: Pro Block von Level 0 [2 * 2 Pixel]<br />

Level 1: Pro Block von Level 0 [5 * 5 Pixel]<br />

Level 0: Alle Pixel eines Blocks, hier 9 * 9<br />

Pyramidenlevel 2<br />

Pyramidenlevel 1<br />

Jeder Block auf allen Levels beinhaltet 9*9 Pixel<br />

Es braucht jedoch auf den höheren Levels weniger Blöcke,<br />

um den gesamten Raum abzubilden<br />

Level 0<br />

Rasterdatensatz: Pixelkarte mit einem Band (mit<br />

Colormap)<br />

Laube, Meile: Räumliche Datenbanken Prinzip Rasterdaten<br />

Vorlesung 11 - Seite 9


Diskussion: Rasterdaten speichern<br />

Ihre Kollegin, die Physik studiert, ist eine Tüftlerin. Sie hat in ihrer Freizeit<br />

einen speziellen Ballon entwickelt, den sie hochsteigen lassen kann, um<br />

'Luftbilder' mit einer Kamera zu machen. Sie möchte später über eine<br />

Webapplikation oder über ein GIS auf die 'Luftbilder' zugreifen. Weil Sie Profi<br />

im Ablegen von Rasterdaten in Geodatenbanken sind, schickt die Kollegin<br />

Ihnen ein solches .jpg File.<br />

Diskutieren und lösen Sie folgende Aufgaben zu zweit:<br />

1) Welche Information müssen Sie zur Hand haben, dass Sie überhaupt<br />

beginnen können?<br />

2) Welche Schritte (mit allenfalls weiterer Information) braucht es, um die<br />

Rasterdaten in eine GEO-DB einzulesen?<br />

3) Während eines solchen Ablaufs werden Algorithmen gebraucht. Welche<br />

könnten das sein und bei welchen Schritten werden sie benötigt?<br />

Laube, Meile: Räumliche Datenbanken Prinzip Rasterdaten<br />

Vorlesung 11 - Seite 10


Inhaltsverzeichnis<br />

1. Prinzip Rasterdaten<br />

2. Speicherungsvarianten und beteiligte Datenbanktypen<br />

3. Rasterdatenpraxis in ArcSDE und in Oracle<br />

4. Rasterdaten als Webservices<br />

Laube, Meile: Räumliche Datenbanken Inhaltsübersicht<br />

Vorlesung 11 - Seite 11


Struktur im Rasterdatenmodell Oracle Spatial<br />

Format ist MDSYS.SDO_GEORASTER<br />

Rasterinfotabelle<br />

Eintrag verweist auf<br />

Tabelle(namen)<br />

Blocktabelle (pro Band, pro Pyramide)<br />

Feld vom Typ<br />

SDO_GEORASTER<br />

Trigger an Stelle von<br />

Constraint<br />

Laube, Meile: Räumliche Datenbanken Speicherungsvarianten und Datentypen<br />

Vorlesung 11 - Seite 12


Weshalb Trigger?<br />

es geht um Objekte (keine relationale Modellierung)<br />

deshalb keine Fremdschlüssel<br />

Logik und Kontrolle in den Triggers oder<br />

in Programmpaketen, die<br />

aufgerufen werden<br />

Entzogene Transparenz<br />

viel Programmierspielraum<br />

Trigger an Stelle<br />

von Constraint<br />

Laube, Meile: Räumliche Datenbanken Speicherungsvarianten und Datentypen<br />

Vorlesung 11 - Seite 13


Konzept des Rasterdatenmodels<br />

Rasterinfotabelle<br />

beispielsweise 25'000er<br />

Kartenblätter der Schweiz<br />

Format ist MDSYS.SDO_GEORASTER<br />

Blocktabelle (pro Band, pro Pyramide)<br />

Pyramide<br />

Indizierbar<br />

Metadaten<br />

Band<br />

identifiziert Block<br />

Block rsp. alle seine Blockpixel<br />

Laube, Meile: Räumliche Datenbanken Speicherungsvarianten und Datentypen<br />

Vorlesung 11 - Seite 14


Datentypen in Spatial Rastertabellen<br />

Format ist MDSYS.SDO_GEORASTER<br />

Laube, Meile: Räumliche Datenbanken Speicherungsvarianten und Datentypen<br />

Vorlesung 11 - Seite 15


XML als Baumstruktur<br />

XML als Text<br />

Wert des Knotens SRID<br />

Knoten SRID in XML-Form<br />

Rasterdataset mit Metadaten<br />

in XML-Form<br />

Laube, Meile: Räumliche Datenbanken Speicherungsvarianten und Datentypen<br />

Vorlesung 11 - Seite 17


ArcSDE-Rasterdatenmodell A Folie 1<br />

Rasterinfotabelle(n)<br />

Bandtabelle<br />

Interne SDE-<br />

Registriernummer<br />

des Rasterlayers<br />

Format ist SDE binary (kein eigentlicher Datentyp)<br />

Blocktabelle (pro Band, pro Pyramide)<br />

Bandnummer<br />

Pyramidenummer<br />

Identifikation des Blocks<br />

Pixel des Blocks<br />

Laube, Meile: Räumliche Datenbanken Speicherungsvarianten und Datentypen<br />

Vorlesung 11 - Seite 18


ArcSDE-Rasterdatenmodell A Folie 2<br />

Format ist SDE binary (kein eigentlicher Datentyp)<br />

Hilfstabelle mit Information über Colormaps,<br />

Pyramiden und Georeferenzierung<br />

Tabelle über Farbwertstatistik<br />

Rasterdatenmodell im USRDEMO-Schema<br />

ist mit SDE binary gemacht -> ansehen<br />

Laube, Meile: Räumliche Datenbanken Speicherungsvarianten und Datentypen<br />

Vorlesung 11 - Seite 19


ArcSDE-Rasterdatenmodell B<br />

Format ist SDE.ST_RASTER<br />

Hilfstabelle mit Information über Colormaps,<br />

Pyramiden und Georeferenzierung<br />

Blocktabelle (pro Band, pro Pyramide)<br />

Bandnummer<br />

Pyramidenummer<br />

Identifikation des Blocks<br />

Pixel des Blocks<br />

Wo liegen die übrigen Informationen?<br />

Definition von SDE.ST_RASTER<br />

Der Datentyp 'versteckt' den<br />

effektiven Speicherort der<br />

Daten (Pixel, Infos über den<br />

Rasterdatensatz, etc.)<br />

Transparenterer Zugang auf<br />

den Datentyp unter anderem<br />

via SQL!<br />

Rasterdaten werden auch hier<br />

zu guter Letzt in einem BLOB<br />

Feld verstaut<br />

Laube, Meile: Räumliche Datenbanken Speicherungsvarianten und Datentypen<br />

Vorlesung 11 - Seite 20


Inhaltsverzeichnis<br />

1. Prinzip Rasterdaten<br />

2. Speicherungsvarianten und beteiligte Datenbanktypen<br />

3. Rasterdatenpraxis in ArcSDE und in Oracle<br />

4. Rasterdaten als Webservices<br />

Laube, Meile: Räumliche Datenbanken Inhaltsübersicht<br />

Vorlesung 11 - Seite 21


Praxis - Speichermöglichkeiten in DB via ArcSDE<br />

Raster Dataset<br />

Mehrere Bilder werden beim Einlesen in die Datenbank zu einem<br />

'grossen' Bild mosaikiert Ein einziger Eintrag in der Business-Tabelle<br />

Kanten müssen passen rsp. Methode um überlappende Pixel zu mergen<br />

ist festzulegen<br />

Eigenschaften der Rasterdaten müssen einheitlich sein<br />

- Colormap, Pyramiden, Bandnummern, Pixelgrösse, räumliche<br />

Referenz<br />

Mosaic Datasets (und Raster Catalogs)<br />

Eine Sammlung von Bildern rsp. unabhängigen Raster Datasets<br />

können überlappen<br />

können mehrere Attribute besitzen<br />

Jedes Dataset als Teil des Catalogs kann andere Eigenschaften, z.B.<br />

räumliche Referenz, haben<br />

Laube, Meile: Räumliche Datenbanken Rasterdaten in ArcSDE und Oracle<br />

Vorlesung 11 - Seite 22


Praxis - Speichermöglichkeiten in Oracle<br />

Rasterdatensatz<br />

Entspricht eigentlich dem 'Raster Catalog'-Prinzip von ArcSDE<br />

Speicherung der Pixel erfolgt ebenfalls mit dem BLOB-Datentyp<br />

Georeferenzierte Bilder werden nicht mosaikiert sondern als einzelne<br />

Datensätze mit Hilfe des SDO_GEORASTER Datentyps abgelegt<br />

Überlappungen deshalb möglich<br />

Andere Metadaten, Pyramiden, Bänder pro Bild<br />

Mosaikieren durch Applikation z.B. Mapserver<br />

Laube, Meile: Räumliche Datenbanken Rasterdaten in ArcSDE und Oracle<br />

Vorlesung 11 - Seite 23


Einfacher Java Raster Viewer für Oracles Georaster<br />

Mehrere Rasterdatensätze in der Rasterinfotabelle<br />

Laube, Meile: Räumliche Datenbanken Rasterdaten in ArcSDE und Oracle<br />

Vorlesung 11 - Seite 24


ArcSDE, Rasterdaten und WSL<br />

Verwaltung grosser Datenmengen<br />

Swissimage Bilder<br />

Landeskarten in verschiedenen<br />

Zeitschnitten und<br />

Generalisierungen<br />

Spezielle Befliegungen für<br />

Landesforstinventar<br />

Clienten: Erdas, ArcMap,<br />

ArcSDE Api, SocketSet<br />

Multiuser und Multiprojekt-<br />

Systeme<br />

Laube, Meile: Räumliche Datenbanken Rasterdaten in ArcSDE und Oracle<br />

Vorlesung 11 - Seite 25


Inhaltsverzeichnis<br />

1. Prinzip Rasterdaten<br />

2. Speicherungsvarianten und beteiligte Datenbanktypen<br />

3. Rasterdatenpraxis in ArcSDE und in Oracle<br />

4. Rasterdaten als Webservices<br />

Laube, Meile: Räumliche Datenbanken Inhaltsübersicht<br />

Vorlesung 11 - Seite 26


Trend: Rasterdaten als Web-Services Folie 1<br />

Riesige Datenmengen in redundanten Filesystemen<br />

100 Terrabytes an Rasterdaten nichts Aussergewöhnliches<br />

hinsichtlich Transaktionen und Backup wird es mit riesigen Rasterdaten<br />

in der DB kritisch<br />

Server mit Web-Funktionalität<br />

zum Beispiel ArcGIS Server oder MapServer<br />

Schnittstellen sind webbasiert (REST-Endpoints)<br />

die Services von Webapplikationen wie von vollen GIS-Clients nutzbar<br />

als Datenquellen kommen Datenbanken oder Filesysteme zum Einsatz<br />

Laube, Meile: Räumliche Datenbanken Rasterdaten als Webservices<br />

Vorlesung 11 - Seite 27


Trend: Rasterdaten als Web-Services Folie 2<br />

Verwalten von 'Geo-Files' im Filesystem<br />

Files sind georeferenziert (.geotiff etc.)<br />

Die Filesysteme sind redundant und mit Backups gesichert<br />

über Mosaic-Datasets werden die Files referenziert und dem GIS-Server<br />

zur Verfügung gestellt<br />

Filelisten und Informationen über die Files werden in Datenbank<br />

verwaltet<br />

Softwaretools prüfen regelmässig, ob die Files 'nicht defekt' und 'noch<br />

da' sind<br />

Vorteile solcher Systeme<br />

verteilte Speichersysteme einfacher möglich<br />

verteilte Server einfacher möglich<br />

Zugang mit Standardprotokoll http<br />

Administration ebenfalls webbasiert<br />

Laube, Meile: Räumliche Datenbanken Rasterdaten als Webservices<br />

Vorlesung 11 - Seite 28


Trend: Rasterdaten als Web-Services Folie 3<br />

Laube, Meile: Räumliche Datenbanken Rasterdaten als Webservices<br />

Vorlesung 11 - Seite 29


Zusammenfassung<br />

Rasterdaten in der Datenbank<br />

Raster, Pixelfarbwerte, Block, Band und Pyramiden<br />

Metadaten<br />

An Beispielen<br />

Raster Dataset und Raster Catalog<br />

Laube, Meile: Räumliche Datenbanken Zusammenfassung<br />

Vorlesung 11 - Seite 30

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!