SIGCAR em Goiás: o que muda no CAR após março de 2026 CAR · Meio Ambiente · Goiás SIGCAR em Goiás: o que realmente muda no CAR após março de 2026 A transição do sistema nacional para a plataforma estadual foi concluída — mas não significa prazo final para cadastro. Entenda o que mudou e o que fazer agora. Julho de 2026 Leitura: 4 minutos ⚠️ Atenção, responsável técnico O dia 15 de março de 2026 não foi prazo final para inscrição no CAR. A data marcou o fim do período de transição para o SIGCAR. Leia o artigo completo para entender o que isso implica na prática. Desde agosto de 2025, proprietários rurais e responsáveis técnicos em Goiás conviviam com uma restrição importante: não era possível realizar novos cadastros nem alterar informações no Cadastro Ambiental Rural (CAR). Isso porque o estado iniciou...
Índices Espectrais para Monitoramento Ambiental: Guia Técnico Premium 2024-2026
Publicado: Maio 2026 | Atualizado: Maio 2026 | Leitura: 45-60 min
Índices Espectrais para Monitoramento Ambiental: Guia Técnico Premium 2024-2026
Aprofundamento técnico avançado sobre 18+ índices espectrais com detalhes operacionais, workflows reais, limitações conhecidas, boas práticas de mercado e interpretação técnica para profissionais.
1. Fundamentos Avançados: A Física Por Trás dos Índices
1.1 Por Que Plantas Refletem Infravermelha? A Biofísica Completa
A reflexão espectral das plantas não é um acaso evolutivo—é uma estratégia de sobrevivência otimizada ao longo de milhões de anos. Compreender essa biofísica é essencial para interpretar corretamente os índices espectrais.
A Equação de Monsi-Saeki (1953):
Fotosinteticamente Ativa = Radiação × (1 - e^(-k·LAI))
LAI = Índice de Área Foliar (área de folhas/área de solo)
A Estrutura Foliar no Nível Celular
A folha de uma planta tem estrutura bilaminar (duas camadas principais):
Epiderme superior + mesófilo paliçádico: Absorve luz vermelha (660 nm) para fotossíntese
Mesófilo esponjoso: Ar dentro das células causa espalhamento múltiplo de infravermelha próxima
Epiderme inferior + estômatos: Também reflete infravermelho
Resultado: Uma folha verde saudável absorve ~85% da luz vermelha (B4) mas reflete ~50% do infravermelha próximo (B8). Essa diferença dramática é o fundamento do NDVI.
Detalhe Operacional: Diferença de Reflectância Foliar
Em laboratório (espectroradiômetro):
Folha saudável em B4 (vermelho): 5-10% reflectância
Folha saudável em B8 (NIR): 45-55% reflectância
Folha estressada (seca) em B8: 35-40% reflectância (redução de 10-15 pontos!)
Implicação: NDVI pode cair de 0.75 para 0.60 com apenas 10% de stress hídrico—detectável em satélite!
1.2 Estrutura de Um Índice: Análise Matemática Profunda
Por que usamos divisão e não apenas subtração?
Opção 1 (subtração simples): Diferença = B8 - B4
Resultado: Valores de -255 a +255 (dependem de iluminação solar)
Opção 2 (normalização): NDVI = (B8 - B4) / (B8 + B4)
Resultado: Valores de -1 a +1 (comparável entre épocas/satélites)
Por que isso importa? Se você usa subtração simples:
Imagem coletada ao meio-dia (sol alto) = Valores altos
Mesma área coletada no final da tarde (sol baixo) = Valores menores
Você não consegue comparar diferentes épocas
A normalização (divisão) elimina esse problema porque: (50-10)/(50+10) = 0.67 e (40-8)/(40+8) = 0.67
(Mesmo resultado, independente de iluminação)
Termo científico: Os índices normalizados são chamados de "radiometrically normalized" porque removem efeitos de radiância (iluminação solar variável).
1.3 Corrução Atmosférica: O Desafio Real do Mundo Real
Satélites não veem vegetação diretamente. Veem a luz que:
Sai do sol ☀️
Passa pela atmosfera (é espalhada) 💨
Bate na folha e é refletida 🌿
Passa novamente pela atmosfera (é espalhada NOVAMENTE) 💨
Chega ao satélite 🛰️
Esse espalhamento atmosférico afeta especialmente comprimentos de onda menores (azul, verde). É por isso que índices como EVI incluem a banda azul para corrigir:
O NDVI foi criado em 1973 por pesquisadores da NASA que estudavam a produtividade agrícola. Em 51 anos, nenhum índice o superou em aplicabilidade universal. Por quê?
Simplicidade: Apenas 2 bandas (fácil de calcular em qualquer satélite)
Robustez: Funciona em diferentes biomas, climas, estações
Interpretação intuitiva: Mais próximo de +1 = mais vegetação
Base de dados histórica: 50 anos de validação em campo
2.2 Interpretação Detalhada Por Valor
Intervalo NDVI
Cobertura Terrestre
Características Biofísicas
Aplicação Prática
0.90-1.00
Vegetação primária densa
LAI > 6, cobertura >95%
Validação de floresta intocada, baseline de carbono
0.75-0.90
Floresta secundária/plantação
LAI 4-6, cobertura 80-95%
Monitoramento de reflorestamento, créditos de carbono
0.60-0.75
Vegetação densa moderada
LAI 2-4, cobertura 60-80%
Pré-colheita agrícola, pastagem em bom estado
0.40-0.60
Vegetação moderada
LAI 1-2, cobertura 40-60%
Desenvolvimento de cultura, pastagem normal
0.20-0.40
Vegetação baixa/arbustal
LAI <1, cobertura 20-40%
Cerrado, caatinga, início de cultivo
0.00-0.20
Vegetação muito esparsa
LAI <0.5, cobertura <20%
Solo com restos de plantas, transição
-0.20-0.00
Transição/água/nuvem
Sem vegetação definida
Limpeza de dados, mascaramento de nuvem
<-0.20
Água profunda/asfalto
Absorção de todas bandas
Mapeamento de corpos hídricos, urbano
2.3 Limitações Operacionais do NDVI (Críticas Profissionais)
⚠️ Limitação 1: Saturação em Vegetação Densa
O Problema: NDVI não consegue diferenciar floresta primária (NDVI = 0.85) de floresta secundária 5 anos (NDVI = 0.82). A diferença é apenas 3 pontos.
Causa Biofísica: Quando LAI > 4, praticamente toda radiação vermelha é absorvida. Aumentos adicionais de vegetação não aumentam reflexão de vermelho, então NDVI "satura".
Solução Operacional: Use EVI para florestas (sem saturação) e NDVI para vegetação moderada.
⚠️ Limitação 2: Não Diferencia Tipo de Cobertura
Uma plantação de eucalipto morta pode ter NDVI = 0.65 (valores altos, parece saudável). Uma pastagem em bom estado também pode ter NDVI = 0.65. Mas biologicamente são muito diferentes.
Solução: Combine NDVI com EVI, GNDVI ou BSI para validação adicional.
⚠️ Limitação 3: Sensibilidade a Variações Sazonais
NDVI muda de 0.80 (verão úmido) para 0.65 (inverno seco) para a MESMA floresta. Se você comparar Maio (seco) com Março (chuva) sem saber, concluirá "desmatamento" (queda de 0.15).
Solução: Sempre recolha dados da mesma época do ano (±30 dias) ao comparar.
Detalhe: Curva de Reflectância Espectral
Se você plotar reflectância em cada comprimento de onda para uma folha verde saudável, obtém:
Stress hídrico: Reflectância em SWIR aumenta (menos água absorve luz)
Stress nutricional (N): Reflectância em vermelho aumenta (menos clorofila absorve)
Doença: Reflectância em azul/verde cai (antocianinas aparecem)
Implicação: Um espectroradiômetro terrestre pode detectar doenças semanas antes que o olho humano—mas satélites não têm essa resolução espectral.
2.4 Mudanças Temporais: dNDVI (Delta NDVI)
dNDVI = NDVI(t2) - NDVI(t1)
Diferença entre dois momentos no tempo
dNDVI é mais importante que NDVI absoluto em muitos contextos:
Mudança dNDVI
Interpretação
Ação Recomendada
>+0.15
Recuperação significativa
Validar se é reflorestamento real ou natural
+0.05 a +0.15
Melhoria moderada
Monitorar continuamente
-0.05 a +0.05
Estável (variação sazonal)
Normal, sem ação
-0.15 a -0.05
Declínio moderado
Investigar causa (seca, doença, desmatamento)
<-0.15
Perda severa
ALERTA: Desmatamento provável
Caso Real: Detecção de Desmatamento na Amazônia
TNC monitora 50 milhões de hectares. Seu sistema gera alerta automático quando dNDVI cai >0.20 em 30 dias. Em 2024, detectou desmatamento ilegal de 2.300 hectares com 5 dias de antecedência em relação aos satélites de resolução maior (que custam muito mais).
2.5 Script GEE: NDVI Profissional com Validações
// SCRIPT PROFISSIONAL DE NDVI COM VALIDAÇÕES
var regiao = ee.Geometry.Rectangle([-63, -10, -60, -7]); // Amazônia
// 1. CARREGAR SENTINEL-2 COM FILTROS RIGOROSOS
var s2 = ee.ImageCollection('COPERNICUS/S2_SR_HARMONIZED')
.filterBounds(regiao)
.filterDate('2024-01-01', '2024-03-31') // SEMPRE mesma época
.filter(ee.Filter.lt('CLOUDY_PIXEL_PERCENTAGE', 5)) // Máximo 5% nuvem
.map(function(img) {
// APLICAR MÁSCARA DE QUALIDADE
var qa = img.select('QA60');
var cloud = qa.bitwiseAnd(1 << 10).eq(0); // Não é nuvem
var cirrus = qa.bitwiseAnd(1 << 11).eq(0); // Não é cirrus
return img.updateMask(cloud.and(cirrus));
})
.median();
// 2. CALCULAR NDVI
var ndvi = s2.normalizedDifference(['B8', 'B4']).rename('NDVI');
// 3. VALIDAÇÕES DE QUALIDADE
var validacao1 = ndvi.gt(-1).and(ndvi.lt(1)).rename('Val1_RangeOK');
var validacao2 = s2.select('B4').gt(0).rename('Val2_B4Valido');
var validacao3 = s2.select('B8').gt(0).rename('Val3_B8Valido');
// 4. NDVI MASCARADO (apenas pixels válidos)
var ndvi_valido = ndvi.updateMask(
validacao1.and(validacao2).and(validacao3)
);
// 5. EXTRAIR ESTATÍSTICAS ROBUSTAS
var stats = ndvi_valido.reduceRegion({
reducer: ee.Reducer.percentile([5, 25, 50, 75, 95]),
geometry: regiao,
scale: 30,
maxPixels: 1e8
});
print('=== ESTATÍSTICAS NDVI ===');
print('P5 (5%):', ee.Number(stats.get('NDVI_p5')).round(3));
print('P25 (25%):', ee.Number(stats.get('NDVI_p25')).round(3));
print('Mediana (50%):', ee.Number(stats.get('NDVI_p50')).round(3));
print('P75 (75%):', ee.Number(stats.get('NDVI_p75')).round(3));
print('P95 (95%):', ee.Number(stats.get('NDVI_p95')).round(3));
// 6. VISUALIZAR
Map.addLayer(ndvi, {min: 0, max: 1, palette: ['red', 'yellow', 'green']}, 'NDVI');
Map.addLayer(validacao1, {palette: ['white', 'green']}, 'Validação 1', false);
Map.centerObject(regiao, 10);
3. EVI vs SAVI: Quando Usar Cada Um
3.1 EVI: Melhorias e Contextos de Uso
Enhanced Vegetation Index (Huete et al., 1997)
EVI = 2.5 × ((B8 - B4) / (B8 + 6×B4 - 7.5×B2 + 1))
Coeficientes otimizados experimentalmente para corrigir efeitos atmosféricos e de solo
Por Que os Coeficientes Específicos?
2.5: Amplificação (EVI é mais "sensível" que NDVI)
6×B4: Reduz efeito de solo (vermelho varia com cor do solo)
-7.5×B2: Corrige aerossol (poeira absorve especialmente em azul)
+1: Evita divisão por zero
Teste Empírico: NDVI vs EVI em 3 Biomas
Bioma
NDVI
EVI
Diferença
Interpretação
Floresta Amazônica
0.85
0.72
-0.13
EVI mais conservador (evita saturação)
Cerrado
0.55
0.42
-0.13
Mesmo padrão: EVI reduz ~25%
Caatinga (seca)
0.30
0.25
-0.05
EVI aproxima de NDVI em áreas áridas
Área urbana
0.15
0.10
-0.05
Diferença mínima (sem vegetação)
📊 Conclusão Operacional: EVI é ~0.13 pontos menor que NDVI em vegetação densa. Se você usar thresholds NDVI em imagens EVI (ou vice-versa), seus resultados estarão errados.
💡 Insight Importante: Em regiões áridas, SAVI pode ser 0.10-0.15 pontos menor que NDVI. Se você usar thresholds de NDVI direto em SAVI (ou vice-versa), seus mapas de vegetação estarão significativamente errados.
3.3 Matriz de Decisão: Qual Usar?
Situação
Recomendação
Justificativa
Monitorar floresta tropical
EVI (evita saturação)
Vegetação muito densa (LAI > 6)
Monitorar agricultura temprada
NDVI (simples, testado)
Vegetação moderada, sem saturação
Monitorar Caatinga/Semiárido
SAVI (reduz efeito solo)
Solo muito visível, vegetação esparsa
Detecção de desmatamento rápida
NDVI (mais sensível mudanças)
Queda clara de 0.80 → 0.20
Estimativa de biomassa/carbono
EVI (sem saturação)
Correlação linear com LAI até LAI 7
Validação de reflorestamento
Ambos (NDVI + SAVI)
Redundância garante robustez
Fórmula Alternativa: OSAVI (Otimizado)
OSAVI = (B8 - B4) / (B8 + B4 + 0.16)
SAVI original requer você escolher L manualmente. OSAVI tem L = 0.16 pré-otimizado. Usa-se quando você quer simplicidade de SAVI sem ter que calibrar L.
4. Índices Especializados: Água, Solo, Urbano
4.1 NDWI vs MNDWI: A Batalha pela Detecção de Água
✅ Recomendação Profissional: Use MNDWI para detecção de água, reserva NDWI apenas para quando você tiver razão teórica específica. MNDWI é o padrão moderno.
4.2 BSI: Detecção de Solo Exposto e Erosão
Bare Soil Index (Rikimaru et al., 2002)
BSI = ((B11 + B4) - (B8 + B2)) / ((B11 + B4) + (B8 + B2))
A lógica: Solo exposto tem reflectância característica em SWIR (alto) e pobre em NIR. Essa combinação permite identificar solo sem vegetação.
Aplicações Profissionais Reais:
Detecção de erosão pós-chuva: Após temporal, BSI aumenta rapidamente em encostas desmatadas
Monitoramento de mineração: Frente de mineração tem BSI = +0.8 (solo exposto)
Identificação de garimpo ilegal: Bacias de sedimentação têm BSI > +0.6 e NDVI < 0
Análise de desertificação: Tendência de crescimento de BSI indica avanço do deserto
Caso: Detecção de Garimpo em Terra Indígena
Fiscalização de 2024 em Rondônia usou BSI para localizar garimpo ilegal. Identificaram 47 hectares com BSI > 0.6 em área protegida. Confirmação em campo: 45 hectares reais de garimpagem. 2 hectares foram falsos positivos (afloramentos rochosos naturais).
4.3 NDBI: Índice de Construção Urbana
Normalized Difference Built-up Index (Zha et al., 2003)
NDBI = (B11 - B8) / (B11 + B8)
SWIR - NIR / SWIR + NIR
Concreto, asfalto, telhas refletem muito SWIR. Vegetação reflete muito NIR. Essa diferença identifica urbano.
Cobertura
NDBI
Interpretação
Floresta
-0.60
Muito negativo (forte NIR)
Pastagem
-0.40
Negativo (vegetação)
Vegetação + construção (misto)
-0.10 a +0.10
Transição
Residencial (casas esparsas)
+0.20
Positivo (urbano)
Comercial/industrial (denso)
+0.40 a +0.60
Fortemente positivo
Asfalto/concreto puro
+0.70+
Máximo (construção)
Água/sombra
< -0.80
Baixíssimo
Aplicação: Expansão Urbana Automática
// Detectar expansão urbana 2020 vs 2024
var ndbi_2020 = calcularNDBI(2020);
var ndbi_2024 = calcularNDBI(2024);
// Mudança positiva = Nova urbanização
var expansao_urbana = ndbi_2024.subtract(ndbi_2020)
.gt(0.3) // Mudança > 0.30 indica nova construção
.rename('Expansao_Urbana');
// Quantificar
var area_nova = expansao_urbana
.multiply(ee.Image.pixelArea())
.reduceRegion(ee.Reducer.sum());
print('Expansão urbana 2020-2024:',
ee.Number(area_nova.get('Expansao_Urbana'))
.divide(10000).round().toInt(), 'hectares');
5. Limitações Operacionais Reais e Críticas
5.1 Os 12 Problemas Mais Comuns (E Como Contorná-los)
❌ Problema 1: Confundir "NDVI Alto" com "Vegetação Saudável"
Cenário Real: Você vê NDVI = 0.75 (alto!) e conclui "vegetação excelente". Você vai ao campo e encontra: plantação de eucalipto morta.
Causa: Eucalipto tem estrutura de folha que reflete muito NIR mesmo quando morto (estrutura foliar rígida).
Solução:
Combine NDVI + NDMI (umidade)
Eucalipto morto terá NDVI alto MAS NDMI baixo (seco)
Eucalipto vivo terá NDVI + NDMI ambos altos
❌ Problema 2: Nuvens Interpretadas como Vegetação/Água
Cenário: Imagem com 20% de nuvem. Você filtra nuvens em CLOUDY_PIXEL_PERCENTAGE < 20, mas pequenas nuvelas parecem água (NDWI alto) ou vegetação densa (NDVI alto).
Solução Profissional:
// Não basta filtrar CLOUDY_PIXEL_PERCENTAGE
// Use também SCL (Scene Classification Layer)
var s2 = ee.ImageCollection('COPERNICUS/S2_SR_HARMONIZED')
.map(function(img) {
// Máscara de nuvem rigorosa
var scl = img.select('SCL');
var mask = scl.neq(3) // 3 = nuvem
.and(scl.neq(8)) // 8 = nuvem de cirrus
.and(scl.neq(9)) // 9 = sombra
.and(scl.neq(10)); // 10 = nuvem com sombra
return img.updateMask(mask);
});
❌ Problema 3: Comparar Satélites Diferentes Sem Harmonizar
Erro Clássico:
2020: NDVI Landsat = 0.68
2024: NDVI Sentinel-2 = 0.65
Conclusão ERRADA: "Vegetação degradou 3 pontos"
Realidade: Diferença é calibração dos satélites, não mudança real.
Solução: Usar sempre o mesmo satélite, OU usar dados harmonizados.
Sentinel-2_SR_HARMONIZED já inclui correção para concordar com Landsat.
❌ Problema 4: Ignorar Fenologia (Ciclos Sazonais)
Erro: Comparar Maio (inverno seco em bioma tropical) com Março (primavera/verão).
NDVI da mesma floresta:
Março (chuva): 0.82
Maio (transição): 0.78
Julho (seco): 0.72
Se você comparar Julho 2023 com Maio 2024, não sabe se foi degradação ou variação sazonal.
Solução: Sempre comparar MESMA época do ano (±30 dias).
❌ Problema 5: Resolução Inadequada Para Aplicação
Sentinel-2 tem resolução 10m (1 pixel = 100m²). Ideal para:
✅ Municípios (>1000 km²)
✅ Propriedades grandes (>500 ha)
✗ Talhões pequenos (<5 ha)
Para análise de talhão pequeno, você precisa:
PlanetScope (3m), ou
Análise terrestre (espectroradiômetro, drone), ou
Aceitar que representará média de múltiplos talhões
❌ Problema 6: Atribuir Causalidade sem Validação
Erro: NDVI caiu → Logo deve ser desmatamento.
Pode ser também:
Seca anormal (NDVI volta ao normal após chuva)
Evento de vento/tempestade (recuperação em semanas)
Praga de insetos (temporária, reflorestação recupera)
Colheita agrícola planejada (recuperação em próxima estação)
Solução: Use série temporal (12+ meses) para distinguir mudança permanente de variação.
❌ Problema 7: Índices Únicos não Diferenciam Tipos de Cobertura
NDVI = 0.60 pode ser:
Plantação de eucalipto
Pastagem bem-mantida
Floresta secundária 3 anos
Todas indistinguíveis por NDVI.
Solução: Combinar índices:
NDVI + GNDVI: Eucalipto (GNDVI baixo) vs Pastagem (GNDVI moderado)
NDVI + SIPI: Estrutura diferentes
Idealmente: Ground truth (ir ao campo)
❌ Problema 8: Não Considerar Atmospheric Effects
Imagem do mesmo local em dois dias:
Dia 1 (céu limpo): NDVI = 0.72
Dia 2 (céu com fumaça): NDVI = 0.68 (4 pontos menos!)
Solução:
Usar produtos "SR" (Surface Reflectance) em vez de TOA
Usar EVI em vez de NDVI (mais resistente)
Filtrar por AOD (Aerosol Optical Depth) quando possível
❌ Problema 9: Misturar Dados de Épocas com Precipitação Diferente
NDMI (umidade) é altíssimo durante chuva, baixíssimo em seca. Se você comparar fim de janeiro (auge chuva) com agosto (seca), conclusões sobre "saúde" são enganosas.
Solução: Sempre normalizar por precipitação histórica (usar índice de anomalia climática).
❌ Problema 10: Assumir Pixels NDVI Baixo = Desmatamento
NDVI < 0.2 pode ser:
✓ Desmatamento real
✓ Estrada/asfalto
✓ Rocha/afloramento
✓ Sombra de nuvem
✓ Água turva
Solução: Use máscara de água, máscara de sombra, análise de mudança temporal.
❌ Problema 11: Extrapolação de Modelos Sem Validação Local
Equação calibrada em São Paulo:
Biomassa = EVI × 5.2
Aplicar diretamente na Amazônia dará estimativas erradas (diferentes espécies = relação EVI-biomassa diferente).
Solução: Validar ecuação com dados locais (inventário florestal, LiDAR).
❌ Problema 12: Publicar Resultados Sem Indicadores de Incerteza
Solução: Sempre incluir: erro de classificação, matriz de confusão, validação de 5-10% pixels.
6. Workflows Avançados: Combinação de Índices para Robustez
6.1 Abordagem Multi-Índice Profissional
Profissionais não usam 1 índice. Usam uma "bateria" de índices que validam a mesma conclusão por ângulos diferentes.
Workflow 1: Monitoramento Florestal Completo
1
NDVI - Detecta presença de vegetação viva
Se NDVI < 0.3 → Alerta baixa
2
EVI - Diferencia tipos de floresta
EVI 0.7+ = Floresta primária, EVI 0.5-0.7 = Secundária
3
NDBI - Detecta desmatamento (abertura da copa)
Se NDBI aumenta > 0.1 → Suspeita de clearing
4
MNDWI - Detecta alagamentos (degradação)
Se MNDWI > 0.3 persistente → Área alagada (problema ambiental)
5
NBR/dNBR - Mostra dano por fogo/tempestade
Se dNBR > 0.27 → Severidade alta (alerta)
6
Score Final: Condição = AND (NDVI>0.3) AND (NDBI<0.2) AND (MNDWI<0.3) AND (dNBR<0.1)
Apenas pixels que passam em TODOS os testes = Floresta saudável
6.2 Workflow 2: Validação de Reflorestamento (Créditos de Carbono)
1
Baseline (T0, ano 0): Calcule EVI, NDVI, BSI da área antes do projeto
2
Monitor (T1, anos 1-3): Espere crescimento. Observe: EVI deve > +0.3 (novo crescimento)
3
Validação T2 (anos 4-9): Compare EVI. Crescimento linear = Real
4
Teste de Fraude: BSI deve PERMANECER baixo (sem solo exposto). Se BSI aumenta = Desmatamento durante reflorestamento (falha)
5
Score de Integridade: Integridade = (EVI_crescimento AND BSI_baixo AND NDVI_crescimento AND Sem_perturbação_NDBI)
6
Emissão de Crédito: Apenas pixels com Integridade = 100% geram créditos de carbono. Teste de validação passado.
6.3 Configuração Automática em GEE: Script Profissional
// WORKFLOW PROFISSIONAL: MONITORAMENTO FLORESTAL MULTI-ÍNDICE
// CONFIGURAÇÃO
var regiao = ee.Geometry.Rectangle([-65, -10, -62, -8]); // Amazônia
var inicio = '2024-01-01';
var fim = '2024-03-31';
var cloud_threshold = 10; // Máximo 10% nuvem
// 1. CARREGAR E LIMPAR
var s2 = ee.ImageCollection('COPERNICUS/S2_SR_HARMONIZED')
.filterBounds(regiao)
.filterDate(inicio, fim)
.filter(ee.Filter.lt('CLOUDY_PIXEL_PERCENTAGE', cloud_threshold))
.map(function(img) {
var qa = img.select('QA60');
var mask = qa.bitwiseAnd(1 << 10).eq(0)
.and(qa.bitwiseAnd(1 << 11).eq(0));
return img.updateMask(mask);
})
.median();
// 2. EXTRAIR BANDAS
var nir = s2.select('B8');
var red = s2.select('B4');
var green = s2.select('B3');
var blue = s2.select('B2');
var swir1 = s2.select('B11');
var swir2 = s2.select('B12');
// 3. CALCULAR ÍNDICES
var ndvi = nir.subtract(red).divide(nir.add(red)).rename('NDVI');
var evi = nir.subtract(red).divide(
nir.multiply(6).add(red.multiply(-7.5))
.add(blue.multiply(7.5)).add(1)
).multiply(2.5).rename('EVI');
var ndbi = swir1.subtract(nir).divide(swir1.add(nir)).rename('NDBI');
var mndwi = green.subtract(swir1).divide(green.add(swir1)).rename('MNDWI');
var bsi = swir1.add(red).subtract(nir.add(blue))
.divide(swir1.add(red).add(nir.add(blue))).rename('BSI');
var nbr = nir.subtract(swir2).divide(nir.add(swir2)).rename('NBR');
// 4. TESTES DE INTEGRIDADE
var test_ndvi = ndvi.gt(0.3).rename('T_NDVI');
var test_evi = evi.gt(0.25).rename('T_EVI');
var test_ndbi = ndbi.lt(0.2).rename('T_NDBI');
var test_mndwi = mndwi.lt(0.3).rename('T_MNDWI');
var test_bsi = bsi.lt(0.5).rename('T_BSI');
// 5. SCORE FINAL (TODOS TESTES)
var integridade = test_ndvi.and(test_evi)
.and(test_ndbi).and(test_mndwi).and(test_bsi).rename('Integridade');
// 6. MAPA FINAL
var resultado = ndvi.addBands(evi).addBands(ndbi)
.addBands(mndwi).addBands(bsi).addBands(nbr)
.addBands(integridade);
// 7. ESTATÍSTICAS
var stats = resultado.reduceRegion({
reducer: ee.Reducer.mean(),
geometry: regiao,
scale: 30,
maxPixels: 1e8
});
print('=== RESUMO MULTI-ÍNDICE ===');
print('NDVI (média):', ee.Number(stats.get('NDVI')).round(3));
print('EVI (média):', ee.Number(stats.get('EVI')).round(3));
print('NDBI (média):', ee.Number(stats.get('NDBI')).round(3));
print('MNDWI (média):', ee.Number(stats.get('MNDWI')).round(3));
print('BSI (média):', ee.Number(stats.get('BSI')).round(3));
print('Pixels com integridade 100%:',
integridade.multiply(ee.Image.pixelArea())
.reduceRegion(ee.Reducer.sum(), scale: 30)
.get('Integridade'));
// 8. VISUALIZAR
Map.addLayer(ndvi, {min: 0, max: 1, palette: ['red', 'yellow', 'green']}, 'NDVI');
Map.addLayer(evi, {min: 0, max: 0.8, palette: ['red', 'yellow', 'green']}, 'EVI', false);
Map.addLayer(integridade, {palette: ['red', 'green']}, 'Integridade', false);
Map.centerObject(regiao, 10);
7. Casos Profissionais Reais: 2024-2026
7.1 Caso 1: Validação de Créditos de Carbono (Banco Mundial)
Projeto: REDD+ em Mato Grosso Objetivo: Validar 100.000 hectares reflorestados em 5 anos Stakeholders: Banco Mundial, TNC, Governo de MT
Metodologia de Índices:
Baseline 2019: EVI média = 0.35 (solo com pouca vegetação)
Ano 1 (2020): EVI = 0.45 (+0.10, crescimento esperado)
Ano 3 (2022): EVI = 0.58 (+0.23 acumulado, bom progresso)
Ano 5 (2024): EVI = 0.70 (+0.35 acumulado, florestação confirmada)
Validações Secundárias:
BSI permaneceu < 0.2 (sem solo exposto = reflorestamento real, sem interrupção)
NDBI não aumentou (sem desmatamento durante projeto)
MNDWI estável (sem alagamento anormal = terreno estável)
Ground truth em 5 pontos: 100% confirmou estimativa de satélite
Resultado:
✅ Projeto APROVADO para emissão de créditos
✅ Estimativa de 500.000 toneladas CO2 sequestrado (válido por 5 anos)
✅ Custo de validação: R$ 50.000 (em vez de R$ 500.000 com métodos clássicos)
✅ Tempo: 6 meses (em vez de 18 meses com campo)
Lição Aprendida: Índices múltiplos permitem validação com confiança sem necessidade de campo extensivo. A redundância (múltiplos índices validando mesma hipótese) cria robustez.
7.2 Caso 2: Detecção Automática de Garimpo Ilegal
Projeto: Fiscalização 2024, Rio de Janeiro Objetivo: Localizar garimpagem ilegal em Terra Indígena Stakeholders: PF, FUNAI, ICMBio
Metodologia:
Garimpo deixa assinatura espectral específica:
NDVI muito baixo (< 0)
BSI muito alto (> 0.6)
MNDWI alto (bacias de sedimentação)
NDBI moderado (acampamento do garimpo)
Mudança rápida em tempo (aparece em semanas)
Implementação:
// Detectar garimpo automaticamente
var garimpo_suspeito = ndvi.lt(0).and(bsi.gt(0.6))
.and(mndwi.gt(0.2)).and(ndbi.gt(0.1));
// Apenas mudanças recentes (últimas 4 semanas)
var garimpo_recente = garimpo_atual.and(
garimpo_anterior.not()
);
// Localizar coordenadas e alertar
var alertas = garimpo_recente.reduceToVectors({
geometry: area_ti,
scale: 30
});
// Exportar para mapa de campo
Export.table.toAsset({
collection: alertas,
description: 'Alertas_Garimpo_Semana'
});
Resultado 2024:
47 possíveis localidades de garimpo identificadas
Fiscalização confirmou 45 (96% de acurácia) ✅
2 eram falsos positivos (afloramentos rochosos naturais)
Tempo entre detecção e ação: 7 dias (em vez de meses de investigação clássica)
Conclusão Forense: ✅ Desmatamento real, não é rotação agrícola temporária
NDVI baixo = ausência de vegetação
BSI alto = solo nu = não há repouso para regenerar
Combinação = corte raso (madeira removida), não manejo florestal sustentável
Ação Legal:
✅ Multa ambiental: R$ 500.000
✅ Recomposição: 500 ha reflorestamento
✅ Evidência aceita em tribunal (satélites fornecem prova técnica irrefutável)
Tempo total investigação: 2 semanas (em vez de 6 meses de agrimensura clássica)
8. Os 12 Erros Mais Comuns e Como Evitá-los
Baseado em 200+ projetos analisados, estes são os erros que mais comprometem resultados:
8.1 Matriz de Erros: Frequência vs Impacto
Erro
Frequência
Impacto
Severidade
Solução
Ignorar nuvens
85% dos projetos
Alto (5-20% erro)
CRÍTICO
Sempre usar SCL + CLOUDY_PIXEL_PERCENTAGE < 5%
Comparar épocas diferentes
70%
Alto (10-30% erro)
CRÍTICO
Sempre ±30 dias da mesma estação
Índice único sem validação
60%
Médio (5-15%)
ALTO
Sempre combinar 2-3 índices
Resolução inadequada
50%
Médio (faz agregação errada)
MÉDIO
Escolher escala apropriada antes de começar
Não normalizar atmosfericamente
45%
Médio (3-8% erro)
MÉDIO
Usar SR (Surface Reflectance) sempre
Threshold aleatório
40%
Alto (muda conclusão)
CRÍTICO
Calibrar com ground truth (5-10 pontos)
Confundir correção de bandas
35%
Alto (índice invertido)
CRÍTICO
Sempre verificar: NIR > Vermelho para vegetação
Ignorar mascaramento de água
30%
Médio (pixels confusos)
MÉDIO
Usar máscara de água antes de análise
Não validar em campo
85% dos projetos iniciais
Alto (descobrir erros depois)
CRÍTICO
Visita campo para 5-10% dos pixels classificados
Extrapolação de fórmulas
25%
Alto (resultados inúteis em novo local)
CRÍTICO
Re-calibrar equações para cada região bioclimática
Publicar sem incerteza
40%
Alto (credibilidade perdida depois)
CRÍTICO
Sempre incluir: IC 95%, matriz confusão, OA%
GEE timeout (timeout de processamento)
50% em projetos grandes
Médio (restart, lento)
MÉDIO
Usar reduceRegion com scale apropriado, limpar cache
9. Ground Truth: Validação em Campo Profissional
9.1 Por Que Ground Truth é Essencial
Realidade: 90% dos projetos de sensoriamento remoto que falham é por falta de validação adequada em campo.
A imagem de satélite é apenas uma hipótese. A realidade de campo é a verdade.
9.2 Protocolo Profissional de Validação
1
Amostragem Estratificada: Não visite aleatoriamente. Visite cada classe de cobertura proporcionalmente (se 60% floresta, 40% colheita → 6 pontos em floresta, 4 em colheita)
2
Tamanho Mínimo: 30-50 pontos por classe (em áreas <5000 km²). Para áreas maiores: N = sqrt(área em km²) × 2
3
Geolocalização Precisa: Use GPS diferencial (±1m), não smartphone (±10m). Erros de localização > erro de classificação
4
Fotografia com Geotag: Tire foto da cobertura com câmera que grava GPS. Essencial para auditoria posterior
5
Descrição Estruturada: Não basta foto. Anote: tipo de vegetação exato, saúde, presença de água, cobertura (%), altura estimada
6
Extração de Índice: Para cada ponto GPS, extraia valor do índice do pixel satélite mais próximo. Compare: valor satélite vs classe campo
7
Matriz de Confusão: Monte tabela 2D: linhas = classe real (campo), colunas = classe detectada (satélite). Calcule acurácia geral (%)
8
Se OA (Overall Accuracy) < 85%: Problema! Ajuste thresholds e repita análise. Se ainda < 85%, considere índices diferentes
User Accuracy (floresta): TP / (TP + FP) = 42 / 44 = 95.5% (confiabilidade ao dizer "é floresta")
Kappa: 0.85 (ótimo)
✅ Conclusão: Classificação aprovada! OA > 85%, pode publicar com confiança.
10. Tendências Futuro: IA, Hiperspectral e Blockchain (2026-2028)
10.1 Índices Descobertos por IA (Machine Learning)
Índices como NDVI foram criados manualmente (pesquisadores pensaram: "que combinação de bandas funciona bem?"). Agora, IA descobre índices otimizados automaticamente.
Exemplo: IA Descobrindo Índice Novo Para Detectar Palma (Óleo)
Pesquisadores treinaram rede neural com 1.000 imagens de satélite + ground truth de palma vs não-palma. A rede descobriu automaticamente:
Comentários