.

Extension GeoRaster Oracle Spatial

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

Le raster va être chargé dans la table par défaut, GDAL_IMPORT, en tant que colonne nommée RASTER.

Gérer les connexions

Firstly, the Oracle GeoRaster Plugin must be enabled using the Plugin Manager (see La fenêtre des Extensions). 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):

  • Nom : Entrez un nom pour la connexion.

  • Instance de base de données : Entrez le nom de la base de données à laquelle vous voulez vous connecter.

  • Nom d’utilisateur : Indiquez le nom d’utilisateur permettant de se connecter à la base de données.

  • Mot de passe : Saisissez le mot de passe associé au nom d’utilisateur.

Figure Oracle Raster 1:

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

Créer une boite de dialogue de connexion Oracle

Dans la fenêtre principale GeoRaster Oracle Spatial (voir Figure_oracle_raster_2), utilisez la liste déroulante pour choisir une connexion, et cliquez sur [Connecter] pour accéder à la base de données. Vous pouvez également éditer les paramètres de connexion en cliquant sur [Éditer], ou supprimer la connexion en choisissant [Supprimer].

Sélection d’un GeoRaster

Une fois connecté, les noms des tables de la base contenant des colonnes GeoRaster compatibles au format GDAL vont s’afficher dans la fenêtre des sous-jeux de données.

Cliquez sur l’un de ces sous-jeux de données puis sur [Sélectionner] pour choisir la table. Une nouvelle liste affiche maintenant les noms des colonnes GeoRaster dans cette table, il s’agit généralement d’une courte liste car la plupart des utilisateurs n’ont pas plus d’une ou deux colonnes GeoRaster dans une même table.

Cliquez sur l’une des sous-jeux puis sur [Sélectionner] pour choisir une combinaison d’une table et d’une colonne La fenêtre montrera alors toutes les lignes contenant un objet GeoRaster Vous remarquerez que la liste affichera la table de données raster et les identifiants Raster.

A tout moment la sélection peut être éditée manuellement pour pointer directement le GeoRaster voulu ou retourner au début pour prendre une autre table.

Figure Oracle Raster 2:

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

Sélectionner la boîte de dialogue GeoRaster d’Oracle

L’entrée de sélection de données peut également être utilisée pour définir une clause WHERE à la fin de la chaîne d’identification (par exemple geor:scott/tiger@orcl,gdal_import,raster,geoid=). Voir la page http://www.gdal.org/frmt_georaster.html pour plus d’information.

Afficher un GeoRaster

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

La fenêtre de Sélection de GeoRaster Oracle Spatial peut maintenant être fermée, la connexion sera conservée pour une prochaine ouverture, la même liste de sous-jeux de données sera ainsi disponible, ce qui facilitera l’affichage de nouvelles images dans le même contexte.

Note

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

L’exemple suivant utilise gdaladdo:

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

Cet exemple utilise 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;