` `
In Oracle databases, raster data can be stored in SDO_GEORASTER objects available with the Oracle Spatial extension. In QGIS, the 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
Isto irá carregar o raster para a tabela padrão GDAL_IMPORT table, como coluna designada de RASTER.
Firstly, the Oracle GeoRaster Plugin must be enabled using the Plugin Manager (see The Plugins Dialog). 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 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_connection):
Nome: Introduza um nome para a ligação de base de dados.
Instância da Base de Dados: Introduza o nome das bases de dados que se irá ligar.
Nome de Utilizador: Especifique o seu nome de utilizador que irá usar para aceder à base de dados.
Palavra-chave: A palavra-chave associada ao seu nome de utilizador que é requerido ao acesso à base de dados.
Now, back on the main Oracle Spatial GeoRaster dialog window (see Figure_oracle_raster_selection), use the drop-down list to choose one connection, and use the [Connect] button to establish a connection. You may also [Edit] the connection by opening the previous dialog and making changes to the connection information, or use the [Delete] button to remove the connection from the drop-down list.
Uma vez a ligação estar estabelecida, a janela exibirá os nomes dos sub-conjunto de dados de todas as tabelas que contêm as colunas GeoRaster nessa base de dados no formato de um nome do subconjunto de dados GDAL.
Clique num dos subconjuntos de dados listados e de seguida clique em [Seleccionar] para escolher o nome da tabela. Agora, outra lista de subconjunto de dados irá mostrar os nomes das colunas GeoRaster nessa tabela. Geralmente costuma ser uma lista pequena, uma vez que a maioria dos utilizadores não irá ter mais de um ou duas colunas GeoRaster na mesma tabela.
Clique numa dos subconjuntos de dados listados e depois clique em [Seleccionar] para escolher uma das combinações tabela/coluna. A janela irá agora mostrar todas as linhas que contêm os objectos GeoRaster. Repare que essa lista de subconjuntos de dados irá agora aparecer em pares a Tabela de dados e Id’s do Raster.
A qualquer altura a entrada de Selecção pode ser editada de forma a ir directamente a um GeoRaster conhecido ou voltar para o princípio e seleccionar outro nome da tabela.
A entrada de Selecção de dados pode ser também usada para introduzir cláusulas WHERE no fim da string de identificação (ex.: geor:scott/tiger@orcl,gdal_import,raster,geoid=). Veja http://www.gdal.org/frmt_georaster.html para mais informação.
Finally, by selecting a GeoRaster from the list of Raster Data Tables and Raster Ids, the raster image will be loaded into QGIS.
A janela Seleccionar Oracle Spatial GeoRaster pode ser agora fechada e na próxima vez que abrir irá manter a mesma ligação, e irá mostrar previamente a mesma lista do subconjunto de dados tornando-se assim mais fácil abrir outra imagem do mesmo contexto.
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.
O seguinte é um exemplo usando gdaladdo:
$ gdaladdo georaster:scott/tiger@orcl,georaster\_table,georaster,georid=6 -r
nearest 2 4 6 8 16 32
Este é um exemplo 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;