.
In databases van Oracle kunnen rastergegevens worden opgeslagen in SDO_GEORASTER-objecten die beschikbaar zijn in de uitbreiding Oracle Spatial. In QGIS wordt de Plug-in Oracle Spatial GeoRaster ondersteund door GDAL en is afhankelijk van het databaseproduct van Oracle dat geïnstalleerd en werkend is op uw computer. Hoewel software van Oracle beschermd is, wordt het voor ontwikkelings- en testdoeleinden gratis ter beschikking gesteld.Hier is een eenvoudig voorbeeld van hoe een rasterafbeelding in GeoRaster kan worden geladen:
$ 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.
Om te beginnen moet de plug-in Oracle GeoRaster worden geactiveerd met behulp van de Plug-in Manager (zie gedeelte Het dialoogvenster Plug-ins). Wanneer men een GeoRaster in QGIS wil laden, moet eerst een verbinding tot stand worden gebracht met de database van Oracle die de gegevens bevat. Klik daarvoor op de knop Oracle GeoRaster toevoegen, waardoor het invoerscherm Selecteer het Oracle Spatial GeoRaster zal worden geopend. Klik dan op [Nieuw] om het invoerscherm Nieuwe Oracle-verbinding aanmaken te openen en waarin men de benodigde parameters kan invullen (Zie 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:
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.
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:
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.
Ten slotte zal de rasterafbeeling worden geladen in QGIS door het GeoRaster uit de lijst van de Raster Data Tabellen en Raster Id’s te selecteren.
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 die piramiden bevatten zullen veel sneller worden getoond maar de piramiden moeten vooraf buiten QGIS worden gegenereerd met behulp van Oracle PL/SQL of 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;