Ferramentas GDAL: Conversão Radiométrica para Imagens Landsat-8 (16 Bit para 8 Bit)

6

Para obter maiores informações sobre diferentes formatos de dados, consulte o documento | Formato de Dados Raster | publicado aqui no blog Processamento Digital.


Download do Tutorial

Escolha um dos formatos abaixo:

Precisamos do seu feedback!

Blogar é uma carreira solo. Videotutoriais são fáceis de serem produzidos, mas são péssimos para documentação em acervo e não podem ser impressos. Documentos são díficeis de serem produzidos, diagramados, etc., porém a leitura é maravilhosa. Eu gostaria de nunca utilizar vídeos, porém você precisa aprender SIG utilizando qualquer mídia. Infelizmente não tenho nenhum tempo de sobra para documentar em texto todos os procedimentos publicados no site, portanto, compense o imenso trabalho deste geoprocessador com o seu feedback, leitor (a) – comente, divugue e, acima de tudo, coloque esse conhecimento em prática.


Sobre mim

Sou um geoprocessador. Não sou apenas um blogueiro, eu me interesso por você e pelas coisas que você faz, em especial sua experiência com GIS. Reconheço que tenho pouco tempo livre por conta dos meus compromissos, mas não sou uma pessoa inacessível. Então, se você tem interesse nas coisas que eu faço e quer se relacionar comigo, tudo bem pra mim. Vou responder seus e-mails e conversar com você no Skype/Hangout sempre que possível. Prometo lhe responder mesmo que eu não tenha uma resposta para sua dúvida. Se você quer falar comigo, quer que eu treine você em GIS ou PDI ou prefere que eu seja seu aluno/mestre, escreva para o e-mail que está logo abaixo.


Metadados do Raster com gdalinfo

gdalinfo é um programa usado para investigar metadados presentes nas imagens.

Digite o comando abaixo na janela OSGeo4W Shell ou FWTools:

gdalinfo input_raster.tif > input_raster.txt

Os metadados do recorte 22S525ZN.tif do DEM TOPODATA foram armazenados no arquivo de texto 22S525ZN.txt. Use esse recurso para visualizar informações da imagem como Extensão, Tamanho do Pixel, Projeção, etc. No nosso exemplo, os dados originais do modelo de elevação processado pelo INPE são do tipo Float 32 bits (observe a imagem abaixo):

Nosso objetivo é converter esses dados de Float 32 Bits para Inteiro Não Sinalizado de 16 Bits (Unsigned Integer 16 Bits). 

Conversão de Float32 para Unsigned Int16 através do programa gdal_translate

Observando os atributos Min/Max no documento de texto acima, temos  os valores 223 e 637 que correspondem a até 637 níveis de cinza utilizados para representação da elevação naquela região. Os valores numéricos do tipo Float Point são dados reais e o Range de 32 Bits resulta num raster que ocupa maior espaço em disco.

Os valores dos níveis de cinza da folha 22S525ZN.tif do DEM Topodata ultrapassam o intervalo de 8 Bits (0 a 255 níveis de cinza), mas poderiam facilmente ser alocados num range de 16 Bits do tipo Inteiro Não-Sinalizado (somente números positivos), cujos intervalos variam de 0 a 65535. 

Use o gdal_translate para executar essa conversão. Veja o comando abaixo:

gdal_translate -of GTiff -ot UInt16 -co TFW=YES 22S525ZN.tif 22S525ZN_16bits.tif
  • -of GTiff: Formato de saída GeoTIFF
  • -ot UInt16: Tipo de dado de saída: UInt16
  • -co TFW=YES: Campo de Criação Opcional: Gera um arquivo WorldFile TFW
  • 22S525ZN.tif  = imagem de entrada Float 32 bits
  • 22S525ZN_16bits.tif = imagem de saída em 16 bits não sinalizada (apenas valores positivos).

Os dados serão convertidos para Inteiro Não Sinalizado 16 Bits (consulte novamente os metadados com gdalinfo para verificar as alterações):

Conversão de 16 Bits para 08 Bits através do programa gdal_translate

Se você possui valores de elevação inferiores a 256 níveis de cinza, você pode utilizar o range de 8 bits e ganhar mais espaço em disco. Use o comando abaixo na janela FWTools:

gdal_translate -of GTiff -ot Byte -scale -co TFW=YES input_raster.tif 8bits_raster.tif
  • -of GTiff: Formato de saída GeoTIFF
  • -ot Byte: Tipo de dado de saída: UInt8 (alcance dos dados: de 0 a 255)
  • -scale: opção para dimensionar os dados na escala de 0 a 255
  • -co TFW=YES: Campo de Criação Opcional: Gera um arquivo WorldFile TFW
  • input_raster.tif = imagem de entrada
  • 8bits_raster.tif = imagem de saída em 8 Bits

No GDAL, a opção Byte significa Unsigned Int 8 bits. A opção –scale realiza um stretch (dimensionamento) nos dados de saída para enquadrar os valores originais dos pixels no intervalo de 0 a 255. 

Vídeo: Transformação de 16 bits para 8 bits

Quem acompanha o blog já deve ter visto esse procedimento em outras postagens. Abaixo temos um pequeno vídeo que pode ensinar as pessoas a converter várias cenas Landsat-8 presentes numa única pasta para 8 bits. O procedimento foi executado pela linha de comando do GDAL.

Linha de Comando para o GDAL

for %i in (*.tif) do gdal_translate -of GTiff -ot Byte -scale -co TFW=YES %i %~ni_8bits.tif

Dúvidas e sugestões podem ser enviadas para o e-mail contato@processamentodigital.com.br

6 Comentários

  1. Jorge,

    Qual seria a vantagem de reduzir os bits da imagem? Reduzir o tamanho? E não tem perda radiométrica?

    Valeu!

DEIXE UMA RESPOSTA