sexta-feira, 13 de janeiro de 2012

WktRaster Plugin para Quantum GIS no GeoInfo

O GeoInfo é o Simpósio Brasileiro de GeoInformática, que ocorre anualmente. Nele foram apresentados diversos temas que abrangeram diversos tópicos desde bancos de dados espaço-temporais até classificação orientada a objeto. Uma característica interessante do simpósio é que os artigos apresentados ficam disponíveis na página do evento.

Este ano o WktRaster Plugin amadureceu bastante e o PostGIS 2.0 também. Portanto um dos artigos é uma apresentação rápida do plugin mostrando seus objetivos, o que desejamos que ele seja capaz de cumprir e o que ele já consegue proporcionar ao usuário.

Para aqueles que querem ver alguns exemplos de queries envolvendo imagens e vetores, deixo aqui disponibilizada a apresentação em PDF.

quarta-feira, 14 de dezembro de 2011

Dados de prescipitação TRMM em TIF usando GDAL

Os dados de prescipitação TRMM podem ser convertidos de hdf para tif utilizando o gdal_translate. Este processo facilita o uso em aplicativos de SIG.

Para isso podemos utilizar o "gdal_translate". Esta ferramenta vem disponível nos pacotes quem incluem a GDAL , como por exemplo,QuantumGIS, FWTools e OSGeo4W.

Apesar do QuantumGIS possuir uma interface gráfica para efetuar este processo, ela não permite que sejam definidos novas coordenadas de canto da imagem. Portanto, é necessária a utilização de linha de comando.

Em um terminal (ou OSGeo4W Shell no Windows) digite:

gdal_translate HDF4_SDS:UNKNOWN:NomeDoArquivo.hdf:0 saida.tif -a_ullr -180 50 180 -50 -a_srs EPSG:4326


Durante a conversão estamos definindo o sistema de coordenadas (WGS 84 Coordenadas geográficas) e a região ocupada pela imagem (-180 a 180 em longitude, -50 a 50 em latitude). Caso estes parâmetros não fossem passados, a ferramenta converteria apenas a matriz, sem georreferenciamento.


Para executar este comando em todos os arquivos de uma pasta (em lote) em sistemas operacionais Linux (com BASH) pode-se utilizar:



for f in *.hdf
do
gdal_translate HDF4_SDS:UNKNOWN:${f}:0 ${f}.tif \
-a_ullr -180 50 180 -50 -a_srs EPSG:4326
done

segunda-feira, 3 de outubro de 2011

Visualizar camadas do Postgis do TerraView em outros aplicativos

O TerraView 4 foi desenvolvido utilizando a TerraLib 4. Esta biblioteca tem uma organização de banco de dados pouco usual, pois separa as representações vetoriais de uma tabela das informações tabulares da mesma.

Apesar disso, o TerraView pode armazenar os dados geográficos utilizando os objetos nativos do PostGIS. Isto permite que os usuários vejam as geometrias em outros softwares, mas não dá acesso aos atributos.

Para visualizar todas as informações numa única tabela, pode-se fazer uso do conceito de "views" do PostgreSQL. Uma "view" é uma tabela dinâmica, produzida à partir de uma consulta. Neste caso, utilizaremos a "view" para juntar as tabelas de geometria e atributos.

Primeiramente, precisamos descobrir em que tabelas cada parte está armazenada. O TerraLib não dá nenhum nome intuitivo às tabelas de geometria, portanto seria difícil adivinhar qual é a tabela correta. Desta forma, pode-se utilizar o comando SQL a seguir para listar todos os relacionamentos entre geometrias e tabelas que o TerraView conhece.

select l.layer_id, l.name, r.geom_table, t.attr_table, t.attr_link  
from te_layer as l, te_representation as r, te_layer_table as t 
where (l.layer_id=t.layer_id) and (l.layer_id=r.layer_id)

A coluna "t.attr_link" é o nome da coluna da tabela de atributos que serve de ligação ao "object_id" da tabela de geometrias.

De posse do nome das duas tabelas onde estão nossos dados e das colunas que os ligam, pode-se criar a "view" que materializa a ligação:

CREATE VIEW pg_rio AS 
SELECT *  FROM polygons6 as g, rio< as t
WHERE t.object_id_6 = g.object_id;

Esta "view" já pode ser visualizada em aplicativos como GvSIG, QGIS e MapServer.

Como resultado secundário deste post, produzi um plugin simples para o Quantum GIS que permite carregar as camadas do TerraLib+PostGIS.

segunda-feira, 26 de setembro de 2011

C45IDL - classificador por árvores de decisão

Como trabalho da disciplina de Reconhecimento de Padrões e Aprendizado Computacional, implementei um classificador supervisionado que utiliza árvores de decisão binárias.

Disponibilizei o código-fonte e os executáveis no site do projeto C45IDL.

A linguagem escolhida foi IDL, que é uma linguagem proprietária. Todos os usuários do ENVI tem todos os requisitos para utilizar o programa. Para os usuários linux existe ainda a possibilidade de utilizá-lo com o GnuDataLanguage (implementação aberta do IDL).

O objetivo do programa é encontrar as melhores decisões para separar as classes que foram apresentadas para ele através de dados de treinamento. No site do projeto tem uma descrição breve de como utilizar o ENVI para produzir o arquivo de ROI no formato que o aplicativo lê. Basicamente deve-se exportar as ROI para ASCII, guardando no arquivo apenas o identificador das amostras e o valor das bandas.

A figura a seguir apresenta a interface do programa. Este algoritmo divide o conjunto de amostras em treinamento em validação. Portanto o "0.7" significa que 70% das amostras será utilizada como treinamento e 30% como validação.

Os parâmetros "Minimum samples per node" e "Maximum percentual error in a node" são critérios para para decidir quando a árvore deve parar de crescer. O "mínimo de amostras por nó" significa que quando o programa chegar a 25 amostras ele não tentará mais diferenciar as classes de treinamento. É um parâmetro necessário mas pouco eficiente.

Já a "proporção máxima de erro" pode ser utilizada para aceitar ruído nos dados de treinamento. Isso significa que ele considera o nó pronto quando chegar a menos de 1% de ruído. Em imagens menos ruidosas o usuário pode querer diminuir isso para 0% ou aumentar no caso de imagens mais ruidosas.

A figura a seguir apresenta o resultado de uma árvore construída com uma imagem Landsat com os parâmetros inalterados.
Caso o usuário forneça os dados de treinamento mas não os de validação, o programa irá apenas tentar gerar a árvore de decisão no formato que o ENVI lê. Caso seja passada também uma imagem a classificar, ele irá gerar uma imagem classificada como saída.

Como de costume, agradeço a todos que puderem testar e contribuir para o aperfeiçoamento do programa.

sexta-feira, 26 de agosto de 2011

Nova página do projeto QGIS WktRaster

O Quantum GIS agora tem um novo sistema de controle de defeitos nos plugins. Portanto, diversos plugins estão migrando para o novo site de forma a permitir aos usuários que reportem problemas e compartilhem experiência de uso.

O projeto WktRaster Plugin for Quantum GIS já está hospedado no endereço:
http://hub.qgis.org/projects/wktraster

Agradeço a todos que possam relatar possíveis problemas com o plugin. Software Livre cresce exatamente por esse relacionamento agradável entre usuários e desenvolvedores.

segunda-feira, 8 de agosto de 2011

Referências Bibliográficas perfeitas no OpenOffice e Word

Os usuários do Firefox podem contar com um grande auxílio na hora de buscar referências bibliográficas para suas pesquisas.

O plugin Zotero do Firefox permite que o usuário crie uma conta para armazenar suas referências no servidor do Zotero. Isso significa que em qualquer máquina que tenha o plugin instalado você terá acesso à todas as suas pastas com referências bibliográficas organizadas e formatadas.

Para a parte de pesquisa, o Zotero permite que durante a busca em sites como o Google Scholar sejam baixados os arquivos de referência no formato EndNote. Isso permite que durante a navegação o usuário armazene as referências diretamente dos sites de buscas. Além disso é mantigo o link para do artigo original, permitindo a sua leitura quando necessário.

Para a formatação no texto, o Zotero tem plugins para Microsoft Word e para o OpenOffice Writer. Ambos funcionam com a definição de estilos, que estão disponibilizados no próprio site do Zotero. Ficamos gratos aos desenvolvedores do estilo ABNT para o Zotero por facilitar muito nossas vidas.

Com isso o Zotero se mostra uma plataforma amigável para gestão de referências com software livre, tornando o OpenOffice um verdadeiro concorrente do Latex para produção científica.

Deixo publicado aqui também um modelo que deve atender aos padrões da Sociedade Brasileira de Computação.

segunda-feira, 1 de agosto de 2011

wktraster plugin for Quantum GIS 0.5

Tenho o prazer de comunicar que estou lançando a versão 0.5 do plugin wktraster.

Nesta versão os principais avanços foram:
- a possibilidade de carregar apenas uma linha da tabela (permitindo ler tabelas onde cada linha é uma imagem pertencente a um mosaico).
- Listagem melhorada de tabelas raster, permitindo carregar tabelas oriundas de processamentos.
- Carregamento de raster melhorado, permitindo cancelar durante o processo e mostrando as etapas da criação das overviews.
- Possibilidade de carregar os retângulos envolventes que compõe as matrizes da tabela.

Além disso a versão sofreu uma forte correção de bugs. Solicito a todos que encontrarem bugs que me enviem e-mail ou o reportem no site do projeto.

Carregamento de uma imagem com opções de overviews:


Lendo apenas uma linha da tabela

Lendo a representação vetorial da tabela