.

Oracle-Spatial-GeoRaster Plugin

Oracle Datenbanken mit Oracle Spatial Erweiterung ermöglichen es, Rasterlayer als SDO_GEORASTER Objekte zu speichern. In QGIS existiert das oracle_raster Oracle-Spatial-GeoRaster Plugin. Es basiert auf der GDAL Bibliothek und setzt voraus, dass eine entsprechende Oracle Datenbank auf ihrem Rechner läuft. Obwohl Oracle keine freie Software ist, stellen Sie ihre Software für Entwickler und zu Testzwecken kostenlos zur Verfügung. Ein einfaches Beispiel, wie man über GDAL ein Raster in ein GeoRaster laden kann sieht folgendermaßen aus:

$ gdal_translate -of georaster input_file.tif geor:scott/tiger@orcl

Das Raster wird in diesem Beispiel in die Standard GDAL_IMPORT Tabelle als Spalte mit dem Namen RASTER geladen.

Mit der Datenbank verbinden

Als erstes muss das Oracle GeoRaster Plugin mit dem Plugin Manager geladen werden (siehe Kapitel Der Erweiterungen Dialog). Wenn Sie zum ersten Mal ein GeoRaster in QGIS laden wollen, müssen Sie zuvor eine Verbindung zu der Oracle Datenbank erstellen, in der sich die Daten befinden. Hierzu klicken Sie auf das oracle_raster Oracle-GeoRaster-Layer hinzufügen Icon in der Werkzeugleiste. In dem Dialog klicken Sie auf [Neu] und geben dann die notwendigen Verbindungsparameter ein (siehe Abbildung Figure_oracle_raster_1):

  • Name: Geben Sie einen Namen für die Datenbankverbindung ein.

  • Datenbankinstanz: Geben Sie den Namen der Datenbank mit der Sie sich verbinden werden ein.

  • Benutzername: Geben Sie Ihren eigenen Benutzernamen, den Sie verwenden werden um sich mit der Datenbank zu verbinden, an.

  • Passwort: Vergeben Sie das Passwort das Ihrem Benutzernamen zugeordnet ist und das erforderlich ist um die Datenbank anzubinden.

Figure Oracle Raster 1:

../../../_images/oracle_create_dialog.png

Oracle-Verbindung herstellen Dialog

Zurück im Hauptfenster des Oracle Spatial GeoRaster Plugins (siehe Abbildung Figure_oracle_raster_2), wählen Sie die Dropdown Liste, um die neue Verbindung auszuwählen und klicken dann auf [Verbinden], um die Verbindung herzustellen. Sie können die Verbindung auch nochmals [Bearbeiten] und Veränderungen vornehmen oder mit dem Knopf [Löschen] die Verbindung aus der Dropdown Liste entfernen.

Ein GeoRaster auswählen

Nachdem eine Verbindung eingerichtet wurde, zeigt das Unterdaten Fenster die Namen aller Tabellen die GeoRaster-Spalten in der Datenbank enthalten und das Format von GDAL Unterdatennamen haben.

Wählen Sie einen der ‘subdatasets’ und klicken dann auf [Wählen], um den Tabellennamen auszuwählen. Daraufhin erscheint eine weitere Liste mit den GeoRaster Spalten, die sich in der Tabelle befinden. Dies ist normalerweise eine kurze Liste, da es eher selten vorkommt, dass mehr als ein oder zwei GeoRaster Spalten in einer Tabelle abgelegt sind.

Klicken Sie auf einen der aufgelisteten Unterdatensätze und klicken Sie dann auf [OK] um eine der Tabellen-/Spaltenkombinationen auszuwählen. Der Dialog zeigt nun alle Zeilen die GeoRaster-Objekte enthalten. Beachten Sie, dass die Unterdaten-Liste jetzt die Raster Data Table und Raster Id pairs zeigt.

Der Auswahleintrag kann zu jeder Zeit bearbeitet werden um direkt zu einem bekannten GeoRaster zu gehen oder zurück zum Anfang zu gehen und einen anderen Tabellennamen auszuwählen.

Figure Oracle Raster 2:

../../../_images/oracle_select_dialog.png

Oracle-Spatial-GeoRaster wählen Dialog

Der Auswahl Dateneintrag kann auch dazu verwendet werden eine WHERE Klausel am Ende des Identifikationsstrings (z.B. geor:scott/tiger@orcl,gdal_import,raster,geoid=) einzugeben. Siehe http://www.gdal.org/frmt_georaster.html für weitere Informationen.

Ein GeoRaster laden

Schließlich wird das Rasterbild durch Auswählen eines GeoRasters aus der Liste der Raster Data Tables und Raster Ids in QGIS geladen.

Der Oracle-Spatial-GeoRaster wählen Dialog kann jetzt geschlossen werden und wenn er das nächste Mal geöffnet wird, wird die gleiche Verbindung beibehalten und wird die gleiche vorherige Liste von Unterdatensätzen gezeigt, was es sehr einfach macht ein anderes Bild aus dem gleichen Kontext zu öffnen.

Bemerkung

GeoRaster, die mit Pyramiden abgelegt sind, werden in QGIS wesentlich schneller visualisiert. Die Pyramiden müssen aber im Vorfeld und außerhalb von QGIS mit Oracle PL/SQL oder gdaladdo erstellt werden.

Das folgende ist ein Beispiel, bei dem gdaladdo verwendet wird:

gdaladdo georaster:scott/tiger@orcl,georaster\_table,georaster,georid=6 -r
nearest 2 4 6 8 16 32

Beispiel zum Erstellen von Pyramiden mit PL/SQL:

$ sqlplus scott/tiger
SQL> DECLARE
 gr sdo_georaster;
BEGIN
    SELECT image INTO gr FROM cities WHERE id = 1 FOR UPDATE;
    sdo_geor.generatePyramid(gr, 'rLevel=5, resampling=NN');
    UPDATE cities SET image = gr WHERE id = 1;
    COMMIT;
END;