Módulo Oracle GeoRaster

Nas bases de dados Oracle, os dados raster podem ser armazenados em objectos SDO_GEORASTER disponíveis com a extensão do Oracle Spatial. No QGIS, o oracle_raster :sup:`MóduloOracleGeoRaster`é suportado pelo GDAL, e depende de um produto Oracle de base de dados instalado e a trabalhar na sua máquina. Enquanto software proprietário a Oracle fornece o seu software gratuitamente para finalidades de desenvolvimento e testes. Aqui está um exemplo de como as imagens matriciais são carregadas para o 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.

Gerindo ligações

Primeiramente, o Módulo Oracle GeoRaster deve estar activado usando o Gestor de Módulos (veja Secção Carregando um Módulo do QGIS Core). A primeira vez que carrega um GeoRaster no QGIS, deve criar a ligação que à base de dados Oracle que contém os dados. Para fazer isso, comece por clicar no botão da barra de ferramentas oracle_raster Seleccionar GeoRaster, irá abrir a janela de diálogo Seleccionar Oracle Spatial GeoRaster. Clique em [Novo] para abrir a janela de diálogo, e especifique os parâmetros de ligação (Veja Figure_oracle_raster_1):

  • 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

Figure Oracle Raster 1:

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

Janela de Criação de Ligação Oracle

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

Seleccionando um GeoRaster

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.

Figure Oracle Raster 2:

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

Janela de Selecção Oracle GeoRaster

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.

Exibindo o GeoRaster

Finalmente, ao seleccionar um GeoRaster a partir da lista da tabela de dados matriciais e id’s, a imagem matricial será carregada no 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 que contêm pirâmides serão exibidas muito mais rapidamente mas as pirâmides necessitam de ser gerados fora do QGIS usando Oracle PL/SQL ou 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;