Pasar al contenido principal
Compartir en:

Indices espectrales multiespectrales

Teledetección · Análisis multiespectral

Índices espectrales multiespectrales: del NDVI al BSI, sin recetas

Diecisiete índices, una sola lógica: aprovechar dónde la vegetación, el agua, la nieve, el suelo o las cicatrices de fuego separan sus firmas espectrales. Esta guía cubre las fórmulas, los rangos útiles, los errores típicos y cómo calcularlos sobre Landsat, Sentinel-2 o cualquier sensor multiespectral con el plugin Geomaticape para QGIS.

1. Por qué un cociente normalizado

Un índice espectral es, casi siempre, una resta dividida por una suma. Esa estructura matemática no es estética: hace tres cosas a la vez.

Primero, amplifica el contraste entre dos bandas donde la superficie de interés se comporta muy distinto. La vegetación sana absorbe casi toda la luz roja (clorofila) y refleja muy fuerte en el infrarrojo cercano (estructura celular del mesófilo). Restar las dos magnifica esa diferencia.

Segundo, normaliza por brillo. Una pendiente sombreada y una pendiente iluminada pueden tener reflectancias absolutas muy diferentes en cada banda, pero si el cociente entre bandas se preserva, el índice queda razonablemente estable. Por eso un NDVI de 0.7 en una ladera norte y otro 0.7 en una ladera sur dicen, al menos en primer orden, lo mismo.

Tercero, limita el rango. La forma \( (A-B)/(A+B) \) acota el resultado entre −1 y +1. Eso facilita comparar imágenes entre fechas, sensores y zonas distintas, siempre que estén en reflectancia (Surface Reflectance, SR).

Pre-requisito que casi nadie verifica: los índices solo son comparables si las imágenes están corregidas atmosféricamente. Aplicar NDVI sobre números digitales (DN) crudos o sobre Top-of-Atmosphere (TOA) genera valores que parecen razonables pero no son trazables entre fechas. Trabaja con productos SR (Landsat Collection 2 Level-2, Sentinel-2 L2A, MODIS MOD09).

2. Cómo se separan las superficies en el espectro

Antes de elegir un índice conviene tener clara la firma espectral típica de cada superficie. La regla informal es: cada superficie tiene un par de bandas donde "se delata", y el índice se construye explotando ese par.

BLUE
~490 nm
GREEN
~560 nm
RED
~665 nm
RE
~705-740
NIR
~840 nm
SWIR1
~1610 nm
SWIR2
~2200 nm

Resumen práctico:

Superficie Refleja alto en… Absorbe / refleja bajo en… Índice típico
Vegetación sana NIR RED, BLUE NDVI, EVI, SAVI
Vegetación seca / estresada SWIR1, SWIR2 NIR (cae) NDMI, NBR
Agua GREEN, BLUE NIR, SWIR (absorbe casi todo) NDWI, MNDWI
Nieve / hielo VIS (todas), GREEN SWIR1 (fuerte absorción) NDSI
Suelo desnudo SWIR1, RED NIR (relativamente bajo) BSI
Áreas quemadas SWIR2 NIR (carbón pierde estructura) NBR, dNBR

Con esa tabla en la cabeza, los 17 índices del plugin son combinaciones lógicas, no fórmulas que haya que memorizar.

Grupo I — Vegetación verde NDVI y la familia de la diferencia normalizada
NDVI Normalized Difference Vegetation Index — Rouse et al., 1974
Bandas requeridas: NIR, RED
\[ \text{NDVI} = \frac{\text{NIR} - \text{RED}}{\text{NIR} + \text{RED}} \]

El índice de referencia. Aprovecha la fuerte absorción de clorofila en el rojo y la alta reflectancia del NIR por dispersión en el mesófilo. Útil prácticamente en cualquier estudio de cobertura, fenología, biomasa relativa y deforestación.

Rango interpretativo (SR): agua y nubes < 0; suelo desnudo 0.05–0.20; vegetación rala 0.2–0.4; cultivos en crecimiento 0.4–0.6; bosque denso o cultivo en plenitud 0.6–0.85.

Limitación crítica: satura en biomasa alta. Por encima de NDVI ≈ 0.8 deja de discriminar diferencias reales de biomasa o LAI. En bosques tropicales la sensibilidad es prácticamente nula. También sobreestima en suelos oscuros y subestima sobre suelos claros.

Grupo II — Refinamientos sobre NDVI Cuando el suelo o la atmósfera contaminan la señal
SAVI Soil-Adjusted Vegetation Index — Huete, 1988
Bandas: NIR, RED · L = 0.5
\[ \text{SAVI} = \frac{(\text{NIR} - \text{RED})}{(\text{NIR} + \text{RED} + L)} \cdot (1+L) \]

Introduce un factor de ajuste de suelo \(L\) para reducir la sensibilidad al brillo del fondo. Pensado para zonas semiáridas y cultivos con cobertura parcial, donde el suelo aporta una fracción no despreciable a la señal por píxel.

Cuestionable: el plugin fija \(L=0.5\), valor que Huete propuso como compromiso para cobertura intermedia. La literatura recomienda \(L=1\) en cobertura muy baja y \(L=0.25\) en cobertura densa. Si trabajas en un cultivo bajo riego con dosel cerrado o, al revés, en estepa rala, \(L=0.5\) es una decisión por defecto, no necesariamente la correcta. Conviene validar contra datos de campo.
MSAVI Modified SAVI — Qi et al., 1994
Bandas: NIR, RED
\[ \text{MSAVI} = 0.5 \cdot \left[ 2\,\text{NIR} + 1 - \sqrt{(2\,\text{NIR}+1)^2 - 8(\text{NIR} - \text{RED})}\right] \]

Resuelve el problema del \(L\) fijo: el ajuste por suelo se calcula píxel a píxel a partir de la propia geometría de la señal. Útil cuando no se sabe a priori la cobertura vegetal de la escena (mosaicos heterogéneos, monitoreo de revegetación post-incendio o post-minería).

El precio es computacional: incluye una raíz cuadrada por píxel. En rasters grandes (Sentinel-2 tile completo, 10 m) la diferencia con SAVI puede notarse en tiempo de ejecución.

EVI Enhanced Vegetation Index — Huete et al., 2002 (MODIS)
Bandas: NIR, RED, BLUE
\[ \text{EVI} = 2.5 \cdot \frac{\text{NIR} - \text{RED}}{\text{NIR} + 6\,\text{RED} - 7.5\,\text{BLUE} + 1} \]

Diseñado para superar dos limitaciones del NDVI: la saturación en biomasa alta y el ruido residual atmosférico (aerosoles). El término con BLUE actúa como corrección de aerosoles; los coeficientes \(C_1=6\), \(C_2=7.5\) y \(L=1\) fueron calibrados para MODIS.

A tener presente: aplicar EVI con coeficientes MODIS-tuned a Sentinel-2 o Landsat 8 funciona razonablemente, pero los valores absolutos no son directamente comparables con productos MODIS oficiales. Si comparas series largas EVI Landsat–Sentinel, mantén el sensor constante.
EVI2 EVI sin banda Blue — Jiang et al., 2008
Bandas: NIR, RED
\[ \text{EVI2} = 2.4 \cdot \frac{\text{NIR} - \text{RED}}{\text{NIR} + \text{RED} + 1} \]

Versión simplificada de EVI sin la banda azul. Pensada para sensores que no la tienen o cuando la banda azul es ruidosa (sobre nubes finas, humo). Conserva buena parte del comportamiento anti-saturación del EVI a un costo en bandas. Recomendable cuando trabajas con CBERS-04A WPM o RapidEye, donde la calibración del azul puede ser problemática.

Grupo III — Fisiología y clorofila Ir más allá del verdor general
GNDVI Green NDVI — Gitelson y Merzlyak, 1996
Bandas: NIR, GREEN
\[ \text{GNDVI} = \frac{\text{NIR} - \text{GREEN}}{\text{NIR} + \text{GREEN}} \]

Sustituye RED por GREEN. El verde es más sensible a variaciones de concentración de clorofila en hojas ya bien desarrolladas (cuando el rojo ya saturó). Más útil que NDVI para discriminar nitrógeno foliar en cultivos como maíz o trigo en fases medias-tardías.

GCI Green Chlorophyll Index — Gitelson et al., 2003
Bandas: NIR, GREEN
\[ \text{GCI} = \frac{\text{NIR}}{\text{GREEN}} - 1 \]

Razón simple, sin normalización. Correlaciona linealmente con contenido de clorofila en un rango más amplio que el GNDVI, lo que lo hace útil en agricultura de precisión cuando se busca una variable continua, no acotada, para regresiones. No tiene techo definido.

NDREI Normalized Difference Red-Edge Index — Gitelson y Merzlyak, 1994
Bandas: NIR, RED-EDGE
\[ \text{NDREI} = \frac{\text{NIR} - \text{RED EDGE}}{\text{NIR} + \text{RED EDGE}} \]

Aprovecha el "borde rojo" (705–740 nm), región donde la reflectancia sube abruptamente y es muy sensible a estrés temprano. Detecta deficiencias nutricionales o hídricas antes de que se vean en NDVI.

Punto ciego frecuente: Sentinel-2 tiene tres bandas red-edge (B5, B6, B7). El plugin pide una sola banda RED-EDGE: la elección no es trivial. B5 (705 nm) es la más cercana al borde y la que la literatura recomienda para clorofila; B7 (783 nm) ya está casi en NIR. Si comparas NDREI entre escenas o estudios, documenta cuál RE usaste.
Grupo IV — Agua y humedad El agua absorbe casi todo en NIR y SWIR
NDWI McFeeters, 1996 — agua superficial
Bandas: GREEN, NIR
\[ \text{NDWI} = \frac{\text{GREEN} - \text{NIR}}{\text{GREEN} + \text{NIR}} \]

Detecta cuerpos de agua aprovechando que el agua refleja moderado en verde y prácticamente nada en NIR. Umbral típico: NDWI > 0 indica agua. Útil para delimitar lagunas, embalses, ríos anchos.

Falla previsible: confunde agua con superficies impermeables urbanas (asfalto, techos), porque el NIR cae también en construcciones. Para zonas urbanas usar siempre MNDWI.

MNDWI Modified NDWI — Xu, 2006
Bandas: GREEN, SWIR1
\[ \text{MNDWI} = \frac{\text{GREEN} - \text{SWIR1}}{\text{GREEN} + \text{SWIR1}} \]

Sustituye NIR por SWIR1. El SWIR penaliza más fuerte cualquier superficie no acuática (las construcciones reflejan SWIR mientras el agua lo absorbe casi por completo). Es el índice de agua de elección en zonas mixtas urbanas-naturales y para series temporales de cuerpos hídricos en cuencas con presión antrópica.

NDMI Normalized Difference Moisture Index — humedad foliar
Bandas: NIR, SWIR1
\[ \text{NDMI} = \frac{\text{NIR} - \text{SWIR1}}{\text{NIR} + \text{SWIR1}} \]

No detecta agua superficial: detecta humedad en la vegetación. SWIR1 es muy sensible al contenido hídrico foliar. NDMI alto = vegetación bien hidratada; valores bajos sostenidos en estación seca anticipan estrés y riesgo de incendio. Es el índice estándar para monitoreo de sequía vegetacional, complementario al NDVI.

Grupo V — Fuego y áreas quemadas El carbón cambia la firma espectral en SWIR
NBR Normalized Burn Ratio — Key y Benson, 2006
Bandas: NIR, SWIR2
\[ \text{NBR} = \frac{\text{NIR} - \text{SWIR2}}{\text{NIR} + \text{SWIR2}} \]

Vegetación viva: NIR alto, SWIR2 bajo, NBR alto. Vegetación quemada: NIR cae (estructura destruida), SWIR2 sube (suelo expuesto y carbón), NBR baja. Usar siempre como diferencia pre-fuego menos post-fuego (\( \Delta\text{NBR} \)) para clasificar severidad según la escala USGS.

Tabla práctica de severidad (\( \Delta\text{NBR} \)): < 0.1 no quemado; 0.1–0.27 leve; 0.27–0.44 moderado-bajo; 0.44–0.66 moderado-alto; > 0.66 severo.

NBR2 NBR-2 — recuperación post-incendio
Bandas: SWIR1, SWIR2
\[ \text{NBR2} = \frac{\text{SWIR1} - \text{SWIR2}}{\text{SWIR1} + \text{SWIR2}} \]

Variante que solo usa las dos bandas SWIR. Más sensible a la diferencia entre material quemado fresco y suelo desnudo, lo que la hace útil para monitoreo de recuperación a corto plazo y para discriminar áreas con humedad residual de áreas calcinadas. No reemplaza al NBR clásico, lo complementa.

Grupo VI — Nieve El SWIR1 distingue nieve de nubes
NDSI Normalized Difference Snow Index — Hall et al., 1995
Bandas: GREEN, SWIR1
\[ \text{NDSI} = \frac{\text{GREEN} - \text{SWIR1}}{\text{GREEN} + \text{SWIR1}} \]

La nieve refleja muy alto en visible y absorbe fuertemente en SWIR1; las nubes reflejan en ambas. Esa asimetría permite separarlas, problema clásico de detección satelital en alta montaña. Umbral operacional MODIS/Landsat: NDSI > 0.4 más NIR > 0.11 para evitar falsos positivos en sombras de agua.

En glaciares tropicales (Cordillera Blanca, Apolobamba, Vilcanota) NDSI sigue siendo el primer paso obligado para máscaras de hielo/nieve antes de aplicar clasificadores supervisados.

Grupo VII — Suelo desnudo Cuando lo que importa es lo que no tiene cobertura
BSI Bare Soil Index — Rikimaru et al., 2002
Bandas: SWIR1, RED, NIR, BLUE
\[ \text{BSI} = \frac{(\text{SWIR1} + \text{RED}) - (\text{NIR} + \text{BLUE})}{(\text{SWIR1} + \text{RED}) + (\text{NIR} + \text{BLUE})} \]

Combina las dos bandas que el suelo refleja fuerte (SWIR1, RED) contra las dos que refleja menos relativo a la vegetación (NIR, BLUE). Valores altos indican suelo expuesto. Útil para detectar deforestación reciente, áreas agrícolas en barbecho, expansión urbana sobre suelos rurales y degradación de tierras.

Riesgo: al usar cuatro bandas, BSI acumula errores residuales de calibración y atmósfera. Si la corrección atmosférica de la imagen es mediocre, BSI se contamina más rápido que un índice de dos bandas. Validar siempre contra una clasificación visual antes de generalizar.
Grupo VIII — Solo RGB (sin NIR) Para drones y sensores visibles
VARI Visible Atmospherically Resistant Index — Gitelson et al., 2002
Bandas: GREEN, RED, BLUE
\[ \text{VARI} = \frac{\text{GREEN} - \text{RED}}{\text{GREEN} + \text{RED} - \text{BLUE}} \]

Diseñado para estimar fracción de cobertura vegetal cuando solo hay RGB (drones, cámaras visibles). El término BLUE ayuda a compensar dispersión atmosférica residual. No es comparable a NDVI: sin NIR, la sensibilidad fisiológica es marginal.

NGRDI Normalized Green-Red Difference Index — Tucker, 1979
Bandas: GREEN, RED
\[ \text{NGRDI} = \frac{\text{GREEN} - \text{RED}}{\text{GREEN} + \text{RED}} \]

El más simple de todos: solo verde y rojo. Útil para detectar verdor en imágenes de drone RGB y como proxy crudo de biomasa en fenología fotográfica (cámaras phenocam). En aplicaciones serias de teledetección satelital queda obsoleto frente a NDVI; en drones agrícolas sin sensor multiespectral sigue siendo de uso diario.

12. Tabla comparativa rápida

Índice Bandas Aplicación principal Rango útil Limitación clave
NDVI NIR, RED Vegetación general 0.2–0.85 Satura en bosque denso
SAVI NIR, RED Cobertura parcial / semiárido 0.1–0.7 L=0.5 es fijo
MSAVI NIR, RED Cobertura desconocida 0.1–0.7 Más costoso de computar
EVI NIR, RED, BLUE Biomasa alta, atmósfera 0.0–1.0 Coeficientes MODIS-tuned
EVI2 NIR, RED Sensores sin banda BLUE 0.0–1.0 Sin compensación atmosférica
GNDVI NIR, GREEN Nitrógeno, clorofila 0.1–0.7 Falla en suelos verdosos
GCI NIR, GREEN Clorofila absoluta 0.5–10+ Sin techo definido
NDREI NIR, RED-EDGE Estrés temprano 0.1–0.5 Depende de cuál RE elijas
NDWI GREEN, NIR Agua superficial > 0 = agua Confunde con urbano
MNDWI GREEN, SWIR1 Agua en zona urbana > 0 = agua Necesita SWIR
NDMI NIR, SWIR1 Humedad foliar −0.2–0.6 Confunde estrés con senescencia
NBR NIR, SWIR2 Áreas quemadas (dNBR) −0.5–0.8 Usar siempre como Δ pre-post
NBR2 SWIR1, SWIR2 Recuperación post-fuego −0.2–0.5 Complementa, no reemplaza NBR
NDSI GREEN, SWIR1 Nieve / hielo > 0.4 = nieve Sombras pueden simular nieve
BSI SWIR1, RED, NIR, BLUE Suelo desnudo, deforestación −0.3–0.5 Sensible a calibración atmosférica
VARI GREEN, RED, BLUE Drones RGB −0.3–0.4 Sin información NIR
NGRDI GREEN, RED Phenocams, drones −0.2–0.3 Proxy crudo de biomasa

13. Errores comunes que arruinan resultados

Aplicar índices sobre productos TOA o DN crudos

Los rangos de interpretación están construidos sobre reflectancia de superficie. Si trabajas con Top-of-Atmosphere o números digitales, los valores se desplazan de forma no lineal entre escenas y ya no puedes comparar fechas. Verifica siempre la escala del producto: Sentinel-2 L2A viene escalado por 10000, Landsat C2L2 por 0.0000275 con offset −0.2.

Promediar índices entre sensores sin armonizar

NDVI Landsat 8 y NDVI Sentinel-2 NO son intercambiables sin corrección. Las funciones de respuesta espectral del rojo y NIR son distintas. Existen ecuaciones de armonización publicadas (HLS, Claverie et al., 2018) que conviene aplicar antes de unir series.

Asignar la banda equivocada al rol espectral

Es el error más banal y el más frecuente. En Landsat 8 SR el orden suele ser B2-B3-B4-B5-B6-B7 = Blue-Green-Red-NIR-SWIR1-SWIR2, pero si descargas un recorte ya procesado, las bandas pueden estar reordenadas. Confirma siempre la metadata antes de calcular.

Interpretar valores absolutos sin máscara de nubes

Un solo píxel de cirrus puede deformar histogramas. Aplica siempre la máscara de calidad (SCL en Sentinel-2 L2A, QA_PIXEL en Landsat C2L2) antes de extraer estadísticas zonales.

14. Cómo lo calculas en Geomaticape

El plugin Geomaticape v1.5 resuelve el problema central del cálculo de índices en QGIS: que cada sensor tiene un orden de bandas distinto. En vez de hardcodear "NIR = banda 4", el usuario asigna manualmente qué número de banda del raster cumple cada rol espectral (BLUE, GREEN, RED, RED-EDGE, NIR, SWIR1, SWIR2) y solo rellena las que el índice elegido necesita.

Configuración para Landsat 8 SR (recorte de 6 bandas B2-B7)

BLUE   = 1   (B2)
GREEN  = 2   (B3)
RED    = 3   (B4)
NIR    = 4   (B5)
SWIR1  = 5   (B6)
SWIR2  = 6   (B7)
RED-EDGE = (vacío, Landsat 8 no tiene)

Con esa asignación puedes correr 16 de los 17 índices. Solo NDREI queda fuera, porque Landsat no incluye red-edge.

Configuración para Sentinel-2 L2A

BLUE     = banda B2   (490 nm, 10 m)
GREEN    = banda B3   (560 nm, 10 m)
RED      = banda B4   (665 nm, 10 m)
RED-EDGE = banda B5   (705 nm, 20 m)  ← recomendado para NDREI
NIR      = banda B8   (842 nm, 10 m)
SWIR1    = banda B11  (1610 nm, 20 m)
SWIR2    = banda B12  (2200 nm, 20 m)

Importante: si tu raster apila bandas de distinta resolución (10 m + 20 m), debes resamplear primero a una resolución común. El plugin asume que todas las bandas ya están alineadas y al mismo tamaño de píxel.

Configuración para PlanetScope (4 bandas)

BLUE  = 1
GREEN = 2
RED   = 3
NIR   = 4

Con PlanetScope tienes acceso a NDVI, SAVI, MSAVI, EVI2, GNDVI, GCI, NDWI (McFeeters), VARI y NGRDI. SWIR no existe en PlanetScope, así que NDMI, NBR, MNDWI, NDSI y BSI quedan descartados.

Salida del plugin

Geomaticape produce un GeoTIFF de una sola banda en Float32 con compresión LZW. Conserva CRS y georreferencia de la imagen de entrada. Eso facilita encadenar el resultado en flujos posteriores: zonal statistics, clasificación supervisada, álgebra de mapas para construir \( \Delta \)NBR pre/post-fuego, o exportación a Google Earth Engine.

Flujo recomendado

  1. Validar que la imagen está en reflectancia de superficie y aplicar factores de escala.
  2. Aplicar máscara de calidad (nubes, sombras, agua según el caso).
  3. Si trabajas con Sentinel-2 mezclando 10 m y 20 m, resamplear todo a la resolución común.
  4. Configurar los roles espectrales en Geomaticape según el sensor.
  5. Calcular el índice y guardarlo en el proyecto.
  6. Para análisis temporal (fenología, dNBR, sequía), repetir para cada fecha y cargar como serie.

Geomaticape v1.5 para QGIS

17 índices espectrales sobre cualquier sensor multiespectral. Asignación libre de bandas. Salida GeoTIFF lista para análisis posterior.

Visita geomatica.pe →

GEOMÁTICA AMBIENTAL · Análisis espacial, teledetección y modelamiento ambiental. Soluciones GIS para evaluación ambiental, hidrología, ordenamiento territorial y agricultura.

Plugin Geomaticape v1.5 · Distribuido para QGIS 3.x

Las recomendaciones de uso, rangos y limitaciones presentadas se basan en literatura primaria (Rouse 1974, Huete 1988, Gitelson 1996–2003, Xu 2006, Key & Benson 2006, Jiang 2008, entre otros) y experiencia de aplicación en cuencas andinas y costeras del Perú.

Certifícate con los mejores

Agrega más conocimientos a tu curriculum.

Certifícate ahora