Refletividade Superficial - Espectro de refletividade de diferentes superfícies. | Download ...
Espectro de refletividade de diferentes superfícies. | Download ...

Como funciona a correção de refletividade superficial em imagens de satélite

A refletividade superficial é o valor de reflectância real da superfície terrestre, corrigido dos efeitos atmosféricos como aerossóis, vapor d'água e dispersão molecular. Sem essa correção, os números que você vê nas bandas espectrais não representam nada próximo do que o solo realmente reflete. Isso é particularmente crítico quando você está trabalhando com séries temporais ou comparando imagens de datas diferentes.

O que é refletividade superficial na prática

A maioria das plataformas gratuitas — Sentinel-2, Landsat 8/9 — já entrega produtos com correção de refletância de superfície no nível 2A. O Sentinel-2 usa o algoritmo Sen2Cor, enquanto o Landsat usa a ferramenta LEDAPS ou MR9. O problema é que esses produtos podem ter artefatos, especialmente em áreas com nuvens finas, neblina ou terreno muito irregular. Se você precisa de dados mais confiáveis ou está trabalhando com sensores que não oferecem correção automática, a alternativa é rodar modelos atmosféricos por conta própria. O FLAASH dentro do ENVI e o DOS (Dark Object Subtraction) de primeira, segunda ou quarta ordem são os mais usados no dia a dia.

O que muita gente não sabe é que o DOS4, quando bem calibrado, pode rivalizar com o FLAASH em cenários simples e roda em questão de minutos num notebook. O custo é que ele exige que você estime manualmente a espessura óptica de aerossóis, e se você chutar esse valor errado, toda a correção fica comprometida. Já o Sen2Cor do Sentinel-2 tem um ponto fraco que ninguém gosta de admitir: em regiões com alta reflectância como desertos e solos claros, o algoritmo tende a superestimar a correção atmosférica. Isso gera valores negativos de reflectância em bandas do infravermelho de onda curta, o que é fisicamente impossível e estraga qualquer análise quantitativa posterior.

👉 Clique no botão abaixo para saber mais sobre o assunto!

Eu passei duas semanas tentando debugar isso num projeto de monitoramento de vegetação rasteira no semiárido brasileiro. Os valores na banda 11 do Sentinel-2 iam de -0,02 a 0,05, o que obviamente não faz sentido. A solução foi aplicar uma máscara de solo exposto baseada no NDVI e reposicionar os pixels problemáticos para o valor mínimo estatístico da região (cerca de 0,08 naquela área), em vez de tentar consertar o produto Sen2Cor em si. O trabalho todo levou cerca de 40 minutos num script Python simples usando rasterio e numpy.

Quando a refletividade superficial não resolve seu problema

Existe um limite claro para corrigir refletividade superficial com dados ópticos passivos. Em condições de cobertura nuvens permanente, como florestas tropicais densas na época das chuvas, a correção atmosférica não muda em nada a qualidade dos dados — o sinal simplesmente não chega ao sensor. Nesses casos, radar é a única alternativa viável, e aí o conceito de reflectância nem se aplica do mesmo jeito. Também vale lembrar que correções de superfície não resolvem problemas de geometria de visão. Se você está trabalhando com inclinações fortes de terreno, a correção topográfica (TC4, C-correction) precisa ser aplicada antes ou junto, senão você vai misturar efeitos de iluminação com efeitos atmosféricos e o resultado será confuso demais pra qualquer classificação.

Para quem quer começar, o Copernicus DEM de 30 metros já basta como dado auxiliar. O processamento completo de correção atmosférica num tile Sentinel-2 com QGIS e plugins adequados leva entre 15 e 25 minutos em hardware padrão de escritório, dependendo da resolução e do número de bandas processadas.