Complemento GeoRaster Espacial Oracle

In Oracle databases, raster data can be stored in SDO_GEORASTER objects available with the Oracle Spatial extension. In QGIS, the oracleRaster 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.

Gerenciando conexões

Firstly, the Oracle GeoRaster Plugin must be enabled using the Plugin Manager (see Diálogo de Complementos). 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 oracleRaster 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):

  • Nome: Entre um nome para a conectar a base de dados.

  • Instância base de dados: Entre o nome da base de dados que você irá conectar.

  • Nome do usuário: Especifique o seu próprio nome de usuário que você usará para acessar o banco de dados.

  • Senha: Fornecer a senha associada ao seu nome de usuário que é necessário para acessar o banco de dados.

Figure Oracle Raster 1:

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

Janela de Criação de Conexão Oracle

Agora, volte à janela principal Oracle Spatial GeoRaster (veja Figure_oracle_raster_2), use a lista drop-down para escolher uma conexão, e use o botão [Ligar] para estabelecer a conexão. Pode também [Editar] a conexão, abrindo a janela anterior e efetuar alterações na informação da ligação, ou usar o botão [Apagar] para remover a conexão da lista drop-down.

Selecionando um GeoRaster

Uma vez que uma conexão foi estabelecida, a janela subconjuntos vai mostrar os nomes de todas as tabelas que contêm colunas GeoRaster nesse banco de dados no formato de um nome de subconjunto GDAL.

Clique num dos subconjuntos de dados listados em seguida clique em [Selecionar] 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 usuários não irá ter mais de uma ou duas colunas GeoRaster na mesma tabela.

Clique em algum da lista e subconjuntos e depois clique em [Selecione] para escolher uma combinação de tabela/coluna. A caixa de diálogo irá agora mostrar todas as linhas que contêm objetos GeoRaster. Note que a lista subconjuntos irá agora mostrar a Tabela de Dados Raster e pares Id Raster.

A qualquer momento, a entrada de seleção podem ser editadas, a fim de ir diretamente para um GeoRaster conhecido ou para voltar ao início e selecionar um outro nome da tabela.

Figure Oracle Raster 2:

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

Janela de Seleção Oracle GeoRaster

A entrada dos dados de seleção também pode ser usado para inserir uma cláusula ONDE no final da sequência de identificação (ex.: geor:scott/tiger@orcl,gdal_import,raster,geoid=). Ver http://www.gdal.org/frmt_georaster.html para mais informações.

Exibindo o GeoRaster

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 Selecionar Oracle Spatial GeoRaster pode ser fechada agora e da próxima vez que se abrir, ela irá manter a mesma conexão e irá mostrar a mesma lista de subconjuntos anterior, tornando-o muito fácil de abrir uma outra imagem do mesmo contexto.

Nota

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

A seguir está 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;