Extension GeoRaster Oracle

Dans les bases de données Oracle, les informations rasters sont stockées au sein d’objets SDO_GEORASTER disponibles avec l’extension Oracle Spatial. Dans QGIS, le support de l’oracle_raster Extension GeoRaster Oracle est apporté par GDAL et nécessite l’installation et l’utilisation des produits Oracle sur votre machine. Bien que ces produits soient propriétaires, Oracle les fournit gratuitement dans un but de test ou de développement. Voici un exemple assez simple quant au chargement d’images rasters en GeoRaster :

$ gdal_translate -of georaster input_file.tif geor:scott/[email protected]

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

Gérer les connexions

Tout d’abord, l’extension GeoRaster doit être activé dans le gestionnaire d’extension (voir setion Activer une extension principale). Au premier chargement d’un GeoRaster dans QGIS, vous devrez instaurer une connexion vers la base de données Oracle contenant la donnée voulue. Pour ce faire commencez par cliquer sur le bouton oracle_raster Sélection d’un GeoRaster situé dans la barre d’outils, cela ouvrira la fenêtre de sélection Oracle Spatial GeoRaster. Cliquez sur [Nouveau] puis spécifiez les paramètres de connexion (voir figure Figure_oracle_raster_1):

  • Nom : Entrez un nom pour la connexion

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

  • Nom d’utilisateur : Spécifier votre nom utilisateur nécessaire pour accéder à la base de données

  • Mot de passe : Le mot de passe associé à votre compte utilisateur

Figure Oracle Raster 1:

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

Create Oracle connection dialog

Dans la fenêtre principale GeoRaster Oracle Spatial, utilisez la boîte déroulante pour choisir une connection, et cliquez sur [Connecter] pour accéder à la base de données. Vous pouvez également éditer les paramètres de la connection en cliquant sur [Editer], ou supprimer la connection en choisissant [Supprimer].

Sélection d’un GeoRaster

Une fois que la connexion a été établie, la zone de sous-jeux de données affichera toutes les tables contenant une colonne GeoRaster dans un format compatible avec GDAL.

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

Select Oracle GeoRaster dialog

La zone de saisie de sélection peut servir à utilier une clause Where à la fin de la chaîne d’identification, p. ex. geor:scott/tiger@orcl,gdal_import,raster,geoid=. Voir http://www.gdal.org/frmt_georaster.html pour plus d’informations.

Afficher un GeoRaster

En sélectionnant un GeoRaster depuis la liste, cette image sera chargée dans QGIS.

La fenêtre de Sélection de GeoRaster Oracle Spatial peut maintenant être fermée, la connnexion 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

Les GeoRasters qui contiennent des tuiles/pyramides s’afficheront plus rapidement mais elles devront être générées hors de QGIS en utilisant Oracle PL/SQL ou gdaladdo.

L’exemple suivant utilise gdaladdo:

gdaladdo georaster:scott/[email protected],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;