Sentinel-2 OptimizedVegetation Index

NDVI Processor

El Índice de Vegetación de Diferencia Normalizada (NDVI) es el estándar global para medir la salud de la biomasa mediante sensores remotos.

Fundamentos Técnicos

Sentinel-2 Core

NDVI utiliza la reflectancia diferencial entre las bandas Roja (Red) e Infrarrojo Cercano (NIR). La vegetación sana absorbe la luz roja y refleja fuertemente el NIR.

Banda Requerida 1

B04 (Red)

Longitud de onda central: 665nm. Resolución: 10m.

Banda Requerida 2

B08 (NIR)

Longitud de onda central: 842nm. Resolución: 10m.

Fórmula Matemática
NDVI = (NIR - RED) / (NIR + RED)

Interpretación de Valores

Análisis de Vegetación

0.8 a 1.0Vegetación densa y saludable (Bosques, cultivos maduros)
0.3 a 0.8Vegetación moderada (Arbustos, pastizales)
0.1 a 0.3Suelo desnudo o vegetación estresada
Menor a 0.1Agua, nieve o estructuras artificiales

Implementación

Python SDK / LayerProcessor

Nuestra implementación nativa maneja automáticamente la división por cero y los valores inválidos (NaNs) comunes en bordes de captura:

class NDVIProcessor(LayerProcessor):
    @property
    def name(self) -> str:
        return "ndvi"

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

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

        # Handle division by zero and NaNs
        np.seterr(divide='ignore', invalid='ignore')
        ndvi = (nir - red) / (nir + red)
        return ndvi