.

Plug-in Oracle Spatial GeoRaster

In Oracle databases, raster data can be stored in SDO_GEORASTER objects available with the Oracle Spatial extension. In QGIS, the oracle_raster Oracle Spatial GeoRaster plugin 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

Deze plug-in laadt een raster in de standaard tabel GDAL_IMPORT, als een kolom met de naam RASTER.

Verbindingen beheren

Firstly, the Oracle GeoRaster Plugin must be enabled using the Plugin Manager (see Het dialoogvenster Plug-ins). 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 oracle_raster Add Oracle GeoRaster Layer toolbar button – this 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: Geef een naam voor de verbinding met de database.

  • Database instance: Geef de naam van de database waarmee verbinding moet worden gemaakt.

  • Gebruikersnaam: Geef de gebruikersnaam op die gebruikt zal worden om toegang te krijgen tot de database.

  • Wachtwoord: Geeft het wachtwoord die samen met gegeven gebruikersnaam toegang geeft tot de database.

Figure Oracle Raster 1:

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

Dialoogvenster Verbinding voor Oracle maken

Gebruik, in het paneel Oracle Spatial GeoRaster (zie Figure_oracle_raster_2), de keuzelijst om een verbinding te selecteren, en maak gebruik van de knop [Verbinden] om de verbinding tot stand te brengen. [Bijwerken] van de gegevens van de verbinding is ook mogelijk door het vorige dialoogvenster te starten. De knop [Delete] kan worden gebruikt om de verbinding te verwijderen uit de keuzelijst.

Een GeoRaster selecteren

Wanneer de verbinding is opgezet, zal een scherm met subdatasets een overzicht geven van alle tabellen die GeoRasters bevatten in het formaat van een GDAL subdataset naam .

Klik op één van de getoonde subdatasets en klik daarna op [Selecteren] om een tabel aan te wijzen. Vervolgens verschijnt een nieuwe lijst met subdatasets met de namen van GeoRaster kolommen in de tabel. Dit is doorgaans een vrij korte lijst omdat de meeste gebruikers slechts één of twee GeoRaster kolommen in dezelfde tabel hebben.

Klik op één van de getoonde subdatasets en klik vervolgens op [Selecteren] om één van de tabel/kolom-combinaties te kiezen. De dialoog zal nu alle rijen tonen die GeoRaster objecten bevatten. De subdataset-lijst toont nu de Raster Data Tabel en de Raster Id’s.

De keuze kan op elk moment worden gewijzigd om direct naar een bekend GeoRaster te gaan of om terug te gaan naar het begin om een andere tabelnaam te selecteren.

Figure Oracle Raster 2:

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

Dialoogvenster Oracle GeoRaster selecteren

In het invoervak Selecteren kan ook een WHERE zoekvraag worden ingevoerd aan het eind van de identificatie-regel, bijvoorbeeld geor:scott/tiger@orcl,gdal_import,raster,geoid=. Zie http://www.gdal.org/frmt_georaster.html voor meer informatie.

Het GeoRaster tonen

Finally, by selecting a GeoRaster from the list of Raster Data Tables and Raster Ids, the raster image will be loaded into QGIS.

Het venster Selecteer het Oracle Spatial GeoRaster kan nu worden gesloten. Wanneer het later opnieuw geopend wordt zal het dezelfde verbinding gebruiken en het zal dezelfde voorgaande lijst van subdatasets tonen. Dit maakt het eenvoudig om nog een raster uit diezelfde database te laden.

Notitie

GeoRasters that contain pyramids will display much faster, but the pyramids need to be generated outside of QGIS using Oracle PL/SQL or gdaladdo.

Hier volgt een voorbeeld hoe gdaladdo kan worden gebruikt:

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

Dit is een voorbeeld met gebruikmaking van 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;