Sentinel-2 OptimizedHydration / Stress

NDMI Processor

El Índice de Humedad de Diferencia Normalizada (NDMI) se utiliza para monitorear el contenido de agua en la vegetación y el estrés hídrico en los cultivos.

Fundamentos Técnicos

Sentinel-2 Core

NDMI correlaciona la reflectancia del Infrarrojo Cercano (NIR) con el Infrarrojo de Onda Corta (SWIR). El SWIR es altamente sensible a la absorción de agua en el tejido foliar.

Banda Requerida 1

B08 (NIR)

Resolución: 10m.

Banda Requerida 2

B11 (SWIR-1)

Resolución: 20m.

Fórmula Matemática
NDMI = (NIR - SWIR) / (NIR + SWIR)

Interpretación de Humedad

Contenido de Agua en Dosel

0.4 a 1.0Contenido de agua alto (Sin estrés hídrico)
0.0 a 0.4Contenido de agua moderado-bajo (Estrés ligero)
-0.2 a 0.0Estrés hídrico severo / Vegetación seca
Menor a -0.2Suelo desnudo o áreas muy secas

Implementación

Python SDK / LayerProcessor

El procesador NDMI es esencial para la agricultura de precisión y la detección de riesgos de incendio:

class NDMIProcessor(LayerProcessor):
    """
    Normalized Difference Moisture Index (NDMI).
    Used to monitor vegetation water content and plant stress.
    NDMI = (NIR - SWIR) / (NIR + SWIR) -> (B08 - B11)
    """
    @property
    def name(self) -> str:
        return "ndmi"

    @property
    def required_bands(self) -> list[str]:
        return ["B08", "B11"]

    def calculate(self, bands_data: dict) -> np.ndarray:
        nir = bands_data["B08"]
        swir = bands_data["B11"]

        np.seterr(divide='ignore', invalid='ignore')
        ndmi = (nir - swir) / (nir + swir)
        return ndmi