Valor de pixel e interação entre vetor e imagens de - DSR

Propaganda
Anais XV Simpósio Brasileiro de Sensoriamento Remoto - SBSR, Curitiba, PR, Brasil, 30 de abril a 05 de maio de 2011, INPE p.4368
Valor de pixel e interação entre vetor e imagens de satélite através da internet.
Kleber Renato da Paixão Ataíde1,2
Gustavo Macedo de Mello Baptista1
1
Universidade de Brasília – UnB
[email protected]
2
Instituto Nacional de Meteorologia - INMET
Eixo Monumental, Via S1, Sudoeste – Brasília – DF, Brasil
[email protected]
Abstract. This work present some features of the database open source to assist the meteorology and
environmental analyses service using resources existing in the DBMS PostgreSQL and yours spatial extensions
PostGIS and WKT Raster to storage and query of meteorological and environmental data, resulting in
applications that interact raster data (satellite images) and vector data (thematic maps) by structured query
language SQL, where one of the main functionality of the final product is to can make query, trough web
interface, of the real data contents in each pixel from satellite image into database and relations of intersects,
over layer, contains, proximity.
Palavras-chave: Valor de pixel, Geoprocessamento, Imagens de Satélite, PostGIS, WKT Raster .
1. Introdução
Os dados ambientais e meteorológicos são aplicados em diversas áreas de interesse da
sociedade. Estes dados apresentam tipos, freqüência, origens diferentes e geralmente não se
encontram centralizados em uma única fonte. (KOZIEVITCH, 2005). Existem diversos
algoritmos que relacionam dados vetoriais e dados em formato matricial que geram como
produto final informações sobre temperatura de superfície, índice de vegetação, uso de
cobertura do solo, evapotranspiração de cultura, saldo de radiação, até produção agrícola e
trajetória de tempestades. Porém sempre há a necessidade de se ter todos os dados na máquina
do usuário para que seja feita a modelagem e a obtenção do resultado. Logo, torna-se
interessante que se possa obter essas informações para um local específico e de interesse do
usuário final através de um ambiente de internet, onde o usuário apenas marque seu local de
interesse e obtenha a informação desejada.
Diante desse contexto, existe a necessidade de armazenar o conjunto dos diferentes tipos
de dados geoespaciais tais como dados pontuais das estações meteorológicas, dados
poligonais como mapas de regiões, estados, municípios, bacias hidrográficas, áreas de plantio
e dados em formato matricial como as imagens de satélite em um banco de dados que
possibilite a interação entre esses diversos tipos de dados com auxilio das extensões espaciais.
O presente trabalho tem por objetivo apresentar algumas aplicações em desenvolvimento
usando algumas funções e características da extensão espacial PostGIS/WKT Raster do
SGBD objeto-relacional PostgreSQL, como alternativa open source para armazenamento e
consulta de dados espaciais que são utilizados na meteorologia e estudos ambientais.
2. Metodologia de Trabalho
O PostgreSQL é um sistema gerenciador de banco de dados objeto-relacional código
aberto e de grande porte que oferece suporte a dados espaciais por meio de sua extensão
PostGIS para vetores e WKT Raster para dados matriciais, como as imagens de satélite,
segundo as especificações do OpenGis (Simple Features Specification for SQL)(PostGIS,
2009). Permitindo uso de linguagem SQL, procedures, funções e consultas complexas entre
tabelas e outras características, tornando possível o relacionamento entre tabelas com dados
espaciais como vetores e matrizes.
4368
Anais XV Simpósio Brasileiro de Sensoriamento Remoto - SBSR, Curitiba, PR, Brasil, 30 de abril a 05 de maio de 2011, INPE p.4369
Para instalação do WKT Raster é necessário anteriormente ter instalado o PostgreSQL e a
estensão espacial PostGIS.
2.1 Instalação do PostgreSQL
O pacote de instalação do PostgreSQL está disponível em várias fontes de formatos
binários. O pacote completo inclui:
• Servidor central com documentação completa (HTML, man)
• Várias ferramentas para linha de comando (por exemplo, o psql, pg_ctl, pg_dump,
pg_restore)
• Biblioteca C (libpq) e o processador incorporado C (ecpg)
• Várias linguagens procedurais server-side (por exemplo, plpgsql, pltcl, plperl)
• Vários pacotes add-on populares (por exemplo, metaphone, pgcrypto e outros
acessórios úteis)
Além disso, alguns instaladores que incluem pacotes adicionais, como pgAdmin e
PostGIS.
Os pacotes binários estão disponíveis para um número de diferentes sistemas
operacionais, como FreeBSD, Linux, Mac OS X, Solaris e Windows encontrados no site
http://www.postgresql.org/download/
2.2 Instalação do PostGIS
A instalação do PostGIS pode ser efetuada logo após a instalação do PostgreSQL através
do seu programa instalador automático, ou pode também ser carregado do site
http://postgis.refractions.net/download/ , no qual existem diversas versões para download
inclusive o pacote binário do WKTRaster.
2.3 Instalação do WKT Raster
O WKT Raster pode ser carregado do site citado anteriormente ou se for para Windows
pode
ser
conseguido
no
seguinte
endereço:
http://www.postgis.org/download/windows/experimental.php.
Os requerimentos para sua instalação são:
• PostgreSQL versão 8.4 ou superior http://www.postgresql.org/download/;
• PostGIS versão 1.5 ou superior http://postgis.refractions.net/download/;
• Biblioteca Proj4 versão 4.4 ou superior http://trac.osgeo.org/proj/;
• Biblioteca GEOS versão 3.2.0 ou superior http://trac.osgeo.org/geos/;
• Onde o GEOS 3.2.0 e o PROJ4.6.1 são instalados juntamente com o PostGIS
1.5.1.faltando apenas o Python e o GDAL para o Python.
• Extensão
WKTRaster
PostGIS
versão
0.1.6SVN
ou
superior
http://postgis.refractions.net/download/windows/experimental.php;
• Python (http://www.python.org/download/)versão 2.5 ou superior e GDAL para
Python(http://pypi.python.org/pypi/GDAL/)
versão
1.6.0
(http://download.osgeo.org/gdal/win32/1.6/) ou superior para o carregador
(gdal2wktraster.py);
• Instalar o NumPy baixado de http://sourceforge.net/projects/numpy/files/NumPy/;
• Para usar o gdal2wktraster.py, é necessário o Python 2.5 e vínculos com GDAL
que pode ser baixado em http://pypi.python.org/pypi/GDAL/1.6.1 e executar o
programa GDAL-1.6.1.win32-py2.5.exe.
O PostGIS foi desenvolvido pela Refractions Research, como um projeto em tecnologia
de banco de dados espaciais de código aberto e liberado sob a licença GNU General Public
4369
Anais XV Simpósio Brasileiro de Sensoriamento Remoto - SBSR, Curitiba, PR, Brasil, 30 de abril a 05 de maio de 2011, INPE p.4370
License e continua em desenvolvimento onde tem sido acrescentado de ferramentas de
interface para usuário, suporte a topologia básica, validação de dados, transformação de
coordenadas, APIs de programação entre outros, onde também há suporte à topologia
completa, suporte de varredura, redes e roteamento, superfície tridimensional, curvas, splines
e outras características, (PostGIS Manual, 2009).
O WKTRaster implementa um tipo RASTER como o tipo GEOMETRY implementado
no PostGIS e oferece um conjunto de funções SQL (como intersects) que operam de forma
integrada em vetores e raster, pois é uma extensão do PostGIS instalada separadamente em
versões superiores a 1.3.5 e tão simples quanto, onde RASTER é um novo tipo de coluna,
assim como o tipo geometria do PostGIS, para uma camada de raster, do mesmo modo como
uma camada de vetor no PostGIS, uma linha da tabela com uma coluna do tipo raster
contendo um tile assim como uma linha de características do vetor no PostGIS, (OBE et al,
2009).
Os vetores de municípios, regiões, bacias hidrográficas, etc. e as imagens são inseridas
nesse banco de dados com suas características originais para consulta, mantendo a resolução
espacial, valores dos pixels de cada banda, quantidade de bandas múltiplas, resolução de até
16 bits, informações geográficas, atribuição de valores nulos para pixels indesejados entre
outras permitindo interagir valores de pixel da imagem com determinada área de interesse do
usuário inserida em formato de vetor nesse banco de dados, além de suas operações
matemáticas.
Cada tile raster tem especificações de tamanho do pixel, largura e altura,
georreferenciamento, número de bandas, tipo de pixel por banda e valor de pixeis nodata por
banda, quais são essenciais para realizar operações básicas de GIS raster.
Para inserir uma imagem nesse banco de dados é utilizado um programa em python, que é
semelhante ao shp2pgsql.exe chamado gdal2wktraster.py. Possibilitando a conversão de raster
para geometria, introduz raster como construtor de geometria, onde não há necessidade de se
preocupar se está trabalhando com raster ou vetor em funções de análise, operações
geométricas, armazenamento de raster dentro do banco de dados como WKB, para operações
de análise eficiente entre camadas vetor e raster, ou fora do banco de dados, para desktop e
aplicações web que podem ser acessados rapidamente e carregar tiles, beneficiando os índices
espaciais GIST do PostGIS.
Cada função SQL WKT Raster permite que um raster dentro do banco de dados trabalhe
perfeitamente com raster armazenado fora do banco de dados. Introduz o conceito de objetos
raster com características geográficas armazenadas com tiles de tamanhos variados ao invés
de polígonos e conversão de vetor para raster sem perda de informação. O WKT Raster é
muito mais simples que PGRaster e Oracle GeoRaster, pois suporta apenas um tipo, onde não
existe diferença entre raster e tiles, um tile é um raster e vice-versa, por exemplo, uma linha é
um tile que por sua vez é um raster; uma tabela é uma camada raster; sem metadados; sem
máscara, sem múltiplas dimensões, apenas x e y, mas sem confundir com bandas, pois o
WKT Raster suporta multibandas raster sem pirâmide (OBE et al, 2009)..
Conforme Casanova et al.(2005), os tipos de dados geográficos do PostGIS são
textuais no formato WKT (Well-Know Text):
• Point: (0 0 0), LineString: (0 0, 1 1, 2 2);
• Polygon: ((0 0 0, 4 0 0, 4 4 0, 0 4 0, 0 0 0), (1 0 0, ...), ...)
• MultPoint: (0 0 0, 4 4 0)
• MultLineString: ((0 0 0, 1 1 0, 2 2 0), (4 4 0, 5 5 0, 6 6 0))
• MultiPolygon: (((0 0 0, 4 0 0, 4 4 0, 0 4 0, 0 0 0), (...),...), ...)
• GeometryCollection: (POINT(2 2 0), LINESTRING((4 4 0, 9 9 0))
4370
Anais XV Simpósio Brasileiro de Sensoriamento Remoto - SBSR, Curitiba, PR, Brasil, 30 de abril a 05 de maio de 2011, INPE p.4371
3. Resultados e Discussão
A seguir são apresentados alguns exemplos que simulam os resultados apresentados
a partir de consultas que interagem informações em formato raster, como imagens de satélite
ou dados interpolados e vetores, como municípios, áreas de interesse mapeadas, bacias
hidrográficas entre outros.
A Figura 1 apresenta operação Vetor / Vetor com resultado como uma camada vetor;
Figura 1 – Um buffer circular(a)vetorial que intersecta com dois tipos de vegetação vetoriais (tipo 1 e tipo 2)
com resultado em vetor.
A Figura 2 apresenta operação Vetor / Raster com resultado como uma camada
raster;
Figura 2 – Um buffer circular(a) vetorial que intersecta com dois tipos de vegetação raster (tipo 1 e tipo 2) com
resultado em raster.
4371
Anais XV Simpósio Brasileiro de Sensoriamento Remoto - SBSR, Curitiba, PR, Brasil, 30 de abril a 05 de maio de 2011, INPE p.4372
A Figura 3 apresenta operação Vetor / Raster com resultado como uma camada vetor
Figura 3 – Um buffer circular(a) vetorial que intersecta com dois tipos de vegetação raster (tipo 1 e tipo 2) com
resultado em vetor.
A Figura 4 apresenta operação Raster/ Raster com resultado como uma camada raster
Figura 4 – Um buffer circular(a) raster que intersecta com dois tipos de vegetação raster (tipo 1 e tipo 2) com
resultado em raster.
Diante disso, o objetivo final do trabalho na forma mais completa consiste de um
Sistema de Informações Geográficas via WEB que permite ao usuário consultar remotamente
os valores dos pixels de uma imagem de satélite inserida no banco de dados para uma
determinada área de interesse do usuário final sem a necessidade de fazer download da
imagem para sua máquina.
Esse sistema possibilitará, por exemplo, escolher o tipo de informação que deseja a
partir de determinada área, por exemplo, o índice de vegetação, temperatura da superfície do
continente, do oceano ou do topo das nuvens, albedo, tipo de nebulosidade entre outros que
sejam inseridos no banco de dados ou que possam ser gerados a partir das imagens brutas
consultadas através de cada algoritmo específico.
O tipo de consulta pode ser por demanda do usuário ou até mesmo haver campos
para inserção de fórmulas matemáticas que o próprio usuário manuseie obedecendo a uma
lista de comandos que o sistema entenda e que ficarão disponibilizados na página web. Um
exemplo da interface é apresentado na Figura 5.
4372
Anais XV Simpósio Brasileiro de Sensoriamento Remoto - SBSR, Curitiba, PR, Brasil, 30 de abril a 05 de maio de 2011, INPE p.4373
Figura 5 – Exemplo do ambiente de consulta do valor do pixel da imagem apenas com o clique do mouse na
coordenada geográfica via interface web.
4. Conclusões
Diante desse contexto, observam-se as diversas funcionalidades e aplicações que podem
surgir com uso do PostgreSQL e suas extensões espaciais para dados meteorológicos e
ambientais principalmente com o surgimento do WKT Raster, o qual apresenta-se como uma
ferramenta avançada para consultas e armazenamento de imagens de satélite, possibilitando
resolver algumas questões de níveis micrometeorológicos, agrometeorológicos, estudos
ambientais entre outros, além de permitir o usuário consultar valores reais de dados contidos
na imagem do satélite sem a necessidade de fazer o download da imagem para ter acesso a
essa informação, além de permitir fazer consultas que interagem informações em formato
vetor e matricial.
5. Referências Bibliográficas
Kozievitch, N. P. Dados meteorológicos: um estudo de viabilidade utilizando um SGBD em plataforma de baixo
custo, dissertação de mestrado, Curitiba-PR, 2005, p.70.
Obe, Regina. O.; Hsu, Leo. S. PostGIS in Action: MEAP Edition Manning Early. Manning Publications Co.
Acces Program. p. 425, ISBN: 9781935182269, May. 2009. Disponível em: <www.manning.com>.
Acessado em: 10/01/2010.
Postgis manual. Disponível em <http://postgis.refractions.net/docs/postgis.pdf>.Acesso em: 10/10/2009.
The Mapserver Team. MapServer: MapServer documentation, Release 5.6.1, 2010, p. 714.
4373
Download