En las bases de datos de Oracle, los datos raster se pueden almacenar como objetos SDO_GEORASTER disponibles con la extensión de Oracle Spatial. En QGIS, el complemento GeoRaster espacial de Oracle Spatial es admitido por GDAL y depende de que tenga instalado y funcionando en su equipo el producto de bases de datos de Oracle. Aunque Oracle es software propietario, proporciona de forma gratuita su software con fines de desarrollo y prueba. Aquí hay un ejemplo de cómo cargar imágenes raster a GeoRaster:
$ gdal_translate -of georaster input_file.tif geor:scott/tiger@orcl
Esto cargará el raster en la tabla predeterminada GDAL_IMPORT, como una columna llamada “RASTER”
En primer lugar, se debe habilitar el complemento GeoRaster de Oracle, usando el Administrador de complementos (vea El diálogo de complementos). La primera vez que cargue un GeoRaster en QGIS, debe crear una conexión a la base de datos de Oracle que contenga los datos. Para hacer esto, inicie haciendo clic en el botón de la barra de herramientas Añadir capa GeoRaster de Oracle –esto abrirá la ventana de diálogo Seleccionar GeoRaster espacial de Oracle. Haga clic en [Nuevo] para abrir la ventana de dialogo y especificar los parámetros de conexión (vea Figure_oracle_raster_1):
Nombre: Introduzca un nombre para al conexión a la base de datos.
Instancia de la base de datos: Introduzca el nombre de la base de datos a la que desea conectarse.
Nombre de usuario: Especificar su nombre de usuario que usará para acceder a la base de datos.
Contraseña: Proporcionar la contraseña asociada con su usuario que es requerida para el acceso a la base de datos.
Figure Oracle Raster 1:
Ahora, de vuelta en la ventana principal de GeoRaster espacial de Oracle (vea la Figure_oracle_raster_2), utilice la lista desplegable para elegir una conexión y utilice el botón [Conectar] para establecer la conexión. También puede [Editar] la conexión abriendo el dialogo previo y haciendo cambios en la información de la conexión, o usar el botón [Borrar] para eliminar la conexión desde la lista desplegable.
Una vez que la conexión se ha establecido, la ventana de subconjuntos de datos mostrará los nombres de todas las tablas que contengan columnas GeoRaster en esa base de datos en el formato de un nombre del subconjunto de datos GDAL.
Haga clic en uno de los subconjuntos de datos listados y después haga en [Seleccionar] para elegir el nombre de la tabla. Ahora se mostrará otra lista de subconjuntos de datos con los nombres de las columnas del GeoRaster en la tabla. Normalmente es una lista corta, ya que la mayoría de los usuarios no tendrán mas de una o dos columnas de GeoRaster en la misma tabla.
Clic sobre uno de los subconjuntos de datos en listados y después sobre [Seleccionar] para elegir una de las combinaciones tabla/columna. El dialogo mostrará ahora todos los registros que contengan objetos GeoRaster. Note que la lista de subconjunto de datos mostrará ahora las parejas de tablas de datos raster e Id de raster.
En cualquier momento, la entrada seleccionada se puede ser editar para ir directamente a un GeoRaster conocido o para regresar al inicio y seleccionar otro nombre de tabla.
Figure Oracle Raster 2:
La entrada de datos seleccionados también puede usarse para introducir una cláusula WHERE al final de la cadena de identificación (ej. geor:scott/tiger@orcl,gdal_import,raster,geoid=). Vea http://www.gdal.org/frmt_georaster.html para mayor información.
Finalmente, al seleccionar un GeoRaster de la lista de tablas de datos raster e Ids ráster, la imagen ráster se cargará en QGIS.
El dialogo Seleccionar GeoRaster espacial de Oracle puede cerrarse ahora y la siguiente ocasión en que se abra mantendrá la misma conexión y mostrará la misma lista previa de subconjuntos de datos, haciendo muy fácil abrir otra imagen del mismo contexto.
Nota
Los GeoRaster que contienen pirámides se mostrarán mucho más rápido, pero las pirámides se deben generar fuera de QGIS usando PL/SQL o gdaladdo.
Lo siguiente es un ejemplo usando gdaladdo:
gdaladdo georaster:scott/tiger@orcl,georaster\_table,georaster,georid=6 -r
nearest 2 4 6 8 16 32
Este es un ejemplo usando 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;