GDAL: Imagens Sentinel-2: Composição RGB e Recorte pela Linha de Comando

Para se tornar Especialista em Geoprocessamento, o melhor caminho para o Técnico ou Analista é aplicar os seus conhecimentos acadêmicos e profissionais em diversos projetos. Sabemos que nenhum projeto de mapeamento é igual ao outro, portanto, a experiência que o utilizador adquire com as ferramentas Geo é muito importante. Para despertar o seu interesse apresentando outras ferramentas, vou aplicar alguns processos através da Interface de Linha de Comando (CLI ou Command Line Interface). Usando a telinha escura, seu trabalho certamente se tornará mais eficiente.

Comandos Básicos GDAL

Se este assunto é novidade para você, eu explico: o GDAL é uma biblioteca geoespacial para tradução de diversos modelos de dados raster, assim como o OGR representa determina instruções pela linha de comando com saída em diversos formatos vetoriais. Em suma, GDAL é para raster, OGR para vetor. A maioria da informação rica sobre o GDAL/OGR está disponível em inglês, porém, eu vou dar uma força para você apresentando as melhores dicas. Futuramente, lançaremos um treinamento na Plataforma InstrutorGIS sobre Processamento Digital de Imagens pela Linha de Comando. Aguardem!

Como temos a intenção de processar imagens pela linha de comando, vamos utilizar estes algoritmos do GDAL para essa finalidade:

  • gdalbuildvrt: programa GDAL responsável pela construção de um mosaico virtual;
  • gdal_translate: famoso programa GDAL com a capacidade de tradução entre diversos formatos raster;
  • gdalwarp: algoritmo GDAL utilizado para trabalhar com projeções. Também é usado para recortar o raster.

Fluxo de Trabalho

A Ana Paula Marques Ramos, co-autora do ebook sobre Classificação de Imagens Sentinel-2 no QGIS, sugeriu a utilização do Bizagi para construir os diagramas de processos que mostram o workflow das atividades no GIS. Os processos ficam muito mais organizados e intuitivos, obrigado, Ana! Neste primeiro momento, vou descrever aqui o fluxo de trabalho. Em seguida, podemos colar a ilustração do Bizagi nesta postagem, pois este fluxo de trabalho é bem simples:

Baixar Imagens Sentinel-2 - Gerar a Composição RGB Virtual - Gerar a Composição RGB Física - Recortar a Imagem.

Baixar as Imagens Sentinel-2

A primeira providência consiste em obter as imagens. Para baixá-las, visite este vídeo que ensina os passos para aquisição de imagens Sentinel-2 pelo portal Remote Pixel:

Para os que são novos em Sensoriamento Remoto, estas são as bandas do satélite Sentinel-2 para cada instrumento embarcado na plataforma:

ResoluçãoNr da
Banda
Nome da BandaComprimento de Onda
Central (nanômetro)
Combinações de Bandas
10 mB02Blue (Azul)490Cor Verdadeira
RGB 04/03/02
Falsa Cor 1 e 2
RGB 08/04/03 e 04/08/03
B03Green (Verde)560
B04Red (Vermelho)665
B08NIR (Infravermelho Próximo)842
     
20 mB05Red Edge 1705SWIR 1
RGB 12/11/8A
B06Red Edge 2740
B07Red Edge 3783
B08ARed Edge 4865
B11SWIR 11610
B12SWIR 22190
     
60 mB01Aerossol443
B09Water Vapor940
B10Cirrus1375

Para todos os projetos, a prudência recomenda a utilização das imagens com melhor resolução espacial, a saber, as faixas espectrais B2, B3, B4 e B8. As outras faixas são dedicadas à aplicações científicas e devem ficar de fora dos processos cotidianos.

Processamento com o GDAL: Comandos do MS-DOS

O processamento digital de imagens pela linha de comando é tão rápido e tão simples que dá sono. Como são processos executados fora da interface gráfica, habitue-se a utilizar um Bloco de Notas amigo para memorizar os parâmetros GDAL/OGR e os comandos do MS-DOS que são úteis para essa empreitada. Segue a relação de alguns comandos:

cd

Este comando significa Choose Directory. O comando cd deve ser utilizado para acessar um diretório ou pasta do computador. Há algumas variações e veremos adiante.

cd..

Variação do comando cd. Deve ser usado para descer um nível, ou seja, voltar uma pasta.

cd\

Usado para retornar para o diretório raiz ou letra da unidade.

D: Digite isso para trocar a letra da unidade de disco para ter acesso ao pendrive, hd externo, etc. (onde D: representa a unidade que será trocada).

Processamento com o GDAL: Execução do Programa

Conforme foi dito, o GDAL não possui interface gráfica, então, temos que digitar os comandos na telinha escura ou apenas copiar/colar uma instrução a partir de uma lista.

Para usar o GDAL, você deve possuir a instalação do QGIS no sistema Windows. Em breve irei publicar essa dica para os usuários Linux. Clique no Menu Iniciar e escreva OSGeo4W Shell no campo de pesquisa. Esse é o executável do GDAL.

A primeira providência é informar o local de entrada e saída para os arquivos. Em geral, como regra obrigatória, você deve observar o seguinte:

Siga essas instruções e você jamais terá problemas como erros em processos. Após conhecer as regras, coloque todas as bandas dentro de uma pasta com caminho curto. Em nosso caso, vamos usar a pasta localizada em C:\sentinel.

Esta pasta é a nossa entrada e saída para todos os processos. Selecione e copie o caminho curto.

Na janela do GDAL, digite cd na telinha escura e pressione a barra de espaço. Em seguida, clique com o botão direito do mouse para colar o diretório.

Pressione ENTER para confirmar o comando:

Daqui por diante, será assim: você digita o comando e pressiona ENTER para executar o processo. Lembre-se que esta instrução tem como referência a unidade de disco C:. Para trocar de unidade, é importante digitar a letra da unidade desejada (D: E: F:, etc.) e pressionar ENTER para confirmar.

Gerar a Composição RGB Virtual

Para gerar a composição colorida RGB com as quatro bandas Sentinel-2, será necessário gerar um mosaico virtual. Digite o comando abaixo (ou copie/cole) e pressione ENTER:

gdalbuildvrt -separate virtual.vrt B02.jp2 B03.jp2 B04.jp2 B08.jp2

A imagem colorida será gerada! Podemos utilizar o QGIS ou outro programa para visualizar o resultado. Para alcançar este objetivo, arraste o arquivo virtual.vrt para a tela.

Dicas e Truques

Vamos explicar cada um dos parâmetros necessários para a geração de um mosaico virtual.

gdalbuildvrt: programa GDAL responsável pela construção de um mosaico virtual. Geralmente um mosaico virtual não ocupa espaço em disco.

-separate: com esta opção, o processo aloca cada banda em uma camada separada (Camada Acumulada ou Layer Stacking).

virtual.vrt: este é o nome de saída para o mosaico virtual. Geralmente é um arquivo pequeno com pouquíssimo tamanho em disco.

B02.jp2 B03.jp2 B04.jp2 B08.jp2: representam as bandas do satélite Sentinel-2 com resolução espacial de 10 metros.

Truque: Você pode modificar a ordem das bandas como desejar. Em vez de gerar a composição colorida RGB na ordem 2-3-4-8, podemos realizar a composição colorida RGB 4-3-2-8 para ter a imagem em cores verdadeiras. Com esta combinação, não será necessário modificar a ordem das faixas no sistema SIG.

Gerar a Composição RGB Física

Chegou o momento de gerar a composição colorida RGB que ocupa espaço em disco. Digite o comando abaixo (ou copie/cole) e pressione ENTER:

gdal_translate virtual.vrt mosaico_sentinel2.tif

O resultado será uma imagem com 940 MB. Arraste essa imagem para o QGIS e visualize o resultado.

Dicas e Truques

Que tal entender os parâmetros que foram utilizados para transformar um mosaico virtual em arquivo GeoTIFF?

gdal_translate: programa GDAL com a capacidade de tradução entre diversos formatos raste (JPG para TIFF, PNG para TIFF, TIFF para ECW, etc.).

virtual.vrt: este é o nome do arquivo de entrada, o mosaico virtual gerado no processo anterior.

mosaico_sentinel2: este é o nome do arquivo de entrada, o mosaico verdadeiro que será criado.

Truque: As imagens Sentinel-2 são entregues no elipsóide WGS 1984. Você pode consultar essa informação nas propriedades do raster.

Como opção, podemos realizar a reprojeção do raster para o Datum SIRGAS 2000, mas este procedimento será abordado em outra oportunidade.

Preparando a Máscara para o Recorte

Nas propriedades do raster, recebemos a informação acerca da Projeção, Datum e Fuso para a cena Sentinel-2 selecionada. Para recortar esse raster, devemos utilizar um Shapefile como máscara para o recorte, pois o tamanho das cenas Sentinel-2 pode ser oneroso para pequenas atividades. Isso significa que esta máscara deve possuir o mesmo sistema de coordenadas que foi atribuído para a imagem. Em nosso exemplo, temos a cena Sentinel-2 associada ao sistema WGS 1984 UTM Zona 23 S.

Diante disso, temos duas opções:

  • Trocar o sistema da imagem para SIRGAS 2000 UTM 23 S e manter a máscara Shapefile nesse mesmo sistema (recomendado);
  • Realizar a Reprojeção da máscara Shapefile para WGS 1984 UTM Zone 23 S (mantendo o arquivo no mesmo sistema do raster).

Vamos tomar o segundo caminho para não estender esta postagem. A definição com as projeções é uma preocupação presente em todos os projetos de mapeamento.

Reprojeção da Máscara para o Recorte

Use o SIG da sua preferência e associe o novo sistema para sua máscara vetorial. No QGIS, para salvar um Shapefile em outro sistema, basta selecionar o objeto e usar a função Salvar Como. No ArcGIS, há o algoritmo chamado Project no ArcToolbox que é usado em situações desse tipo.

Recorte de Raster pela Linha de Comando

Este é o último processo. Digite o comando abaixo (ou copie/cole) e pressione ENTER para que o GDAL possa fazer o seu trabalho:

gdalwarp -dstnodata 0 -cutline mascara.shp -crop_to_cutline mosaico_sentinel2.tif recorte_sentinel2.tif

O resultado será uma imagem com 200 MB. Visualize o resultado no ArcGIS ou QGIS.

Dicas e Truques

Estes são parâmetros utilizados para realizar o recorte de raster através de uma máscara:

gdalwarp: programa GDAL utilizado para trabalhar com projeções. Também é usado para recortar o raster.

-dstnodata 0: parâmetro para definição da Área sem Dados (NODATA). Usado para ocultar automaticamente a borda escura em volta do raster.

-cutline: parâmetro que indica a linha de corte. Aqui, devemos informar o nome da máscara em Shapefile.

-crop_to_cutline: este parâmetro é usado para que o recorte possa assumir a mesma extensão da máscara em Shapefile.

mosaico_sentinel2.tif: este é o nome do arquivo de entrada, o mosaico verdadeiro no formato GeoTIFF.

recorte_sentinel2.tif: este é o nome do arquivo de saída, o recorte Sentinel-2 no formato GeoTIFF.

Considerações

As atividades executadas pela linha de comando são altamente eficientes. Neste processo, o recorte da imagem Sentinel-2 levou trinta segundos num computador Intel Core i5 4ª Geração com 8 GB de Memória RAM. Quem trabalha com Geo precisa pensar em alternativas para otimizar as tarefas. Neste contexto, não importa se o processo foi executado pelo ArcGIS, QGIS ou outra ferramenta. Discutir ferramenta empobrece o debate. A melhor discussão é aquela cuja finalidade reside no mapeamento dos problemas seguido da ações para solucionar os mesmos.

Este artigo é de alto nível e altamente detalhado. Em outras publicações, vamos continuar explorando o Processamento Digital de Imagens através da linha de comando.


Informações

INSTRUTOR GIS é um espaço na Web destinado à publicação de dicas sobre Geotecnologias. Para entrar em contato sobre consultoria ou cursos de Geoprocessamento e Sensoriamento Remoto, utilize os canais abaixo:

  • WhatsApp (61) 99616-5665
  • Skype: jorgepsantos2002
  • E-mail: jorgesantos@instrutorgis.com / jorgepsantos@outlook.com

NewsLetter InstrutorGIS

Assine para ter Acesso:

À conteúdos em PDF de alta qualidade exclusivos para assinantes da newsletter.

Aos melhores tutoriais e artigos direto na sua caixa de e-mail.

Às promoções, eventos, sorteios e muito mais...

1 comentário em “GDAL: Imagens Sentinel-2: Composição RGB e Recorte pela Linha de Comando”

Deixe um comentário