O DETER (Sistema de Detecção de Desmatamento em Tempo Real) é um sistema de alertas operado pelo INPE (Instituto Nacional de Pesquisas Espaciais) que detecta alterações na cobertura florestal em tempo quase-real. Diferente do PRODES, que fornece o dado oficial anual, o DETER é uma ferramenta de apoio à fiscalização imediata do desmatamento.
O sistema utiliza imagens dos satélites CBERS, Amazonia-1 e outros sensores de média resolução para emitir alertas diários de:
Desmatamento por corte raso — remoção completa da vegetação
Degradação florestal — extração seletiva de madeira, incêndios rasteiros
Mineração — atividade garimpeira em área florestal
Cicatriz de incêndio — áreas queimadas em floresta
O DETER cobre dois biomas:
DETER Amazônia — Amazônia Legal (desde 2004)
DETER Cerrado — bioma Cerrado (desde 2018)
Os alertas são enviados diretamente ao IBAMA e aos órgãos estaduais de meio ambiente para orientar ações de fiscalização em campo. Os dados públicos são disponibilizados na plataforma TerraBrasilis.
DETER vs PRODES: O DETER é o sistema de alerta rápido (resolução ~60m, atualização diária). O PRODES é o sistema de medição oficial (resolução 30m, publicação anual). O DETER detecta áreas a partir de 3 hectares, enquanto o PRODES mapeia áreas acima de 6,25 ha.
import geopandas as gpdimport pandas as pd# Baixar shapefile de alertas DETER do TerraBrasilis# Disponível em: http://terrabrasilis.dpi.inpe.br/downloads/gdf_deter = gpd.read_file("deter_amazonia_legal_2024.shp")print(f"Total de alertas: {len(gdf_deter):,}")print(f"Colunas: {list(gdf_deter.columns)}")print(f"CRS: {gdf_deter.crs}")print(f"Período: {gdf_deter['date'].min()} a {gdf_deter['date'].max()}")# Área total alertadaarea_total = gdf_deter["area_km2"].sum()print(f"Área total alertada: {area_total:,.1f} km²")
import pandas as pdimport geopandas as gpdgdf_deter = gpd.read_file("deter_amazonia_legal_2024.shp")gdf_deter["date"] = pd.to_datetime(gdf_deter["date"])gdf_deter["mes"] = gdf_deter["date"].dt.to_period("M")# Série mensal de alertasserie_mensal = ( gdf_deter.groupby("mes") .agg( num_alertas=("area_km2", "count"), area_total_km2=("area_km2", "sum"), ))print("Série mensal de alertas DETER:")print(serie_mensal.to_string())# Identificar meses com pico de desmatamentomedia = serie_mensal["area_total_km2"].mean()desvio = serie_mensal["area_total_km2"].std()picos = serie_mensal[serie_mensal["area_total_km2"] > media + desvio]print(f"\nMeses com alertas acima da média + 1 desvio ({media + desvio:,.1f} km²):")print(picos.to_string())
import geopandas as gpdimport pandas as pd# 1. Carregar alertas DETER recentesgdf_deter = gpd.read_file("deter_amazonia_2024.shp")gdf_deter = gdf_deter.to_crs("EPSG:4674") # SIRGAS 2000# 2. Carregar polígonos do CAR (imóveis rurais)gdf_car = gpd.read_file("car_imoveis_pa.shp") # Ex: imóveis do Parágdf_car = gdf_car.to_crs("EPSG:4674")# 3. Spatial join: alertas DETER dentro de imóveis do CARalertas_em_car = gpd.sjoin(gdf_deter, gdf_car, how="inner", predicate="within")print(f"Alertas DETER dentro de imóveis do CAR: {len(alertas_em_car):,}")print(f"Imóveis afetados: {alertas_em_car['cod_imovel'].nunique():,}")# 4. Ranking de imóveis com maior área de alertasranking = ( alertas_em_car.groupby(["cod_imovel", "nom_imovel"])["area_km2"] .sum() .sort_values(ascending=False) .head(20))print("\nTop 20 imóveis CAR com maior área de alertas DETER:")print(ranking.to_string())# 5. Identificar alertas dentro de Reserva Legalgdf_rl = gpd.read_file("car_reserva_legal_pa.shp").to_crs("EPSG:4674")alertas_em_rl = gpd.sjoin(gdf_deter, gdf_rl, how="inner", predicate="intersects")print(f"\nAlertas DETER que incidem sobre Reserva Legal: {len(alertas_em_rl):,}")