
Aprieto Enter por quinta vez seguida y la consola de R me tira el mismo número absurdo: 0.00002. Ni una hectárea, ni un metro cuadrado que tenga sentido, apenas un decimal ridículo donde se supone que debería aparecer la superficie del bosque nativo. La pantalla tiene esa luz plana y gris de las tardes de acá, sin ningún brillo directo, y sigo mirando fijo el raster que bajé de Sentinel-2 como si mirarlo más fuerte fuera a arreglar algo. Todavía era una principiante total en esto de la teledetección, de esas que no sabían ni qué era un CRS, y ese numerito absurdo fue justo lo que me hizo entender el problema real: el archivo seguía guardado en grados decimales, y ningún cálculo de superficie funciona así en R. Primero hay que pasar el mapa a un sistema de coordenadas medido en metros, recién ahí las hectáreas empiezan a tener sentido.
Mi bosque medía apenas 0.00002 hectáreas
Antes de este enredo con los números había probado el camino que me parecía más serio: leer artículos científicos sobre teledetección, de esos con nombres larguísimos de journals. Duré como dos páginas. El vocabulario técnico me bloqueó por completo, todo era corrección radiométrica y siglas que no explicaban nada, así que cerré la pestaña y volví a aprender a la mala, probando cosas directo en RStudio hasta que algo funcionara o tronara. Fue con esa imagen de Sentinel-2, con sus bandas de diez metros que ya alcanzan para distinguir un camino ancho del bosque de al lado, que por fin sentí que estaba mirando algo real y no un párrafo incomprensible.
Bajar esas escenas ya había sido su propio parto — entre registrarme en la plataforma correcta y entender qué archivo servía y cuál no — pero al menos ahí tenía algo concreto con qué trabajar. Antes incluso de eso tuve que lidiar con escenas tapadas de nubes, algo que en invierno acá es casi un deporte nacional, y con aprender a abrir esas bandas como capas raster en RStudio sin que el programa se quedara pegado. Si estás recién empezando con eso de abrir archivos raster, te va a ahorrar hartas canas verdes revisar cómo crear composiciones de color en RStudio para ver el bosque nativo, que fue justo lo que a mí me ayudó a entender qué estaba mirando antes de meterme en el lío de los números.

Del raster en grados a hectáreas reales en R
Me tomó como tres semanas de puro ensayo entender que el mapa no estaba mal, era yo la que no había traducido nada a metros. En Chile el código cambia según la zona, pero para donde vivo el EPSG que sirve es el 32718, UTM zona 18 sur. Ya en otra entrada del blog dejé anotado, paso a paso, cómo corregí esa proyección para quien quiera el detalle completo — acá lo que importa es que, al aplicar la transformación con el paquete 'terra', esos píxeles de diez metros por fin se volvieron metros cuadrados de verdad. El 0.00002 desapareció y en su lugar aparecieron números que sí podía dividir por diez mil para sacar hectáreas.
Y ahí, en la pantalla, el borde oscuro del bosque calzó justo con la curva de la carretera que cruza hacia la isla, esa misma curva que me sé de memoria de tanto pasarla en auto — fue la primera vez que un mapa mío se pareció de verdad a algo que yo ya conocía de antes.
Entre los paquetes de R para esto uno arma sus favoritos con el tiempo — a mí 'terra' terminó ganándole a las opciones más viejas porque no se cuelga con las trece bandas espectrales que trae Sentinel-2, aunque explicar qué hace cada banda es cuento aparte. De ahí mismo sale también el típico índice NDVI que todo el mundo menciona, pero ese cálculo lo dejo para otro día. Lo que sí entendí ahí fue que la teledetección no era puras fotos bonitas sino matemáticas con una lógica detrás, aunque al principio me asustaran. Me dio incluso el empujón para después probar cómo calcular el índice de agua NDWI en RStudio para analizar humedales, que por acá sobran.
El mapa tenía polígonos que no eran bosque de verdad
Todo este cálculo de superficie parte de haber clasificado antes las coberturas —bosque, pradera, suelo desnudo— y ahí caí en una trampa clásica de principiante: clasificar píxel por píxel, tal cual lo mostraban casi todos los tutoriales que encontré. El problema es que el bosque real no es tan ordenado, y un píxel de sombra se confunde con agua, o un árbol seco parece suelo pelado. Eso deja un mapa lleno de puntitos sueltos, del tipo 'sal y pimienta', que después inflan o desinflan la superficie sin que tengan nada que ver con el terreno de verdad.

Antes incluso de clasificar nada, tuve que recortar la escena completa al polígono de mi zona de estudio, porque cargar el sur de Chile entero en la memoria del notebook no terminaba nunca bien. Después de clasificar, tuve que validar que esa clasificación no estuviera mintiendo, con una matriz de confusión que todavía hoy me cuesta leer de corrido sin volver a mis apuntes. Un sábado en la tarde, hace ya un par de meses, agrupé los píxeles parecidos en manchones antes de clasificarlos, en vez de mirar cada uno por separado, y la diferencia en la tabla de superficies fue notoria: nada de esos miles de polígonos minúsculos que no representaban nada real afuera.
Raimundo, un conocido del grupo de senderismo, fue el que me preguntó una vez si el bosque de Parque Saval, en Isla Teja, se estaba corriendo o achicando de un año a otro — él tiene una paciencia infinita para esperar horas quieto sacando fotos en el campo, pero frente a la pantalla se impacienta rapidísimo, así que terminé haciéndole yo la parte de los números.
Cómo dejé de desconfiar del número final
Con el tiempo me armé una rutina para no repetir el mismo error dos veces. Reviso el CRS apenas abro cualquier capa nueva: si dice WGS84 (EPSG:4326), la transformo de inmediato a UTM, 32718 para mi zona. Guardo cada código y cada mensaje de error que ya resolví en una carpeta de hojas sueltas al lado del teclado, porque confío más en mi letra que en mi memoria a esa hora de la noche. Para calcular el área de cada clase de vegetación uso expanse() cuando trabajo con raster, o st_area() cuando ya lo pasé a vector, y reviso siempre, pero siempre, que el resultado final quede en hectáreas — es mucho más fácil de imaginar que millones de metros cuadrados sueltos.
Ya iba como en la semana doce de todo este vaivén cuando anotar el EPSG correcto se me volvió automático, sin tener que buscarlo de nuevo cada vez. Isidora, una compañera de este mismo camino autodidacta que encontré comentando los mismos tutoriales en inglés que yo tampoco entendía del todo, me escribió por esos días preguntando cómo había resuelto lo de la proyección para su tesis; ella anota todo en un cuaderno físico y después lo escanea, así que terminé con capturas de mi pantalla mezcladas con fotos de su letra a mano.
Lo que más me sirvió de todo este enredo, más que cualquier función de R, fue entender que un número sin las unidades correctas no es ni siquiera un error — es solo ruido, y hay que desconfiar de él antes de creerle nada al mapa. Ahora lo que en verdad quiero es comparar esta misma superficie año tras año y ver si el bosque se corre o se achica de verdad, aunque para eso todavía me falta ordenar varias escenas de fechas distintas. También ando con ganas de aprender a sacarle el valor exacto a un punto GPS dentro del raster, y se me quedó picando la idea de meterme en por qué usar modelado de nicho ecológico con Maxent en R para conservación para predecir hacia dónde podría moverse el bosque nativo con el cambio climático — pero eso va a tener que esperar otro invierno.
Escribo esto en el escritorio de mi pieza, con el notebook conectado a un monitor que me prestaron y el vidrio de la ventana empañado porque da al patio interior. La taza de té ya está fría al lado del trackpad, como siempre. Ahora que salió un poco el sol quiero cerrar el notebook y caminar por el bosque de Parque Saval de verdad, ese que no vive en una pantalla sino en el barro y el olor a musgo mojado después de la lluvia.