
Afuera no para de llover y el sonido rítmico del agua contra el zinc del techo es lo único que me acompaña esta noche, mientras la pantalla de RStudio ilumina mis apuntes escritos a mano, esos que ya tienen un par de manchas de té. Es curioso, pero este invierno en Valdivia se siente más largo que el anterior, y yo aquí sigo, peleando con códigos para intentar que un polígono se quede quietito donde debe estar. Todo empezó porque quería ver cómo el bosque nativo que rodea mi casa ha ido perdiendo terreno ante las plantaciones y el avance de las parcelas, y claro, una cosa es verlo desde el camino y otra muy distinta es tratar de dibujarlo con precisión en un mapa digital.
Me acuerdo de un sábado lluvioso de septiembre, el año pasado, cuando recién estaba empezando con esto. Me senté con toda la motivación del mundo a tratar de cargar un archivo que me habían pasado, un famoso .shp del catastro de bosque nativo. Yo pensaba que era llegar y abrir, como quien abre una foto, pero R me gritaba errores en rojo que no entendía. Y es que, para alguien que no viene del mundo de la cartografía ni de la informática, entender que los datos vectoriales no son solo 'dibujos', sino tablas de datos amarradas a una geometría, es todo un viaje. Ese día terminé cerrando el computador a las tres horas, frustrada porque el cursor parecía burlarse de mí.
El misterio de los archivos que no vienen solos
Lo primero que aprendí, a punta de errores, es que un Shapefile no es un solo archivo. Es como una familia que no puede separarse. Si te falta el .dbf, que es donde están los datos de la tabla, o el .shx, que es el índice, R simplemente no va a saber qué hacer. Yo al principio movía solo el archivo .shp a mi carpeta de trabajo y, claro, nada funcionaba. Tienen que estar todos juntos en la misma carpeta para que la función st_read del paquete sf haga su magia.
Y hablando de sf, ese paquete fue un salvavidas. Antes existía otro llamado sp, pero por lo que he leído en mis tardes de estudio, el paquete sf (que viene de Simple Features) es mucho más moderno y rápido. Lo mejor es que trata a los mapas como si fueran tablas normales de R (dataframes), lo que me hace mucho más sentido porque así puedo filtrar datos como si estuviera en Excel. Todo este sistema se basa en un estándar internacional llamado ISO 19125, que básicamente define cómo se deben guardar las formas geométricas para que todos los programas hablen el mismo idioma.

Durante las tardes de otoño, cuando la luz se iba temprano y yo me refugiaba en la oficina con mi estufa a parafina, me di cuenta de que delimitar el bosque no era solo tirar una línea. Había que entender qué estábamos midiendo. Chile es un país tan largo que, si no tenemos cuidado con las proyecciones, todo sale deformado. Los datos vectoriales son puntos, líneas y polígonos que representan la realidad, pero esa realidad está en una Tierra que es casi redonda y nosotros la queremos poner en una pantalla plana.
El drama de las proyecciones y el polígono náufrago
Aquí es donde casi tiro la toalla. Una noche de viento fuerte en julio, hace apenas unas semanas, estaba tratando de cruzar los límites de mi bosque con una imagen satelital que había procesado antes. Había pasado horas aprendiendo a crear composiciones de color en RStudio para ver el bosque nativo, y cuando por fin cargué el vector... ¡pum! Mi bosque aparecía en medio del Océano Pacífico, cerca de Australia. Sentí una frustración silenciosa, de esas que te dan ganas de apagar todo y olvidarte del tema. ¿Cómo podía ser que mis coordenadas dieran en el mar si yo las había tomado aquí mismo en la Región de Los Ríos?
Resulta que el culpable era el CRS (Coordinate Reference System). Muchos datos vienen en EPSG 4326, que es el sistema WGS 84 que usa el GPS de los celulares, con latitud y longitud. Pero para trabajar en Chile y calcular áreas (porque yo quería saber cuántas hectáreas quedaban de roble y coigüe), necesitamos algo más local. Aquí en la zona centro-sur, usamos mucho el EPSG 32718, que corresponde a la proyección WGS 84 / UTM zone 18S. Si no le dices a R que transforme los datos con st_transform(), tus polígonos van a terminar navegando por el mundo sin rumbo fijo.
Fue un momento de 'clic' total. Cuando por fin escribí esa línea de código y vi que el polígono del bosque caía exactamente sobre la quebrada que veo desde mi ventana, sentí una satisfacción que ni les cuento. Es como cuando terminas un puzzle difícil. Ya no era solo una mancha verde en la pantalla; era mi entorno, medido con precisión digital por mí misma, una aprendiz de fin de semana.
¿Por qué el Shapefile ya no es mi mejor amigo?
A medida que fui avanzando, me encontré con un consejo que me cambió la forma de guardar mis cosas. Resulta que limitarse a usar archivos Shapefile en R es un error técnico que muchos cometemos al principio. El Shapefile es viejo, tiene límites en el nombre de las columnas (solo deja poner 10 caracteres, ¡un horror!) y es propenso a que se corrompan los datos si olvidas uno de esos archivitos que mencioné antes. Ahora, cada vez que puedo, guardo mis delimitaciones forestales en formato GeoPackage (.gpkg).
El GeoPackage es un solo archivo que guarda todo: la geometría, los datos, y hasta los metadatos. Es mucho más limpio y moderno. Adoptar formatos vectoriales optimizados es vital para evitar la corrupción de datos y la pérdida de esa información valiosa que uno tarda tanto en recolectar. Si estás empezando, te recomiendo saltarte el drama del Shapefile y usar directamente st_write(mi_bosque, 'mi_bosque.gpkg'). Créeme, tu yo del futuro te lo va a agradecer cuando no encuentres el .dbf por ninguna parte.

A veces me pongo a pensar en lo mucho que he aprendido en este último año. Recuerdo que hace un par de meses estaba muy confundida intentando distinguir qué era bosque y qué era matorral en la pantalla. Me sirvió mucho repasar cómo otros hacían la clasificación de coberturas vegetales en R paso a paso, porque eso te da una idea de cómo los vectores y los rasters trabajan juntos. No es solo dibujar el borde, es entender qué hay adentro.
Reflexiones de una noche de lluvia
Ahora que miro mi mapa terminado, con sus capas bien ordenadas y sus proyecciones correctas, me doy cuenta de que este camino de aprender R no ha sido lineal. Ha sido más bien como los senderos del bosque: a veces te topas con un tronco caído (un error de código), a veces te pierdes en la neblina (las proyecciones), pero si sigues caminando, siempre llegas a un lugar con vista bonita. No soy geógrafa ni programadora, pero hoy puedo decir que sé manejar datos vectoriales y que entiendo por qué mi bosque es tan especial.
Si estás ahí, con el RStudio abierto un domingo por la noche y sientes que nada cuadra, respira profundo. Prepárate un mate, escucha la lluvia si tienes la suerte de estar en el sur, y revisa tu CRS. A veces, la solución es solo una línea de st_transform de distancia. Y recuerda, no te quedes solo con el .shp; explora el GeoPackage y verás cómo tu flujo de trabajo se vuelve mucho más amable. Al final, lo que importa es que esos datos nos ayuden a entender y cuidar mejor el pedacito de tierra que nos tocó habitar.