terça-feira, 15 de setembro de 2009

Como gerar um mosaico de tiles (recortes regulares) de imagens.

Para unir vários recortes de imagens em um único arquivo pode ser utilizado o comando:

python gdal_merge.py –o nome_saida.tif –of GTiff –co “TFW-YES” arquivos*.tif

Neste comando o parâmetro arquivos*.tif utiliza o caractere curinga (*) para pegar todas as partes dos arquivos de entrada.

quarta-feira, 1 de julho de 2009

Como empilhar diferentes bandas (“layer stack”) de uma mesma imagem orbital para compor uma imagem RGB?

Durante o processamento de dados derivados do imageamento orbital é possível que algumas pessoas tenham interesse em unir em um único arquivo, diferentes bandas ou canais espectrais de uma mesma cena.

Como por exemplo, quando se recebe os dados dos satélites CBERS e Landsat provenientes do Catálogo de Imagens da Divisão de Geração de Imagens – DGI do INPE. É comum o usuário receber os arquivos separados, sendo que para fazer a manipulação destes dados em um Sistema de Informações Geográficas é mais usual trabalhar com apenas um arquivo.

Este processo pode ser executado em diferentes softwares de processamento de imagem e certamente existe uma receita específica para cada um.

Com objetivo de descrever algumas funcionalidades da GDAL, que pretendo seguir fazendo neste blog, vou demonstrar como executar o processo “layer stacking” utilizando o gdal_merge.py.

O comando básico para este processo é:

python gdal_merge.py –o nome_saida.tif –of GTiff –co “TFW=YES” –separate b5.tif b4.tif b3.tif

onde:

python = comando para executar o interpretador que deve estar previamente instalado e devidamente configurado no seu computador.

gdal_merge.py = script desenvolvido na linguagem python, e que acompanha as instalações padrão da GDAL.

-o nome_saida.tif = parâmetro utilizado para definir o nome da imagem de saída.

-of GTiff = parâmetros utilizado para definir o formato da imagem de saída, neste caso um GeoTif. Outros formatos podem ser listados com o comando gdalinfo –-formats.

-co “TFW=YES” = parâmetro utilizado para que seja criado simultaneamente o TFW da imagem de saída.

-separate = parâmetro utilizado para empilhar as imagens de entrada no mesmo arquivo de saída.

b5.tif b4.tif b3.tif = são os nomes dos arquivos de entrada.

terça-feira, 23 de junho de 2009

Como criar World File.

Para quem está convertendo um arquivo matricial entre os formatos suportados pela biblioteca GDAL deve lembrar que utilizando o parâmetro –oc “WORLDFILE=YES” será criado um descritor de navegação na imagem de saída.

Exemplo:

gdal_translate -of JPEG -co "WORLDFILE=YES" mosaico2.tif mosaicos2.jpg

Neste caso a conversão de um GeoTiff para jpg vai criar o arquivo mosaicos2.wld mesmo não informado no help.

Outras informações podem ser lidas em:

segunda-feira, 22 de junho de 2009

World File Document

Trata -se de um arquivo texto ASCII plano, que pode ser criado com qualquer editor de textos, contendo 6 valores separados por novas linhas. Seu formato é:

tamanho do pixel em X
rotação no eixo Y (normalmente 0.0)
rotação no eixo X (normalmente 0.0)
tamanho do pixel em Y negativo
Coordenada X do centro do pixel do canto superior esquerdo
Coordenada Y do centro do pixel do canto superior esquerdo

Por exemplo:

60.0000000000
0.0000000000
0.0000000000
-60.0000000000
440750.0000000000
3751290.0000000000

Estes arquivos podem ser utilizados para definir as coordenadas em imagens de diferentes formatos, sendo que para cada formato a extensão do "World file" é diferente.

Alguns dos sufixos mais usuais são .wld, .tfw, tifw, .jgw e gfw.

Como informação adicionar, vale a pena consultar a ferramenta on-line
http://freegeographytools.com/2009/online-worldfile-calculator
https://giswiki.hsr.ch/WorldFileTool

sexta-feira, 3 de abril de 2009

Como recortar um poligono com uma linha?

Um membro da lista de discussões ArcGIS-Brasil@yahoogrupos.com.br apresentou a seguinte dúvida:
“ ... Pessoal tenho uma dúvida, eu tenho um arquivo shape no formato polígono e quero recorta-lo dentro de um limite, que no caso não é um polígono e sim uma linha de limite municípal, como faço par efetuar o recorte?”
Minha interpretação do problema e uma representação da solução é a seguinte:
Tenho aqui o polígono representado a área de uma órbita ponto específica do satélite landsat, neste caso a 224/74, que foi tomada aleatoriamente. Nota-se na figura 1 que existe um linha que representa parte de um perímetro municipal, e aqui não cabe a discussão quanto a modelagem dos dados, se esta certo ou errado representar limites municipais representados como linha.

Figura 1 – Dados de entrada. Na esquerda uma representação do polígono e da linha que será utilizada para recorte; na direita uma representação mostrando que a linha é parte de um outro polígono de limite político de um município brasileiro.
Voltando ao problema, ou na verdade, voltando à solução ... é possível efetuar o referido recorte utilizando a ferramenta “Split polygons with polylines” da extensão “ET GEO WIZARDS”, que pode ser encontrada em http://www.ian-ko.com/ e visualizada na Figura 2. E como o próprio nome já sugere, um tutor vai apresentando os passos e opções para que o usuário selecione as opções conforme seu interesse.
O resultado final neste caso é o recorte do polígono de entrada em 3 novas regiões conforme pode ser observado na figura 3.

Figura 2 – Representação da tela mostrando o local onde deve ser iniciado o processo de recorte com a extensão ET GEO WIZARDS.

Figura 3 – Resultado final, polígono recortado em 3 novas regiões.


Fabiano Morelli
quinta-feira, 19 de junho de 2008

quinta-feira, 2 de abril de 2009

Como separar um shapefile em vários arquivos?

É possível separar um shapefile em vários arquivos (shp) dseparados, utilizando como critério um atributo devidamente preenchido na tabela de atributos (DBF) do seu arquivo original. O produto vai ser um conjunto de diferentes shapefiles sendo um para cada distinta ocorrência do valor analisado na tabela.

Para exemplificar peguei o shapefile de Biomas Brasileiros disponível no site do IBGE, e conforme pode ser observado na Figura 1 meu dado de entrada possui 6 classes.



Utilizando a extensão “ET Geo Wizards” na aba “Geoproc” existe a opção “Split by Attributes” conforme pode ser observado na Figura 2.


O próximo passo é completar os parâmetros da nova janela que se abre depois que o usuário apertou o botão “GO” (Figura 3). Nesta janela devem ser informados:


1) Qual a layer que vai ser utilizada no processamento;

2) Prefixo é um campo para definir um texto do seu interesse que vai compor o nome do arquivos de saída, juntamente com o valor do campo na tabela que foi informado em “Fild Name”;

3) Por fim, deve ser informado um diretório de saída para criação dos vários arquivos.

Assim o resultado do processamento esta apresentado na figura 4.