
Afuera está lloviendo a cántaros, de esa forma rítmica que solo se siente en Valdivia cuando el invierno se niega a soltarnos, y yo estoy aquí, con el sonido constante de las gotas golpeando el techo de zinc mientras el ventilador de mi laptop empieza a sonar como si quisiera despegar. Es una de esas tardes de agosto en las que el gris del cielo parece filtrarse hasta por los puertos USB, y yo sigo pegada a la pantalla, tratando de entender por qué mi mapa de NDVI se ve como una mancha verde oscura, aburrida y sin matices, justo sobre el cerro que veo desde mi ventana. Se supone que ahí hay de todo: coigües, helechos, renovales espesos, pero el bendito índice me dice que todo es 'máxima vegetación' y se queda tan ancho, como si no hubiera diferencias entre un bosque viejo y un matorral denso.
Llevo desde finales del invierno pasado metida en este baile de aprender RStudio por mi cuenta, y si algo he aprendido es que la frustración es parte del paisaje, casi tanto como la humedad en las paredes. El NDVI es genial, de verdad, es el primer amor de cualquiera que empieza en teledetección, pero cuando vives rodeada de tanta biomasa, el pobre se satura. Es como intentar distinguir matices de blanco en medio de una tormenta de nieve. Y ahí fue cuando, saltando de foro en foro y leyendo apuntes a media noche, me encontré con el EVI, el Índice de Vegetación Mejorado. Me prometieron que este índice sí podía ver a través de esa 'pared verde' y, lo mejor de todo, que corregía los ruidos que mete la atmósfera, esa neblina que aquí en el sur nunca nos deja tranquilos.
¿Por qué el EVI y no el NDVI para nuestro bosque?
A mediados de noviembre, cuando los días empezaron a estirarse un poquito más y el sol por fin se asomaba entre las nubes, me puse seria con el EVI. La gran diferencia, y esto es lo que me voló la cabeza al principio, es que el EVI no solo mira el rojo y el infrarrojo cercano como el NDVI. El EVI es más sofisticado, o quizás más desconfiado, porque usa la banda azul para ver cuánto está molestando la atmósfera. Es como si el índice se pusiera anteojos de sol para ver mejor a través del resplandor y las partículas de agua que siempre hay en el aire valdiviano.

Si alguna vez has intentado mapear zonas con mucha vegetación, habrás notado que el NDVI llega a un punto donde ya no sube más; se queda pegado cerca del 0.8 o 0.9 y ya no te dice si un árbol es más alto o si el follaje es más denso que el del vecino. El EVI, en cambio, sigue mostrando variaciones. Es mucho más sensible a la estructura del dosel. Pero claro, para alguien que no es programadora, la fórmula del EVI da un poco de susto cuando la ves por primera vez en un papel. Tiene paréntesis por todos lados y unas constantes que parecen números de la suerte, pero que en realidad son el secreto de su precisión. Si ya sabes cómo quitar nubes de imágenes Sentinel 2 en RStudio paso a paso, el proceso de cálculo te va a parecer un camino conocido, aunque con un par de curvas extra.
Los ingredientes: Las bandas de Landsat 8
Para este ejercicio, yo usé imágenes de Landsat 8, que son las que más me gustan porque están muy bien documentadas. Para calcular el EVI, no te sirve solo con el 'combo básico'. Necesitas identificar bien tres bandas específicas de tu archivo raster:
- Banda 5: El Infrarrojo Cercano (NIR), que es la que nos dice cuánta salud tiene la planta.
- Banda 4: El Rojo, que es la que absorbe la clorofila.
- Banda 2: El Azul, que es la clave para la corrección atmosférica que tanto menciono.
La fórmula del EVI y sus constantes 'mágicas'
Aquí es donde la cosa se pone interesante. La fórmula estándar que usa la NASA para el sensor MODIS, y que aplicamos a Landsat, no es un simple ratio. Es una ecuación que busca equilibrar las cosas. Después de un par de semanas de frustración, entendí que no podía saltarme estos valores porque son los que hacen que el EVI sea, bueno, mejorado. Estos números son fijos y, por suerte, no tenemos que inventarlos nosotros:
- G (Factor de ganancia): 2.5. Es como el volumen de la radio; amplifica la señal para que los cambios sean visibles.
- C1 y C2 (Coeficientes de resistencia atmosférica): 6 y 7.5 respectivamente. Estos usan la banda azul para corregir el ruido del aire.
- L (Ajuste de fondo de dosel): 1. Este es vital porque ayuda a que el brillo del suelo (cuando hay claros en el bosque) no nos mienta diciendo que hay menos vegetación de la que realmente existe.

El gran error que cometí durante varias tardes fue pensar que podía ignorar la banda azul o usar cualquier otra. Me acuerdo que pasé dos horas buscando un error en mi código para darme cuenta de que estaba usando la Banda 1 (que es para aerosoles costeros) en lugar de la Banda 2 (que es el Azul de toda la vida). En la pantalla todo se veía gris y sin sentido, y yo pensaba que era mi computador el que no daba más, pero era yo que no estaba leyendo bien la documentación del sensor. Esos son los momentos en que cierro la laptop y me voy a preparar un mate, porque el cerebro ya no ve ni los paréntesis.
Calculando el EVI en R paso a paso
Para trabajar con esto hoy en día, lo mejor es usar la librería terra. Antes usábamos raster, pero terra es mucho más rápida, y cuando trabajas con imágenes pesadas, se agradece que el computador no sufra tanto. Si te pasa que tu RStudio se queda pegado, quizás te sirva mirar esta solución a errores comunes al cargar rasters pesados en R que escribí hace un tiempo.
Primero, cargamos nuestras bandas. Imagina que ya tienes tus archivos .tif en tu carpeta de trabajo. El código se vería más o menos así, muy conversacional como me gusta a mí:
library(terra)
# Cargamos las bandas necesarias de Landsat 8
nir <- rast("ruta/al/archivo_B5.tif")
red <- rast("ruta/al/archivo_B4.tif")
blue <- rast("ruta/al/archivo_B2.tif")
# Definimos las constantes
G <- 2.5
C1 <- 6
C2 <- 7.5
L <- 1
# Calculamos el EVI
evi <- G * ((nir - red) / (nir + C1 * red - C2 * blue + L))
¡Y ya está! Bueno, 'ya está' es un decir. La primera vez que lo corrí, me salió un error de 'subscript out of bounds' porque había escrito mal el nombre de una variable. Típico de domingo por la tarde. Pero cuando esa línea finalmente corre sin ponerse roja, se siente como si hubieras logrado prender fuego con leña mojada.

El momento Eureka: Corrigiendo el paréntesis
Hubo un momento específico, ya terminando noviembre, donde casi tiro la toalla. Mi mapa de EVI salía con valores rarísimos, números gigantes que no tenían sentido. Resulta que en R, como en la vida, el orden de los factores sí altera el producto. Tenía un paréntesis mal puesto en el denominador. La fórmula tiene que ser muy precisa: G * ((NIR - Red) / (NIR + (C1 * Red) - (C2 * Blue) + L)). Si mezclas cómo se suman o restan los coeficientes con las bandas, el resultado es un desastre.
Lo que me di cuenta es que aplicar el EVI basándose únicamente en la fórmula estándar sin fijarse en qué bandas estás metiendo es el error más común del mundo. Tienes que aplicar obligatoriamente esa corrección usando la banda azul si quieres evitar falsos positivos en zonas de alta densidad vegetal. Si usas una imagen que no tiene banda azul (como algunas de drones más básicos), el EVI simplemente no es EVI, es otra cosa. Para nuestro bosque valdiviano, esa banda azul es la que marca la diferencia entre ver una mancha verde y ver los pliegues de la montaña.
Una vez que el mapa salió bien, lo siguiente que quise hacer fue separar el bosque de las praderas, y ahí me metí en el mundo de la clasificación. Si te interesa ir más allá del índice, te cuento mi experiencia en este post sobre cómo hacer una clasificación de coberturas vegetales en R paso a paso, que es básicamente el siguiente nivel después de dominar los índices.
Reflexiones bajo el sol de abril
Recuerdo perfectamente una mañana despejada de abril. El aire estaba helado pero el sol pegaba fuerte, y por fin logré exportar el mapa final del EVI. Lo puse al lado del NDVI que había hecho meses atrás y la diferencia era increíble. Donde el NDVI veía un bloque sólido de color, el EVI mostraba las quebradas, las zonas donde el bosque era más ralo y donde los árboles eran más robustos. Era como si hubiera limpiado los vidrios de mi ventana después de todo un invierno de lluvia.
Aprender estas cosas siendo una aficionada, alguien que no viene de las ciencias de la tierra ni de la ingeniería, tiene un sabor especial. Es lento, sí. A veces paso todo un sábado para lograr una sola línea de código que funcione. Pero cuando el mapa se despliega y reconoces el sendero por el que caminas los fines de semana, te das cuenta de que estas herramientas te permiten ver el territorio con una profundidad que los ojos no alcanzan. Ya no es solo 'el cerro verde'; es un ecosistema con ritmos y densidades que ahora puedo medir.

Si estás empezando y te sientes perdida entre tantas bandas y proyecciones, mi consejo es que guardes cada pedacito de código que te funcione. Yo tengo un cuaderno lleno de anotaciones sobre por qué la Banda 2 es el azul y no la 1, y esas notas me han salvado la vida más de una vez. Al final, la teledetección con R es un poco como el clima de Valdivia: puede ser duro y frustrante, pero cuando despeja, la vista vale totalmente la pena. No te olvides de recortar tu raster con un shapefile si solo quieres ver un área pequeña, eso ayuda mucho a que los procesos no duren una eternidad.
Espero que este pequeño diario de aprendizaje te sirva para que tu próximo mapa de EVI no sea un dolor de cabeza. Y si te equivocas de banda, no pasa nada, a todas nos ha pasado un domingo cualquiera mientras esperamos que deje de llover.