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