In Oracle databases, raster data can be stored in SDO_GEORASTER objects available with the Oracle Spatial extension. In QGIS, the OracleGeoRasterPlugin is supported by GDAL, and depends on Oracle’s database product being installed and working on your machine. While Oracle is proprietary software, they provide their software free for development and testing purposes. Here is one simple example of how to load raster images to GeoRaster:
$ 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.
Firstly, the Oracle GeoRaster Plugin must be enabled using the Plugin Manager (see Section Loading a QGIS Core Plugin). The first time you load a GeoRaster in QGIS, you must create a connection to the Oracle database that contains the data. To do this, begin by clicking on the Select GeoRaster toolbar button, it will open the Select Oracle Spatial GeoRaster dialog window. Click on [New] to open the dialog window, and specify the connection parameters (See Figure_oracle_raster_1):
Name: Geben Sie einen Namen für die Datenbankverbindung an
Datenbankinstanz: Geben Sie den Namen der Datenbank an, mit der Sie sich verbinden wollen
Benutzername: Geben Sie den Benutzernamen an, mit dem Sie auf die Datenbank zugreifen wollen
Passwort: Das Passwort für den Benutzernamen, um auf die Datenbank zuzugreifen
Figure Oracle Raster 1:
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.
Wenn die Verbindung zur Datenbank steht, werden im Fenster ‘Unterdaten’ die Namen aller Tabellen in Form eines GDAL ‘subdataset’ angezeigt, in denen GeoRaster Spalten vorliegen.
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.
Wählen Sie wieder einen der ‘subdatasets’ und klicken auf [Wählen], um eine Tabellen/Spalten Kombination auszusuchen. Der Dialog zeigt die Zeilen, die GeoRaster Objekte enthalten. Beachten Sie, dass in der Liste der ‘subdatasets’ nun die Rasterdatentabelle und Raster Id Paare angezeigt werden.
Es ist übrigens zu jeder Zeit möglich, die Auswahl zu editieren, um so direkt zu einem bereits bekannten GeoRaster oder zurück zum Anfang zu gelangen.
Figure Oracle Raster 2:
The Selection data entry can also be used to enter a WHERE clause at the end of the identification string, e.g. geor:scott/tiger@orcl,gdal_import,raster,geoid=. See http://www.gdal.org/frmt_georaster.html for more information.
Finally, by selecting a GeoRaster from the list of Raster Data Table and Raster Id’s, the raster image will be loaded into QGIS.
Der Dialog Auswählen eines Oracle GeoRasters kann nun geschlossen werden. Beim nächsten Aufruf wird die Verbindung wieder angezeigt mit derselben Liste vorhandener ‘subdatasets’, so dass es einfach ist, weitere GeoRasters zu laden.
Bemerkung
GeoRasters that contains pyramids will display much faster but the pyramids need to be generated outside of QGIS using Oracle PL/SQL or gdaladdo.
Beispiel zum Erstellen von Pyramiden mit gdaladdo:
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;