
Afuera no para de llover y el sonido del agua contra el zinc del techo es casi lo único que escucho mientras trato de que este bendito mapa se vea como algo que un profesional entregaría. Eran las cinco de la tarde de una noche de tormenta en mayo cuando me di cuenta de que mi imagen de Sentinel-2 parecía más un cuadro impresionista mal hecho que un análisis serio del bosque nativo. Tenía la resolución espacial de las bandas visibles de Sentinel-2, que son unos respetables 10 metros, pero en mi pantalla de RStudio todo se veía pixelado, sin alma y, lo peor de todo, sin esa claridad que exige un informe técnico.
El primer tropiezo: ¿Por qué mi mapa parece un dibujo animado?
Cuando uno empieza con esto de la teledetección, cree que con cargar el raster y darle a 'plot' ya estamos al otro lado. Pero no. Me pasó que quería mostrar cómo el bosque cerca de mi casa en Valdivia ha ido perdiendo terreno, y lo que obtenía era una mancha verde sobre un fondo blanco que no le decía nada a nadie. El café se me enfrió tres veces esa tarde mientras buscaba por qué los colores se veían tan apagados y por qué las coordenadas no tenían sentido. Y es que claro, no basta con ver la imagen; hay que proyectarla, darle contexto y, sobre todo, prepararla para que alguien más la entienda sin tener que preguntarme qué significa cada punto.

Recuerdo que esa vez me quedé pegada horas porque no entendía por qué mi mapa se veía 'flaco'. Resulta que estaba usando una proyección geográfica cuando para medir áreas y que el mapa se vea 'derechito' en esta zona del mundo, necesitaba usar coordenadas proyectadas. Fue un alivio cuando descubrí que el código EPSG para WGS 84 / UTM zone 18S es el 32718. Es como darle anteojos a alguien que ve borroso: de pronto, todo el sur de Chile encajó en su lugar. Pero claro, el camino de aprender sola los fines de semana tiene estas cosas, uno tropieza con lo más básico antes de entender lo complejo.
La importancia de la precisión técnica en el flujo de trabajo
Para que un mapa pase de ser un experimento de domingo a un documento técnico, hay que ser bien rigurosa con los datos. Yo uso mucho el paquete sf, que es como el estándar para manejar vectores (como los límites de los predios o los ríos) bajo el modelo de Simple Features. Es increíble lo que cambia un mapa cuando dejas de usar las herramientas básicas y te pasas a cosas más robustas. Durante las vacaciones de julio, me propuse limpiar mis scripts. Fue ahí cuando aprendí que los datos de Sentinel-2, que vienen del programa Copernicus, necesitan un trato especial si no quieres que tu computador explote por falta de memoria.
En ese proceso, me di cuenta de que el paquete terra es mil veces mejor que el antiguo raster. Un objeto SpatRaster en terra es mucho más eficiente. Y eso se nota cuando estás trabajando con imágenes pesadas y sientes ese olor a leña húmeda entrando por la ventana mientras el cursor de la consola de R parpadeaba tras un error de memoria. Frustrante, ¿cierto? Pero así se aprende. Si quieres profundizar en cómo tratar estas imágenes antes de cartografiarlas, hace un tiempo escribí sobre cómo hacer un análisis multiespectral en R usando imágenes de satélite, que es básicamente el paso previo a que el mapa quede bonito.

Configurando la estética para que no sea solo 'estética'
Aquí es donde me puse un poco dispersa, porque me gusta que los mapas se vean lindos, pero en un informe técnico la belleza es claridad. Usar ggplot2 junto con tidyterra fue un antes y un después para mí. Te permite tratar los rasters como si fueran gráficos normales, agregando capas de forma lógica. Pero ojo, que aquí caí en una trampa de principiante: le puse tantos colores y tantas etiquetas que al final no se entendía nada. Me acordé de un consejo que leí por ahí: menos es más, especialmente cuando los datos ya son complejos de por sí.
Un momento de verdad (y de mucha vergüenza) fue cuando imprimí el primer borrador de mi informe técnico. Me senté con mi mate, toda orgullosa, y me di cuenta de que la barra de escala era un hilo invisible. No se veía nada porque no había ajustado la resolución de salida. En la pantalla de mi laptop todo parecía perfecto, pero en el papel era un desastre. Ahí aprendí que para exportar gráficos técnicos, la densidad de píxeles estándar debe ser de al menos 300 DPI. Si usas ggsave, tienes que especificarlo siempre, o tu mapa terminará siendo una mancha borrosa en el PDF final.
El gran dilema: ¿Es ggplot2 suficiente para rasters gigantes?
Tengo que decir algo que quizás a los fans de ggplot2 no les guste tanto. A medida que mis proyectos fueron creciendo, me di cuenta de que dejar de usar ggplot2 para cartografía técnica avanzada es necesario a veces. Su arquitectura de capas es maravillosa para gráficos estadísticos, pero cuando tienes que renderizar grandes volúmenes de datos raster complejos, el sistema se vuelve lento y pesado. He pasado tardes enteras esperando que un mapa se renderice solo para darme cuenta de que un parámetro estaba mal.

Para mapas muy, muy pesados, a veces es mejor usar el sistema de 'plot' nativo de terra o explorar otras librerías que manejan mejor la memoria. No es que ggplot2 sea malo, es que cada herramienta tiene su límite. Es como intentar podar todo el bosque con una tijera de jardín; se puede, pero vas a terminar con la mano adolorida y te vas a demorar una eternidad. Entender esto me tomó tiempo, pero me ahorró muchísimas frustraciones frente a la pantalla en esos domingos donde el internet anda lento por la lluvia.
Pasos finales para una exportación impecable
Hace unas tres semanas, por fin sentí que todo cuadró. Estaba terminando un mapa sobre la fenología del bosque y apliqué todo lo que había aprendido a golpes. Primero, asegurarme de que todos los datos estuvieran en EPSG 32718. Segundo, usar una paleta de colores que fuera apta para daltónicos (fundamental para informes técnicos). Y tercero, no olvidar los elementos básicos: el norte, la barra de escala (esta vez sí visible) y una leyenda que no necesitara un manual de instrucciones. Si te interesa el tema de los tiempos del bosque, puedes mirar lo que puse sobre cómo analizar la fenología de la vegetación en R con series temporales, que fue lo que me llevó a este nivel de detalle.
- Define siempre el SRC (Sistema de Referencia de Coordenadas) al inicio.
- Usa
tidyterrapara una integración fluida con ggplot2 si el raster no es excesivamente grande. - Añade elementos cartográficos con el paquete
ggspatialpara que la barra de escala y la flecha del norte se calculen automáticamente. - Exporta usando
ggsave("mapa.png", dpi = 300, width = 20, height = 20, units = "cm").

Al final de todo esto, cuando vi el mapa final impreso, con sus bordes definidos y su leyenda clara, sentí una satisfacción enorme. No soy geógrafa, soy solo alguien que aprende de a poco en su escritorio en Valdivia, pero ver que los datos hacían justicia al paisaje que veo desde mi ventana... eso no tiene precio. Los errores del pasado, como esa escala invisible o los crasheos por falta de RAM, se convirtieron en las lecciones que hoy me permiten entregar algo de lo que me siento orgullosa. Y ahora, a prepararme otro café, que parece que la lluvia no va a parar en toda la noche.