
GDAL é uma biblioteca de tradução para formato de dados geoespaciais do tipo matriz. Para vetor, usamos OGR. GDAL/OGR não possuem interface gráfica amigável, porém uma grande parte de seus comandos podem ser executados através da interface gráfica do SIG Quantum GIS. A rotina para conversão de raster para vetor é muito limitada no SIG QGIS, portanto, vamos executar todos o comandos no GDAL mesmo.
Shapefile Utilizado no Tutorial:
- Fragmento de Ottobacias Nível 4 fornecido pela Agência Nacional de Águas (ANA).
Download da Versão 1.9 do GDAL
As últimas versões do GDAL são atualizadas constantemente no site Mapserver and GDAL. Fiz um download de um executável para Windows 64 Bits e coloquei no Dropbox.
Linha de Comando
Descompacte o arquivo ZIP e execute o programa SDKShell.bat. Daqui por diante, os processos vão rodar apenas na linha de comando. Usuários Linux não possuem nenhum problema com essa questão, pois aprenderam rápido a depender do Terminal.
De acordo com o seu nível de usuário, você pode passar diretamente para a linha de comando da rasterização.
Informações do Arquivo com gdalinfo
Localize o diretório onde o arquivo shapefile está localizado e copie todo o caminho:

O comando cd do MS-DOS acessa diretórios. Na janela com o prompt de comando do GDAL, digite cd e cole o diretório de localização do shapefile original.

Em seguida, pressione ENTER:

ogrinfo: Informações do Arquivo Shapefile em Texto
Para exibir informações do arquivo shapefile, digite a linha de comando do programa ogrinfo:
ogrinfo -al Ottobacias_Nivel4.shp > Ottobacias_Nivel4.txt
Um arquivo de texto com informações do shapefile será criado juntamente com os demais arquivos.

O texto informa que o shapefile que utilizamos nesse tutorial é um dado com geometria do tipo polígono e possui 9 entidades no Sistema de Coordenadas Geográficas SIRGAS 2000. Outro atributo notável na lista de informações do arquivo é o Extent (A Extensão do Arquivo, o mesmo que Retângulo Envolvente):

Para rasterizar o arquivo shapefile, mas o dado precisa ser reprojetado para o Sistema de Coordenadas Planas UTM. O Datum é o mesmo, SIRGAS 2000. Em relação ao fuso ou zona, você pode carregar qualquer articulação vetorial para identificar o fuso de sua localização caso você não tenha sido informado sobre essa informação. O shapefile da Articulação 1:250.000 possui um campo ind_nomencl cujo rótulo ou label indica que o shapefile está situado no Fuso 24 do Hemisfério Sul:

ogr2ogr: Reprojeção de Arquivos Shapefile
O programa utilizado para reprojetar aquivos chama-se OGR2OGR. A reprojeção de arquivos com OGR2OGR ocorre com sucesso quando você informa o Sistema de Referência de Coordenadas de entrada e saída, dentre outros parâmetros. A lista de parâmetros EPSG mais utilizados no Brasil estão neste link. Digite o comando abaixo na janela do prompt:
ogr2ogr -f "ESRI Shapefile" -s_srs EPSG:4674 -t_srs EPSG:31984 Ottobacias_Nivel4_UTM24S.shp Ottobacias_Nivel4.shp
O arquivo shapefile foi reprojetado para UTM.
Rasterização de Arquivos Shapefile com gdal_rasterize
A rasterização que vamos executar tem como base o campo FID do arquivo shapefile. Esse campo inicia-se com zero, o que quer dizer que, para nove entidades no mesmo arquivo shapefile, temos feições numeradas de 0 a 8.
Digite o comando abaixo na janela do GDAL:
gdal_rasterize -of GTiff -a FID -sql "select FID, * from Ottobacias_Nivel4_UTM24S" -tr 30 30 -a_srs "EPSG:31984" -a_nodata 255 -ot Byte Ottobacias_Nivel4_UTM24S.shp Ottobacias_Nivel4_UTM24S_Byte.tif
- -of GTiff: Output File = GeoTIFF;
- -a: Attribute Name – Identifica um atributo na tabela que será usado na rasterização;
- -sql: Sentença SQL. Substitua aqui o nome do atributo e o nome do arquivo shapefile;
- -tr: Target Resolution, resolução de saída. Determinei a resolução do Landsat (30m);
- -a_srs: Substitui a projeção para o arquivo de saída;
- -a_nodata: Atribui um valor específico para NODATA;
- -ot: Output Type – Tipo de Dado de Saída. Especifiquei Byte (0 – 255);
- Ottobacias_Nivel4_UTM24S.shp: Arquivo vetorial de entrada;
- Ottobacias_Nivel4_UTM24S.tif: Arquivo raster de saída.
O processo que rodei aqui resultou numa imagem de uma única banda, escala de cinza, georreferenciada e com 167 MB de tamanho de arquivo:

As feições da ANA foram digitalizadas na Escala do Milionésimo. A rasterização dos polígonos com resolução espacial de 30 m ficou excelente. Visualize o resultado em Alta resolução clicando na imagem abaixo:
![[984x728 pixels] [984x728 pixels]](http://i916.photobucket.com/albums/ad10/gispd/gdal_rasterize_08a_zps08108703.png)
Trabalhando com Mapa de Cores no GDAL
Você pode colorir manualmente o arquivo rasterizado em qualquer SIG atribuindo cores para as classes.

O único problema é que o raster está em escala de cinza e as informações não serão gravadas. É possível editar e gravar a tabela de cores no GDAL da seguinte forma:
- Criação de um Raster Virtual com gdal_translate;
- Inserção dos novos valores no Raster Virtual
- Conversão do Raster Virtual para GeoTIFF.
Criação de um Raster Virtual (VRT)
Digite o comando abaixo na janela do GDAL:
gdal_translate -of VRT Ottobacias_Nivel4_UTM24S_Byte.tif Ottobacias_Nivel4_UTM24S_Byte.vrt
O raster virtual é um arquivo de texto do tipo XML. Abra-o com o editor de texto simples e visualize seus atributos:

Nosso arquivo raster do exemplo possui 9 classes. O atributo que gerencia as cores está entre as tags ColorInterp. Substitua a string Gray por Palette:

Agora vamos inserir a tabela de cores. Cada “c” representa uma banda, de modo que o c4 refere-se ao canal alfa. Assim, temos a combinação RGBA.
A primeira linha está relacionada ao NODATA. As cores devem ser preenchidas a partir da segunda linha. O valor 255 atribuído ao alfa está presente em todas as classes. Você deve inserir suas cores anotando os valores RGB que correspondem a cor desejada.
Tenho 9 linhas no total, que estão relacionadas as nove classes do meu raster em escala de cinza. Estou repassando o arquivo TXT para que você possa copiar e colar os parâmetros acima.

Salve e feche o arquivo VRT. Transforme o raster virtual para GeoTIFF através do comando abaixo:
gdal_translate -of GTiff Ottobacias_Nivel4_UTM24S_Byte.vrt Ottobacias_Nivel4_UTM24S_Byte_color.tif
Resultado Final

Conversão do Mapa de Cores para Raster RGB
Para converter o mapa de cores para raster RGB, digite o comando abaixo:
gdal_translate -of GTiff -expand rgb -scale Ottobacias_color.tif Ottobacias_RGB.tif
Ao expandir o arquivo para RGB, o mapa de cores pode sair diferente do original e o arquivo vai ampliar seu tamanho três vezes (representando as três bandas).
Ultimamente tenho trabalhado com paletas de cores para colorir relevo sombreado ou qualquer raster temático usando em classificação. Decifrar a combinação de cores é um arte e leva tempo para aprender, certamente.



Muito bom esse material. As novas versões do Mapwindow já apresentam essa ferramenta. Para mim ainda são um tabu. Mas vou procurar entender melhor essa rotina, e quem sabe possa aplicá-las lá também. Gostaria de te pedir para elaborar algo sobre calculadoras raster e seleção – exportação em .SHP dos resultados desses cálculos. Um abraço.
Assim que terminar esse série sobre Layout, vou iniciar a série sobre Álgebra de Mapas. Para cumprir uma promessa, vou repassar o material que tenho aqui para o seu e-mail. Os cálculos são feitos no ArcGIS, mas a lógica pode ser aplicada em qualquer SIG. Grande abraço, grande amigo!