Sentinel-2 OptimizedBurn Severity
NBR Processor
El Índice de Área Quemada Normalizado (NBR) es fundamental para identificar zonas afectadas por incendios y medir la severidad del daño en la vegetación.
Fundamentos Técnicos
Sentinel-2 Core
NBR aprovecha la respuesta de la vegetación en el Infrarrojo Cercano (NIR) y el Infrarrojo de Onda Corta (SWIR). La vegetación sana refleja mucho NIR, mientras que las áreas quemadas reflejan intensamente en el espectro SWIR.
Banda Requerida 1
B08 (NIR)
Longitud de onda central: 842nm. Resolución: 10m.
Banda Requerida 2
B12 (SWIR-2)
Longitud de onda central: 2190nm. Resolución: 20m.
Fórmula Matemática
NBR = (NIR - SWIR2) / (NIR + SWIR2)
Interpretación de Severidad
Escala dNBR
> 0.66Severidad Alta (Quema total de vegetación)
0.27 a 0.66Severidad Moderada-Alta
0.10 a 0.27Severidad Baja
-0.1 a 0.1No afectado / Regeneración
Implementación
Python SDK / LayerProcessor
El procesador NBR utiliza la banda 12 de Sentinel-2 para capturar la señal térmica de las cicatrices de fuego:
class NBRProcessor(LayerProcessor):
"""
Normalized Burn Ratio (NBR).
Used to identify burned areas and measure burn severity.
NBR = (NIR - SWIR2) / (NIR + SWIR2) -> (B08 - B12)
"""
@property
def name(self) -> str:
return "nbr"
@property
def required_bands(self) -> list[str]:
return ["B08", "B12"]
def calculate(self, bands_data: dict) -> np.ndarray:
nir = bands_data["B08"]
swir2 = bands_data["B12"]
np.seterr(divide='ignore', invalid='ignore')
nbr = (nir - swir2) / (nir + swir2)
return nbr