Sentinel-2 OptimizedUrban Analysis
NDBI Processor
El Índice de Edificación de Diferencia Normalizada (NDBI) se utiliza para mapear áreas urbanas y superficies construidas.
Fundamentos Técnicos
Sentinel-2 Core
Las áreas urbanas tienen una mayor reflectancia en el SWIR que en el NIR. NDBI resalta superficies impermeables y concreto.
Banda Requerida 1
B11 (SWIR-1)
Sensible a superficies urbanas.
Banda Requerida 2
B08 (NIR)
Mínima reflectancia en concreto.
Fórmula Matemática
NDBI = (SWIR - NIR) / (SWIR + NIR)
Interpretación de Valores
Detección de Superficies
> 0.1Áreas urbanas y superficies construidas (Concreto, asfalto)
-0.1 a 0.1Suelos desnudos o áreas abiertas
< -0.1Vegetación (Cuanto más bajo, más densa)
Implementación
Python SDK / LayerProcessor
El procesador NDBI es fundamental para el monitoreo del crecimiento urbano y expansión de infraestructura:
class NDBIProcessor(LayerProcessor):
"""
Normalized Difference Built-Up Index (NDBI).
NDBI = (SWIR - NIR) / (SWIR + NIR) -> (B11 - B08)
Positive values indicate built-up/urban areas, while negative
values typically represent vegetation.
"""
@property
def name(self) -> str:
return "ndbi"
@property
def required_bands(self) -> list[str]:
return ["B11", "B08"]
def calculate(self, bands_data: dict) -> np.ndarray:
swir = bands_data["B11"]
nir = bands_data["B08"]
np.seterr(divide='ignore', invalid='ignore')
ndbi = (swir - nir) / (swir + nir)
return ndbi