domingo, 12 de fevereiro de 2012

Como utilizar um array de valores do POSGRESQL

Encontrei o artigo "Faster array building with array_agg" que comenta como é possível ter um array de valores distintos juntamente com uma função de agregação no banco de dados.  Um exemplo disto é quando contamos todos os pontos que estão contidos em um polígono e queremos ter como resposta o identificador do pontos que foram selecionados ou utilizados.
Neste caso temos:

select count(*), array_agg(gid) as todos_ids from focos;

Outros exemplos podem ser vistos em:
http://www.postgisonline.org/

terça-feira, 5 de julho de 2011

Rampa de Cores

Para encontrar um bom exemplo de variação de cores e utilizar em seu mapa existem duas ferramentas que podem ajudar. A primeira é http://colorbrewer2.org/ que permite ver a paleta de cores aplicada sobre um conjunto de polígonos como na figura abaixo.
colorbrewer
Outra opção é oferecida por uma aplicação provida pela Adobe, chamada de Kuler, que apresenta diferenças da primeira opção, porém não é específica para mapas.

Uma metodologia para definição das legendas pode ser encontrada em https://www.andrewnoske.com/wiki/Code_-_heatmaps_and_color_gradients

Outra ferramenta para criar um range de cores muito interessante pode ser encontrada em
https://cssgradient.io/


sexta-feira, 11 de março de 2011

Reprojeção de imagens utilizando o GDAL

Depois de ler o post “Usando código EPSG com GDAL” escrito por Leonardo Santana, Fiz um teste em 23/10/2009 utilizando uma versão diferente do gdal_translate que exige apenas um parâmetro de especificação do srs.
Agora o comando é -a_srs e o que aconteceu foi apenas uma substituição dos parâmetros de projeção no arquivo de saída, infelizmente sem que ele fosse reprojetado.



Para reprojetar uma imagem o comando correto é:

gdalwarp -s_srs EPSG:32723 -t_srs EPSG:4291 -of GTiff "/fmorelli/nome_entrada.tif" "/fmorelli/nome_saida.tif"

Onde -s_srs = SRID de entrada; -t_srs = SRID de saída.

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