+ Vorlesungsskript
+ Vorlesungsskript
+ Vorlesungsskript
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
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