segunda-feira, junho 23

Usando código EPSG com GDAL

EPSG é uma codificação definida pelo European Petroleum Survey Group que associa uma codificação numérica a um sistema de coordenadas cartográficas. Por exemplo, EPSG:29193 corresponde a SAD69 / UTM zona 23 . Para se pesquisar os diversos códigos EPSG disponíveis e sua referência cartográfica, basta ir ao site Spatial References.

A biblioteca GDAL, que faz parte da ferramenta FWTools 2.1.0, permite a conversão de imagens para sistemas cartográficos diferentes utilizando-se os códigos EPSG.
These utilities allow the coordinate system (SRS = spatial reference system) to be assigned in a variety of formats.
  • EPSG:n: Coordinate systems (projected or geographic) can be selected based on their EPSG codes, for instance EPSG:27700 is the British National Grid. A list of EPSG coordinate systems can be found in the GDAL data files gcs.csv and pcs.csv. (GDAL Utilities)
O exemplo abaixo mostra como converter uma imagem em:
GEOGCS["SAD69",DATUM["D_South_American_1969",SPHEROID
["GRS_1967_SAD69",6378160,298.25]],
PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]]
Para:
PROJCS["SAD69 / UTM zone 24S",GEOGCS["SAD69",DATUM["D_South_American_1969",SPHEROID
["GRS_1967_SAD69",6378160,298.25]],PRIMEM["Greenwich",0],UNIT
["Degree",0.017453292519943295]],PROJECTION
["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],
PARAMETER["central_meridian",-39],PARAMETER
["scale_factor",0.9996],PARAMETER["false_easting",500000],
PARAMETER["false_northing",10000000],UNIT["Meter",1]]
gdal_translate -s_srs ESPG:4618 -t_srs EPSG:29194 gcs_sad.tif utm_sad.tif

Com esse comando é possível se efetuar a conversão de imagens para a projeção UTM e elipsóide SAD69 utilizando-se a biblioteca GDAL.

Marcadores: ,

domingo, dezembro 9

GDAL com suporte a BIGTIFF

O formato GeoTIFF representa o esforço de mais de 160 companhias e organizações do mercado de sensoriamento remoto, GIS, cartografia e levantamento de dados, em estabelecer um formato intercambiável para arquivos raster georreferenciados baseado no formato TIFF. Em função dessa característica, o formato GeoTIFF herda a limitação do formato TIFF em não produzir arquivos maiores que 4 Gigabytes.

Para contornar essa limitação, existe um novo formato disponível que permite que arquivos de até 1 terabytes sejam criados. Este formato é chamado de BigTIFF. Esse formato conta com o patrocínio de empresas de peso como WeoGeo, Safe, Leica e ESRI, e pode ser observado no comunicado de Frank Warmerdam que foi publicado na Slashgeo.
FrankW writes "As announced in this press release four industry sponsors (WeoGeo, Safe, Leica and ESRI) have gotten together to fund development of BigTIFF support in libtiff. This extension adds support for GeoTIFF files much larger than 4GB! With libtiff used by most open source and commercial applications there is reason to hope that BigTIFF support will be widespread in our industry within the next year or two (sooner for open source!)." BigTIFF was previously discussed.
Não sei desde quando isso aconteceu mas posso afirmar que a versão da biblioteca GDAL/OGR 1.4.4 de novembro de 2007, já apresenta o suporte ao formato BigTIFF para a geração de imagens GeoTIFF. Para quem deseja trabalhar com a ferramenta FWTools na sua versão 2.0.2, o suporte ao formato BigTIFF por meio da biblioteca GDAL/OGR já está disponível.

O exemplo hipotético abaixo mostra a conversão de uma imagem em formato ERDAS Image (.img) que possui mais de 4 Gigabytes para o formato GeoTIFF, utilizando-se o FWTools shell.
gdal_translate -of GTiff -co "TFW=YES" -co "BIGTIFF=YES" "c:/temp/image.img" "c:/temp/bigtiff.tif"
O comando -of define que o formato de saída será GeoTIFF, o comando -co "TFW=YES" força a criação de um arquivo ESRI world file (.tfw) para a imagem gerada, e, o comando -co "BIGTIFF=YES" permite a geração de um arquivo TIFF maior que 4 Gigabytes.

Marcadores: ,

terça-feira, julho 24

Tutorial: Baixando arquivos WFS - Parte II

Convertendo Arquivos

Após a conclusão da etapa anterior (baixar o arquivo gml através da ferramenta WGET), passa-se a contar com um arquivo que contém toda a geometria e tabela de atributos, relacionados com as unidades de conservação estaduais.

Para a visualização e uso destes dados dentro da estrutura do ArcGIS (sem a necessidade de se usar a extensão data interoperability), deve-se converter os dados em gml para shapefile.

Instalando FWTools

Após o download do arquivo executável no site http://fwtools.maptools.org/ deve-se efetuar a instalação. Serão instaladas duas funcionalidades, uma gráfica (OpenEV_FW) e uma para comando de texto (FWTools Shell).

Sintaxe de conversão no FWTools

O FWTools implementa as funcionalidades presentes nas bibliotecas gdal e ogr. Utilizou-se nesse tutorial o FWTools Shell para efetuar a conversão de gml para shapefile.

Para a conversão deve-se utilizar a seguinte sintaxe:
ogr2ogr -f "ESRI shapefile" <nome e endereço do arquivo shapefile que será criado> <endereço do arquivo gml >
O arquivo ucsei.gml foi salvado dentro da pasta c:\wfs, então, a sintaxe de conversão ficará da seguinte forma:
ogr2ogr -f "ESRI shapefile" c:\wfs\ucsei.shp c:\wfs\ucsei.gml
Como resultado tem-se os arquivos shapefile (shx, shp e dbf) que já estão aptos para serem visualizados no ambiente do ArcGIS.

Visualização

Os arquivos podem ser visualizados no ArcGIS conforme apresentado abaixo.

Foram convertidas para shapefile todas as entidades geométricas e suas respectivas tabelas de atributo.

Considerações

Vários órgãos estaduais e federais têm sistematicamente publicado dados na internet, sendo que, em alguns deles os dados encontram-se sob a forma de consultas WFS.

Este tutorial cobriu os principais passos para o download de arquivos do MMA e os conceitos aqui abordados podem ser usados para todos sites que implementem o protocolo WFS.

Marcadores: , , , , ,

sábado, junho 30

Tutorial: Baixando arquivos WFS - Parte I

Tutorial

O site do MMA (Ministério do Meio Ambiente) além de colocar a disposição dos usuários os serviços WMS (Web Map service), está também disponibilizando alguns serviços WFS (Web Feauture Service).

Este tutorial tem o objetivo de orientar o download de dados geográficos via WEB por meio do protocolo WFS. Este protocolo foi desenvolvido pelo consórcio Open Geospatial e serve para acesso a dados vetoriais pela internet.

Ferramentas

Neste tutorial serão baixadas as unidades de conservação disponíveis no site do MMA e convertidas para o formato shapefile da ESRI.

Para isso serão utilizadas as seguintes ferramentas:
  1. WGET para baixar os arquivos em formato GML;
  2. FWTools shell para acessar a biblioteca GDAL e converter os dados de gml para shapefile;
  3. ArcGIS para a visualização e consultas aos arquivos baixados.
Os aplicativos acima foram utilizados no sistema operacional Windows XP. Estes aplicativos encontram-se disponíveis nos seguintes endereços:
  1. WGET
  2. FWTOOLS
Deve-se criar uma pasta na partição (C: ou D:) chamada wfs (c:\wfs). Lá deverá estar presente o arquivo wget.exe.

Acessar o site do MMA

O MMA disponibilizou vários serviços WEB para dados geográficos. Dentre estes, se destacam a disponibilidade de dados sobre áreas de conservação ambiental e áreas indígenas.

Os dados podem ser acessados pelo seguinte endereço: Web service MMA

Após o acesso ao site, deve-se ir à barra de tarefas no lado esquerdo e selecionar escolher serviço.


A figura abaixo exemplifica os vários serviços disponibilizados pelo site do MMA.

Os dados que serão acessados por este tutorial correspondem ao serviço selecionado abaixo.

Quando se clica no link de unidade de conservação, o serviço apresenta uma listagem de todos os temas disponíveis. Estes temas encontram-se disponíveis no protocolo WMS e WFS. Abaixo observa-se os três primeiros temas listados:

Efetuar as chamadas WFS

Deve-se identificar o endereço http do serviço relacionado as áreas de conservação. Para isso, após a execução dos passos acima, retorna-se a chamada escolher serviço (barra de tarefas do lado esquerdo).

Como resultado, tem-se na tela o endereço http do serviço:

http://mapas.mma.gov.br/cgi-bin/mapserv?map=/opt/www/html/webservices/
ucs.map&


A especificação OpenGIS Web Feature Service (WFS) define um serviço para que clientes possam recuperar objetos (features ou vetores) espaciais em formato GML de servidores WFS. O serviço pode ser implementado pelo servidor em duas versões: básica, onde apenas operações de consulta ficam disponíveis, ou transacional, que implementa o serviço completo, que inclui operações de inserção, exclusão, atualização, consulta de objetos (features) geográficos.

As seguintes operações são definidas para o serviço:
  • getCapabilities: descreve as características do servidor;
  • describeFeatureType: descreve a estrutura dos tipos de objeto que podem ser servidos;
  • getFeature: retorna instâncias dos objetos disponíveis na base de dados. O cliente pode selecionar quais objetos deseja por critérios espaciais ou não;
  • transaction: utilizado para a execução de operações de modificação dos objetos (inserção, exclusão e atualização);
  • lockFeature: bloqueia uma ou mais instâncias durante uma transação.
Através da sintaxe getCapabilites obtém-se uma lista de todos os temas disponíveis no serviço. Dentro do internet explore pode-se conseguir esta listagem utilizando-se o seguinte comando:

http://mapas.mma.gov.br/cgi-bin/mapserv?map=/opt/www/html/webservices/
ucs.map&service=WFS&version=1.1.1&request=getcapabilities&


Abaixo é apresentado o resultado do comando, dando-se destaque ao corpo da mensagem que faz referência as feições disponíveis.

Como exemplificado acima, têm-se disponível as seguintes feições: 1) ucsef – unidades de conservação federais e estaduais (dados preliminares); 2) ucsfi - unidades de conservação federais de proteção integral (dados preliminares); 3) ucsfu - unidades de conservação federais de uso sustentável (dados preliminares); e 4) ucsei - unidades de conservação estaduais de proteção integral (dados preliminares).

Para acesso aos dados sobre a geometria e tabela de atributo das feições acima, deve-se executar o seguinte comando onde o arquivo wget.exe encontra-se. Dentro do prompt do DOS (INICIAR -> EXECUTAR -> CMD) deve-se ir até a pastas c:\WFS e executar o serguinte comando.
wget.exe -O ucsei.gml
“http://mapas.mma.gov.br/cgi-bin/mapserv?map=/opt/www/html/
webservices/ucs.map&service=WFS&version=1.1.1&
request=getfeature&typename=ucsei&”
O parâmetro -O grava o resultado da requisição como um arquivo gml, como no exemplo acima ucsei.gml.
-O, --output-document=FILE (write documents to a file)
Como resultado da chamada acima, tem-se disponível todos os dados referentes à feição ucsei (unidades de conservação estaduais de proteção integral (dados preliminares). A consulta gera como resultado um arquivo gml que é interpretado pelo Internet Explorer e é apresentado conforme exemplificado abaixo.

Marcadores: , , , , ,

sexta-feira, fevereiro 10

Manipulando imagens GeoCover com gdal – Parte IV

Produto

Como resultado foram gerados 5 arquivos compatíveis com a articulação 1:1.000.000 e que cobrem todo o estado da Bahia. Cada arquivo possuiu em média o tamanho de 1 Gbyte.

Usou-se o gdal para gerar arquivos comprimidos de em média 300 Mbytes. Para trabalhar com o mapserver e facilitar a visualização das imagens, alguns overviews foram criados. O processo de criação de overview, comando gdaladdo, grava no formato geotiff arquivos com diferentes resoluções que representam diferentes escalas de visualização.
gdal_translate -of GTiff -co "COMPRESS=JPEG" input.tif output.tif
gdaladdo imagem.tif 2 4 8 16 32
O formato geotiff permite que sejam criadas algumas opções extras, dentre elas, pode-se utilizar a compressão JPEG. Para definir as características da nova imagem geotiff é necessário usar o parâmetro -co seguido da definição que se deseja.

O overview adicionou a imagem comprimida mais cinco imagens com resoluções de: 57 m (2), 114 m (4), 228 m (8), 456 m (16) e 912 m (32). O mapserver entende essa estrutura e, a medida que uma requisição é feita por um cliente, a imagem de “melhor” resolução é usada.

Comentários

A biblioteca gdal e as aplicações gdalwarp, gdal_merge.py e gdaladdo, com suporte da biblioteca proj, mostraram que o seu uso representa uma excelente opção para se trabalhar com imagens em geoprocessamento.

Marcadores: , ,

quinta-feira, fevereiro 2

Manipulando imagens GeoCover com gdal – Parte III

Corte das imagens compatível ao padrão Ao Milionésimo

Antes da conversão para coordenadas geográficas, os valores das coordenadas do retângulo envolvente de cada folha 1:1.000.000 foram obtidos. Cada folha é composta por duas imagens Geocover, ou seja, a folha SD24 é composta por duas partes, uma parte da imagem S-24-10-2000-UTM.tif e outra parte da imagem S-24-15-2000-UTM.tif. Utilizou-se novamente o programa gdalwarp para converter os pedaços referentes à composição da folha SD24, do sistema de coordenadas UTM para o sistema geográfico e para cortar o limite da folha. As sintaxes abaixo correspondem a dois passos:

Passo 1 - Conversão para o sistema geográfico.
gdalwarp -t_srs "+proj=latlong +datum=WGS84" input.tif output.tif
Passo 2 - Corte da imagem que está inserida no retângulo envolvente.
gdalwarp -te Xmin Ymin Xmax Ymax input.tif output.tif
O passo 1 permitiu que as imagens S-24-10-2000-UTM.tif e S-24-15-2000-UTM.tif fossem convertidas para as coordenadas geográficas. As novas imagens foram nomeadas de acordo com a seguinte nomenclatura: S-24-10-2000-GEO.tif.

O passo 2 serviu para cortar as partes de cada imagem que compõem a folha. O parâmetro -te corresponde aos limites de cada imagem que estarão dentro do limite da folha SD24 (retângulo envolvente: Xmin = -42º, Ymin = -16º, Xmax = -36º e Ymax = -12º).

As funções acima foram aplicadas e geraram duas novas imagens. Estas devem ser somadas para compor uma única cena que represente a folha. Para que estas duas imagens seja moisaicadas utilizou-se o programa gdal_merge.py para executar esta tarefa.
gdal_merge.py -o output.tif -of GTiff -v input1.tif input2.tif
O parâmetro -o defina a imagem de saída que será gerada, -of define que o formato da imagem de saída será GTiff (geotiff), -v significa verbose e mostra o andamento do processamento de mosaicagem. As imagens que darão origem ao mosaico vêm no final.

No caso da folha SD24 os dois inputs, S-24-10-2000-GEO-S.tif e S-24-10-2000-GEO-I.tif, foram convertidos no arquivo SD24.tif. A imagem S-24-10-2000-GEO-S.tif corresponde ao pedaço superior da folha, enquanto que a imagem S-24-15-2000-GEO-I.tif faz parte do pedaço inferior.

Marcadores: , ,

segunda-feira, janeiro 30

Manipulando imagens GeoCover com gdal – Parte II

Conversão dos arquivos MrSID para Geotiff

O formato MrSID foi desenvolvido pela LizardTech para codificar imagens de alta-resolução, numa fração do seu tamanho, mantendo-se a qualidade original das imagens, ou seja, o MrSID é um formato para a compressão de imagens com pouca perda de qualidade.
MrSID is a unique raster file format developed by LizardTech to encode large, high-resolution images to a fraction of their original size while maintaining the original image quality.
(link: http://www.mcaggis.com/glossary.htm)
Por ser um formato proprietário, utilizou-se para a conversão de MrSID em Geotiff o pacote MrSID Decode da LizardTech (link: http://www.lizardtech.com). Este arquivo é um executável e seguiu-se a seguinte configuração para a conversão:
./mrsiddecode -i input.sid -o geotiff.tif -of tifg -s 1
O parâmetro -of significa que o formato exportado é um arquivo do tipo tiff geográfico e o parâmetro -s define a resolução de saída do arquivo. Neste caso o -s 1 faz uma reamostragem espacial alterando a resolução do arquivo de 14.25 m para 28.5 m.

Mudança do sistema de referência espacial de UTM para geográfica

Após a compilação do pacote gdal alguns programas são instalados, a descrição destes programas está disponível na página sobre o gdal utilities. Para a mudança do sistema de referência espacial utilizou-se o comando gdalwarp.

A imagem que serviu de input.sid é a S-24-10-2000.sid. Após a execução do comando acima, a imagem de saída (geotiff.tif) é S-24-10-200.tif, com resolução espacial de 28.5 m. O sistema de referência espacial do arquivo original sid/tiff é: 1) projeção: UTM; 2) zona: 24; 3) falso N: 0 m; 4) falso E: 500.000 m; e 5) datum: WGS84.

A adoção do falso norte como 0 m não é comum para o hemisfério sul, então, a seguinte conversão foi executada para que o falso norte da nova imagem fosse de 10.000.000 m.
gdalwarp -s_srs "+proj=utm +zone=24 +datum=WGS84" -t_srs "+proj=utm +zone=24 +datum=WGS84 +south" input.tif output.tif
Os parâmetros -s_srs e -t_srs são da biblioteca PROJ.4, eles indicam o sistema de coordenadas da imagem de entrada e o sistema de coordenadas da transformação ou imagem de saída. O parâmetro +south corrige o problema relacionado ao valor do falso norte para hemisférios norte ou sul. Após se aplicar a função acima, a imagem gerada S-24-10-2000-UTM.tif, possui o seguinte sistema de referência espacial: 1) projeção: UTM; 2) zona: 24; 3) falso N: 10.000.000 m; 4) falso E: 500.000 m; e 5) datum: WGS84.

Como resultado desta parte foram geradas as seguintes imagens: S-24-10-2000-UTM.tif e S-24-15-2000-UTM.tif.

Marcadores: , ,

sábado, janeiro 28

Manipulando imagens GeoCover com gdal – Parte I

Este tutorial contou com a participação direta do analista Glaucio Rocha.

Estive um pouco fora do ar em função do final de ano e de meus prazos com a minha dissertação de mestrado. A partir de hoje estarei mais concentrado e tentarei publicar 4 vezes ao mês. Vou começar com uma série de artigos para quem deseja manipular imagens de satélite com o auxílio das bibliotecas gdal e proj. O sistema operacional escolhido para teste foi o Linux CentOS (link: http://www.centos.org/). Os comandos que serão apresentados aqui podem ser executados no FWTools Shell após instalação do FWTools para Windows.

Este tutorial tem o objetivo de baixar duas imagens do projeto GeoCover, e, utilizando as bibliotecas gdal e proj, convertê-las para uma folha de corte 1:1.000.00 padrão “Ao Milionésimo”, com sistema de coordenadas geográfica e datum WGS84.

As imagens GeoCover correspondem a um mosaico global de imagens de satélite Landsat TM 7, com resolução de 14.25 metros, disponíveis para download no site: https://zulu.ssc.nasa.gov/mrsid/.
The Landsat GeoCover dataset is a collection of high resolution satellite imagery provided in a standardized, orthorectified format, covering the entire land surface of the world (except Antarctica). This is an invaluable record of land cover and land cover change, provided in a consistent manner that allows for use in a wide range of activities including environmental assessment, planning, land management, resource stewardship and many Earth science research activities.
As imagens que serão trabalhadas correspondem aos arquivos S-24-10_2000.sid e S-14-15_2000.sid. O primeiro passo corresponde ao download destas imagens no link acima.

Baixando as Bibliotecas

As bibliotecas proj e gdal são mantidas por Frank Warmerdam. A biblioteca proj se encarrega das questões cartográficas, como: mudança de projeções e transformação entre elipsóides. A biblioteca gdal está relacionada com a conversão de formatos matriciais.

Os arquivos fontes podem ser obtidas nos seguintes links:
  1. http://remotesensing.org/proj/ (PROJ.4)
  2. http://www.gdal.org/download.html (GDAL).
A versão do gdal é a 1.3.1 e da proj é a 4.9.

Depois de descompactar o arquivo proj-4.4.9.tar.gz deve-se compilar a biblioteca.

PROJ.4:
$ ./configure
$ make
$ su
$ make install

O mesmo procedimento deve ser seguido para o arquivo gdal-1.3.1.tar.gz.

GDAL:
$ ./configure
$ make
$ su
$ make install

Contexto

Um mosaico mundial de imagens de satélite Landsat foi elaborado pela NASA e encontra-se disponível para download. As imagens apresentam-se comprimidas pelo formato mrsid e projetadas para o sistema de coordenadas UTM com falso norte de valor 0 m ao invés de 10.000.000 m. O corte das imagens não obedece ao padrão internacional Ao Milionésimo e segue uma articulação de 5º de latitude por 7º de longitude, com resolução espacial de 14.25 m e composição RGB 742 (bandas disponíveis).

Para trabalhar com este acervo alguns ajustes foram executados. Tais como:
  1. Conversão dos arquivos mrsid para Geotiff
  2. Mudança do sistema de referência espacial de UTM para geográfica
  3. Corte das imagens compatível ao padrão Ao Milionésimo

Marcadores: , ,