Erre Datos

Por qué aprender teledetección satelital con R en lugar de usar QGIS

El cursor lleva casi un minuto parpadeando sobre la misma línea de código: una banda infrarroja de una imagen Sentinel-2 de la Reserva Biológica Carara que se niega a alinearse con las demás, mientras en la otra pantalla QGIS carga la misma escena capa por capa, sin apuro, como si tuviera toda la tarde para hacerlo. Detrás de mí, una fila de papelitos con nombres de especies y rutas de archivo que anoté hace meses y ya no ubico me recuerda que perdí la cuenta de cuántas veces pasé exactamente por esto. Es la pregunta que más me hacen los que andan entre R y QGIS para hacer teledetección satelital o modelado de nicho ecológico de las mismas aves que salgo a contar los fines de semana con un grupo de conservación: ¿de verdad hace falta meterse al código, o me estoy complicando la vida solo por moda?

Antes de meternos de lleno: Erre Datos se sostiene con enlaces de afiliado, así que si comprás un curso desde alguno de los que menciono acá, yo me llevo una comisión y vos pagás exactamente lo mismo de siempre. Solo recomiendo lo que probé con mis propios dedos sobre el teclado o lo que revisé a fondo en la comunidad del curso; si algo es un cascarón vacío, no lo vas a encontrar en este blog, porque ya perdí suficientes tardes peleando con errores de sintaxis por los dos.

¿Vale la pena cambiar de QGIS a R para hacer teledetección satelital?

La respuesta corta es sí, si vas a repetir el mismo proceso más de un par de veces. Cuando arrancás con la teledetección, todo el mundo te manda a bajar QGIS: es gratis, se ve amigable y no pide una sola línea de código. El problema aparece cuando el trabajo se vuelve repetitivo. En logística aprendí que si hacés lo mismo diez veces a mano, en la undécima te equivocás, y con las imágenes de satélite pasa igual: quería comparar la salud de la vegetación entre distintos parches de bosque en Carara usando Sentinel-2, y cada imagen traía trece bandas espectrales que había que cargar, recortar y cruzar una por una.

Pantalla con un error de sintaxis en R durante un proceso de teledetección satelital, con anotaciones manuscritas sobre la falla

Después venía calcular el NDVI con la banda roja y la infrarroja cercana, y si quería repetir eso para diez fechas distintas terminaba con una carpeta llena de archivos con nombres como "mapa_final_v2_este_si_bueno.tif" y las muñecas resentidas de tanto clic. Antes de aterrizar del todo en R, probé por el lado de Python porque en los foros lo vendían como el lenguaje más moderno y con más futuro; no me arrepiento de haberlo intentado, pero la comunidad de modelado de nicho ecológico y de teledetección que yo necesitaba estaba armada alrededor de R, no de Python, y terminé rehaciendo en R buena parte de lo que ya había avanzado.

Cómo maneja R la memoria que a QGIS ya no aguanta

Mientras QGIS intenta dibujar cada píxel en pantalla cada vez que hacés zoom, R trabaja los datos fríos hasta que vos le pedís ver el resultado, y eso cambia todo cuando el archivo pesa varios gigas. El paquete terra fue mi puerta de entrada a esto (es de lo primero que te recomienda cualquiera en la comunidad de R en español apenas preguntás por dónde arrancar), y lo que antes era un dolor de cabeza para alinear bandas de distinta resolución se volvió una función que corrés una sola vez. Nathalie Fallas, colega de la comunidad de R en línea, me manda tutoriales en inglés que casi nunca termino de leer completos, pero igual copio el código de ahí y lo pruebo hasta que algo funciona o hasta que R me tira un mensaje de error que no había visto en mi vida.

Si estás buscando por dónde arrancar con esto, te recomiendo revisar los mejores paquetes de R para modelado de nicho, que te ahorran el rato de andar adivinando cuál instalar primero. Para los que venimos de afuera del mundo académico, el salto al código asusta (la verdad sea dicha), y por eso el curso de Modelado de Nicho Ecológico con Maxent en R me sirvió como entrada: no pide programación previa y te lleva directo al flujo de trabajo con datos de presencia de especies, algo clave para cualquiera metido en conservación de aves.

Manos escribiendo código de R para modelado de nicho ecológico junto a una guía de aves de conservación

¿Cuánto tiempo y plata hay que meterle antes de ver resultados?

Ahí es donde entra la automatización de verdad: pude escribir una función que revisa el ciclo de repetición de Landsat 8 (que pasa cada 16 días), filtra las imágenes con demasiada nube y arma un gráfico de tendencia de verdor sin que yo tuviera que abrir ni una carpeta a mano. Si vas a analizar un humedal chiquito o un área bastante más grande, el esfuerzo de escribir el script es prácticamente el mismo, y ahí es donde R le gana feo a QGIS en cualquier proyecto que dure más de una tarde. Para quien quiera llevar esto al siguiente nivel con imágenes satelitales completas, el curso de Teledetección Satelital con R y R-Studio es de los pocos que enseña a manejar los píxeles con calma, no solo en teoría.

La curva de aprendizaje es empinada, así de simple, y no hace falta comparar montañas para probarlo: vas a ver mensajes de error sin sentido, rutas de archivo que R jura que no existen aunque las estés viendo ahí mismo, y capas que salen completamente en blanco porque se te olvidó definir el sistema de coordenadas. Todavía recuerdo un mapa que mandé a imprimir para una reunión y que salió con el norte apuntando hacia abajo, todo porque configuré mal la proyección sin darme cuenta; nadie en la sala lo notó hasta que alguien giró la hoja para leer una etiqueta.

Mapa satelital impreso con proyección incorrecta junto a un gráfico de R en tablet, ejemplo de teledetección satelital con R

QGIS contra R: la comparación sin adornos

Para no quedarme solo en anécdotas, acá va lo que he visto después de meses de comparar los dos enfoques en la práctica, sin maquillar nada:

Característica QGIS (Visual) R (Código)
Facilidad inicial Alta (es como usar Photoshop) Baja (te vas a pelear con la consola)
Tareas repetitivas Pesadilla de clics Automatización total con scripts
Manejo de memoria Se traba con archivos grandes Eficiente (procesa por bloques)
Reproducción Difícil de documentar Copiás el script y listo

¿Qué curso conviene primero si estás arrancando de cero?

Depende de la pregunta que traigas. Si lo tuyo es entender cómo se relaciona una especie con su entorno y todavía no sabés ni qué es un raster, lo más sano es arrancar por lo básico del modelado y leer qué curso de MaxEnt elegir para principiantes antes de gastar en nada. Ahí es donde entra la métrica AUC para saber si un modelo predice bien o si solo adivina, y también las capas ambientales que buena parte de la gente descarga de WorldClim para armar el modelo desde cero.

En el foro de modelado de nicho donde participo hay un caso que resume bien esto: Plácido Arce, ornitólogo aficionado que lleva años observando aves, llegó ahí porque QGIS ya no le alcanzaba para hacer predicciones, y arma argumentos sólidos en los comentarios sin escribir una sola línea de código, aunque siempre termina subiendo capturas de sus mapas impresos y escaneados en vez de un script. Ese es justo el punto donde conviene distinguir dos cosas que la gente mezcla: modelar dónde podría estar una especie no es lo mismo que leer con imágenes satelitales lo que ya está pasando en el terreno, y confundir esas dos preguntas es la forma más común de comprar el curso equivocado.

Si ya tenés claro que el modelado te interesa y solo te falta afinar el método, ahí entran detalles como el parámetro de regularización beta, que decide qué tan simple o complicado sale tu modelo final, o el filtrado espacial de los registros de presencia para que puntos pegados unos a otros no le den un peso falso al resultado. Ninguno de esos ajustes vale la pena si antes no aclaraste qué pregunta estás tratando de responder.

Mi recomendación final

Mi consejo, sin vueltas: si vas a hacer un mapa una sola vez en la vida, quedate en QGIS y ahorrate el dolor de cabeza. Pero si vas a estar procesando datos cada cierto tiempo para ver cómo avanza la deforestación o dónde buscar aves los fines de semana, invertí en aprender R en serio. El curso de Modelado de Nicho Ecológico con Maxent en R sigue siendo el punto de partida más sano porque explica para gente normal, no para genios de la computación, y si sentís que el modelado de nicho ya se te quedó corto y querés dominar las imágenes satelitales a fondo, el de Teledetección Satelital con R y R-Studio es el siguiente paso lógico.

No hace falta un título en biología para meterse a esto, solo terquedad y ganas de no volver a ver un QGIS congelado en la mitad de un análisis. Nos vemos en el código, o mejor, en el próximo mapa que sí funcione a la primera.

Artículos relacionados