domingo, 20 de junho de 2010

Integração Quantum GIS + GRASS - Parte III

Trabalhando com Dados Vetoriais no GRASS

Terceira parte da jornada de tutoriais que tem por objetivo tirar  proveito da fantástica integração entre os aplicativos GRASS e Quantum GIS. Optei por publicar as dicas de hoje em vídeo para encurtar o post pois  a edição de feições no GRASS é uma tarefa muito simples de dominar.

Formato nativo de arquivos no GRASS

Embora o programa reconheça o formato ESRI Shapefile, o GRASS executa operações em geometrias de ponto, linha ou polígono através de um formato próprio de arquivo. Logo, todas as feições devem ser importadas para o GRASS. Essa mesma premissa vale para arquivos de imagem.

Importando uma Camada Vetorial para o GRASS

Após criar o Location e o Mapset, clique no botão Abrir Ferramentas GRASS:


Na guia Árvore de Módulos, categoria Vector, subcategoria Import Vector, temos dois algoritmos importantes:

v.in.ogr.qgis: Importa para o GRASS um vetor carregado no Quantum GIS.
v.in.ogr: Importa um vetor para o GRASS (diversos formatos).


Após selecionar o algoritmo de importação de sua preferência e localizar o vetor de origem, insira um nome para o arquivo que será importado e clique no botão Rodar. O botão Ver Saída permite adicionar automaticamente um vetor importado para o projeto do Quantum GIS.

Adicionando uma Camada Importada no GRASS

Além do botão Ver Saída, outra forma de adicionar um arquivo shapefile importado para o GRASS é clicando no botão Adicionar Camada Vetorial na barra de ferramentas do GRASS:


Em seguida selecione o Location e o Mapset onde estão armazenados os arquivos importados:


Ao clicar no botão OK, os arquivos do GRASS serão adicionados ao projeto do QGIS.

Quantum GIS + GRASS Plugin: Modo de Edição de Feições

Antes de iniciar o processo de edição de feições, certifique-se que a projeção e o datum do projeto estão ajustados corretamente. Antes de iniciar a edição do GRASS dentro do QGIS, é obrigatório criar um novo Location e um novo Mapset. Além de conhecer as ferramentas de edição do GRASS, foi criado um polígono sobre a imagem como demonstração.


Quantum GIS + GRASS Plugin: Geração de um Buffer

As ferramentas de edição do GRASS são muito intuitivas e dinâmicas. O usuário não vai apresentar dificuldade alguma durante a criação de camadas de ponto, linha ou polígono.

Esse vídeo de demonstração tem por objetivo a geração de um Buffer sobre um traçado. Para realizar essa tarefa corretamente, certifique-se que o projeto encontra-se no Sistema de Coordenadas Planas UTM para que o algortitmo reconheça a unidade dos dados em metros.

Após gerar o Buffer no GRASS, você pode dar saída no formato shapefile para edição posterior no Quantum GIS.


Quantum GIS + GRASS Plugin: Exportar Vetor para Shapefile

Após terminar a edição de feições no GRASS, você pode exportar as feições para o formato shapefile. A edição no Quantum GIS torna-se disponível somente após a exportação da feição do GRASS para o formato shapefile. O procedimento é bem simples: Basta executar as instruções desse vídeo.



Download dos Vídeos do Tutorial:

Quantum GIS + GRASS Plugin: Modo de Edição de Feições (2,5 MB)
Quantum GIS + GRASS Plugin: Geração de um Buffer (2,3 MB)
Quantum GIS + GRASS Plugin: Exportar Vetor para Shapefile (4 MB)

sábado, 19 de junho de 2010

Quantum GIS: Repósitório de Plugins PYQGIS


Descobri recentemente o site PYQGIS, um repositório contendo diversos plugins enviados por usuários.


Recomendável Quantum GIS versão 1.4.0. Testado nas versões Windows e Linux.

Instalação do Repositório no Quantum GIS

Com o QGIS aberto, clique no menu Plugins - Buscar Plugins Python:

Clique na guia Repositórios. Para adicionar um novo endereço, clique no botão Adicionar. Insira os dados abaixo:

----------------------------------
PYQGIS
http://pyqgis.org/repo/contributed
----------------------------------


Ao clicar na guia Plugins, novos plugins aguardam ansiosamente pela instalação:


Após marcar o plugin desejado, clique no menu Plugins - Gerenciar Plugins: 


Finalmente bastar marcar o plugin instalado recentemente para iniciar o uso:



Alguns plugins dependem de complementos e passam a funcionar após o reínício do programa. Esse repositório de plugins para o Quantum GIS é animal!

Integração Quantum GIS + GRASS - Parte II


Importando um arquivo raster para o Quantum GIS através do Plugin GRASS

1 - Crie um novo Location e um novo Mapset (tutorial nr 01);

2 - Clique no botão Abrir Ferramentas GRASS:

É preciso importar a imagem para o GRASS. Se a imagem for constituída por bandas separadas, é necessário importar cada banda para o GRASS. Sendo  uma composição RGB, o GRASS importa o arquivo, mas trata cada banda separadamente.

Clique na guia Árvore e acesse o menu File - Import - Import Raster - Import GDAL Supported Raster (r.in.gdal):


Selecione o local onde encontra-se a imagem e insira um nome para o arquivo. Clique no botão Rodar:


3 - Carregue a imagem importada clicando no botão Adiciona uma camada raster do GRASS:


Selecione o Location e o Mapset. Quando o GRASS importa uma camada raster RGB, ele faz separação de bandas. Carregue cada banda individualmente para o Quantum GIS:


As bandas red, green e blue foram carregadas com sucesso. Resultado:


Composição Colorida RGB no Quantum GIS através do Plugin GRASS

1 - Clique no botão Abrir Ferramentas GRASS:

2 - Na guia Árvore, clique no menu Raster - Manage Map Colors - R.Composite


3 - Selecione as respectivas bandas para a composição RGB e um nome de saída para o arquivo. Os campos centrais deixei como padrão.


O Quantum GIS agora possui uma imagem em composição RGB em seu projeto:


Exportando um arquivo raster RGB para formato Geotiff

1 - Clique no botão Abrir Ferramentas GRASS;

2 - Para exportar a imagem RGB, na guia Árvore, clique no menu File - Export;

3 - Para exportar a imagem RGB do GRASS para Geotiff há três opções:
  • r.out.gdal: Export Raster to varios formats (GDAL Library);
  • r.out.gdal.gtiff: Export Raster do GeoTiff;
  • r.out.tiff: Export raster to 8/24Bit Tiff.
Vou utilizar a 3ª opção para aproveitar o recurso da ferramenta que permite gerar um arquivo World File. Atenção: essa opção utiliza a mesma resolução da região de GRASS. Certifique-se de checar se a resolução da região corresponte ao tamanho do pixel da imagem de satélite (Landsat = 30m; IKONOS = 1m; SPOT = 2,5m; WorldView =0,5m, etc).

Na guia de exportação, selecione a imagem RGB, o local de saída e a opção para gerar um arquivo tfw:


Para ver o resultado, basta adicionar a imagem exportada ao Quantum GIS, pois não é necessário carregá-la novamente no GRASS. (Menu Camada - Adicionar Camada Raster).

Como o plugin RGB desenvolvido para o Quantum GIS apresenta algumas falhas, o método ideal para realizar uma composição RGB é utilizar os recursos do GRASS. Essa conexão com o GRASS realizar por meio de plugins é muito importante para conhecer as funções de "um dos mais antigos" SIG's do planeta.

sexta-feira, 18 de junho de 2010

Como gerar um contorno sobre um raster no ArcMap

A aplicação dessa dica contempla a criação de um contorno sobre grandes mosaicos de imagens de satélite.  Conforme aumenta a precisão desses produtos, o tamanho dos arquivos finais também aumenta. Vetorizar uma única imagem de satélite com pixels de valores de 0 a 255 é um verdadeiro pesadelo. Por isso perguntei a minha amiga Karen se ela conhecia alguma forma de transformar um raster com várias cores em apenas 0 e 255 (ou qualquer cor sólida). Ela me mostrou que é possível realizar essa tarefa no ArcMap através da classificação.

Normalmente uma imagem de satélite possui três bandas: Red, Green e Blue. Para classificar uma imagem no ArcMap com o propósito de reduzi-la a duas cores, recomendo trabalhar no modo tons de cinza, ou seja, extrair qualquer uma das bandas RGB e carregá-la no ArcMap. Qualquer software GIS hoje em dia é capaz de extrair uma das bandas e salvá-la como arquivo Geotiff ou ERDAS IMG. Nos testes que realizei, a vetorização sobre a banda vermelha classificada apresentou o melhor resultado durante a etapa de vetorização.

Vamos ao post. Carregue seu mosaico de imagens em tons de cinza no ArcMap:


Com o botão direito sobre a imagem, acesse suas propriedades. Vamos utilizar a classificação. Faça os ajustes de acordo com a imagem abaixo:
 
 
Repare que duas faixas de cores são exibidas no campo Symbol. Existe mais um campo que precisamos modificar. No campo Classification, clique no botão Classify para acessar uma segunda janela. Nessa janela existe um campo que controla com precisão o intervalo de cinza dos pixels. Quanto maior o valor da cor, mais pixels serão selecionados na vetorização. O valor a ser inserido nesse campo deve ser baixo. 

Analise o campo Symbol na janela anterior. Para a imagem de exemplo, foram especificados automaticamente dois intervalos: 0 a 55 e 55,0001 a 255. Vamos reduzir esse intervalo de acordo com a imagem. Os melhores intervalos que testei foram 9, 5 e 3. Para essa imagem, vou atribuir o valor 9. 
 
Clique no botão Classify novamente. O campo que deve carregar essa modificação é o campo Break Values na janela Classification (Veja a imagem abaixo):
A modificação foi atualizada no campo Symbol (clique para ampliar):
Clique no botão Aplicar. Repare que  a imagem mudou de tonalidade:


Vamos exportar essa imagem classificada. Clique com o botão direito sobre ela para acessar a opção Data - Export Data:

Na janela de exportação, marque a opção Use Renderer. Selecione o diretório de destino e clique no botão Save. Aguarde o término do processo.


Uma nova imagem binária será adicionada ao projeto do ArcMap. Para retornar o tom de cinza da imagem de origem, basta removê-la do projeto do ArcMap e adicioná-la novamente:
Para transformar um raster em polígono no ArcMap, acesse as ferramentas do ArcToolBox. Vetorizar essa imagem é mais fácil do que se imagina. Muito mais fácil com duas cores apenas!
 
Conversion Tools - From Raster - Raster to Polygon


O campo mais significativo é Simplify Polygons. Vou explicá-lo mais adiante.


O contorno automático sobre o objeto foi conclúido com sucesso:


Após vetorizar o contorno, é preciso entrar no modo de edição e excluir o vetor que contorna o background. Na tabela de atributos, o campo GRIDCODE controla os valores do pixel. selecione todos os campos com valor 0 para eliminar o vetor do background e selecione todos os valores 1 para formar o contorno. Com os valores de contorno selecionados, clique no menu Editor - Union ou Editor - Merge para unir ou mesclar as feições.

A opção Simplify Polygons indica a precisão que o vetor exerce sobre  os pixels da imagem. Veja os exemplos:

Opção Simplify Polygons habilitada. Resultado:


Opção Simplify Polygons desabilitada. Resultado:
 
 
Meus sinceros agradecimentos à Karen por salvar meu dia!

quinta-feira, 17 de junho de 2010

Integração Quantum GIS + GRASS - Parte I


O Quantum GIS e o GRASS são aplicativos que permitem integração através de plugins. Infelizmente esse recurso tem sido pouco difundido entre os usuários de software livre. São programas com grande potencial de processamento que podem trazer resultados muito positivos através dessa integração.

Daqui por diante vou produzir alguns tutoriais com o objetivo de facilitar o aprendizado acerca dessas ferramentas e ampliar o alcance dessa integração desenvolvida por meio de poderosos algoritmos Python.

Hoje (17/06/2010) o Quantum GIS está em sua versão 1.4 Encedalus e o GRASS mais atual está na versão 6.4. O primeiro passo é realizar o download dos aplicativos. Eu tenho publicado um material bem interessante que pode auxiliar nessa tarefa. Segue abaixo:


- Para instalar o Quantum GIS + Plugin GRASS no Windows, leia este post;
- Para instalar o Quantum GIS + Plugin GRASS no Linux [versões antigas], leia este post e a sua continuação.
- Para instalar o Quantum GIS + Plugin GRASS no Ubuntu 10.04 Lucid, leia esse post do blog Geoprocessamento para Linux.


Ao terminar de instalar tudo, não esqueça de ativar o plugin do GRASS para o Quantum GIS (saiba como clicando no tutorial para Windows postado no link acima).

Criando um novo Location do GRASS dentro do Quantum GIS

Essa é uma tarefa simples: para evitar dificuldades durante a definição do Retângulo Envolvente, siga os procedimentos abaixo:

1 - Carregue um vetor ou uma imagem do seu projeto no Quantum GIS  para servir como base (Menu Camada - Adicionar Camada Vetorial/Raster).

2 - Com a imagem ou vetor na tela, ajuste a projeção do projeto (Menu Configurações - Propriedades do Projeto). Não esqueça de habilitar a opção "on-the-fly" na guia Sistema de Referência SRC.

3 - Clique no botão "Novo Mapset" na barra de ferramentas do GRASS:


4 - O GRASS necessita de um local para armazenamento. Clique no botão Next:


5 - Crie um nome para novo Location no campo indicado na imagem abaixo:


6 - Agora é necessário especificar a projeção do projeto do GRASS:


7 - Os campos seguintes são utilizados para inserir os valores do Retângulo Envolvente. O botão "Definir Extensão Atual do QGIS" permite capturar esses valores automaticamente de acordo com a posição da base cartográfica adicionada anteriormente ao Quantum GIS (clique para ampliar):


8 - O próximo passo consiste na definição do novo Mapset:


9 - Abaixo segue um resumo sobre as configurações adotadas:


10 - Os novos Location e Mapset foram criados com sucesso!


11 - Um retângulo vermelho pode ser observado no centro do mapa. São os limites do Retângulo Envolvente conhecido no GRASS como Region. Essas informações podem ajustadas a qualquer instante (clique para ampliar):


Ao concluir esse primeiro passo, o Quantum GIS está apto para receber instruções e executar as funções do GRASS. Vamos publicar no blog alguns algoritmos do GRASS que são comuns nas tarefas diárias de Geoprocessamento. Saudações.

quarta-feira, 16 de junho de 2010

VirtualBox 3.2.4 para Usuários Linux


Falando ainda em máquina virtual, confesso que ultimamente tenho empregado todo o meu tempo livre na virtualização de Sistemas Operacionais apenas por curiosidade. Não abri um SIG sequer essa semana!


Clique na imagem abaixo para baixar o programa VirtualBox 3.2.4 para usuários Linux. Criei máquinas virtuais para Windows e Linux  com esse programa e funcionou perfeitamente.


terça-feira, 15 de junho de 2010

Virtualizando aplicativos GIS através do GISVM


Ultimamente o mercado tem comercializado computadores por meio de promoções tentadoras e atraem clientes de todos os lados. Uma pessoa, ao desembolsar uma quantia média de R$ 1.800,00 pode adquirir um computador portátil de fazer inveja a qualquer marmanjo. São máquinas com boa capacidade de processamento e armazenamento de dados. Isso tem encorajado a migração das pessoas para um novo micro ao invés de recorrerem à conhecida upgrade dos componentes internos.

Para os que trabalham com Geoprocessamento e GIS, é necessário equipar o hardware da máquina a cada dois anos no mínimo para tentar - com poucas chances - acompanhar o progresso dos aplicativos. É uma barra, devo admitir. Para citar um exemplo, lembro que estava encantado com a performance do ArcGIS 9.1 em 2007. Em 2010, lá vamos nós tentar avaliar a versão 9.4 do programa que foi rebatizada para ArcGIS 10. É praticamente uma versão do ArcGIS por ano! Nesse ritmo, vamos chegar ao fim sem ao menos ter a chance de descobrir onde tudo isso vai dar.

Há algum tempo atrás surgiu a proposta de virtualização de Sistemas Operacionais. Num primeiro momento esse recurso foi útil para os profissionais da área de desenvolvimento de software. Atualmente, é uma oportunidade de "imortalizar" programas e Sistemas Operacionais que podem reduzir o apetite voraz dos aplicativos que consumimos quase que literalmente.

Abaixo temos uma imagem do meu computador, um exemplo prático de virtualização de software: O S.O. Windows está sendo executado virtualmente dentro do Linux, conhecido como HOST (clique para ampliar):


É importante lembrar que, com o avanço tecnológico, temos condições de processar à exaustão informações em dois, quatro ou mais núcleos a preços modestos. Com poderosas máquinas, podemos rodar simultaneamente dois ou mais Sistemas Operacionais no mesmo computador e tirar proveito disso. Uma iniciativa que utiliza recursos de virtualização de software voltada para a área de Geoprocessamento é conhecida com GISVM.

GISVM é uma máquina virtual que permite executar um Sistema Operacional dentro do seu computador (Windows, Linux, MAC, etc) através do aplicativo VMWare Player. Esse sistema permite executar grande parte dos aplicativos GIS que são notícia na blogosfera (PostgreSQL, PostGIS, GeoServer, Mapserver, FWTools, QGIS, GRASS, gvSIG, uDIG, Kosmo, SAGA GIS e OpenJump). Um computador com 4 GB RAM pode ceder 1 GB de RAM para a máquina virtual e obter um rendimento muito bom, permitindo que os GB restantes sejam gerenciados pelo sistema nativo.

Para conhecer o projeto e obter gratuitamente o download do GISVM, acesse esse link.

  ©Template Blogger Elegance by Dicas Blogger.

TOPO