
La barra de carga no avanza. Llevo un buen rato con la vista clavada en la pantalla, el vidrio de la ventana empañado por la lluvia que cae sobre el centro de Valdivia, esperando que el archivo raster que bajé la semana pasada termine de abrirse en RStudio. Cuando por fin aparece, veo el contorno del río Cruces dibujado en verde apagado sobre un fondo gris, como una radiografía del paisaje, y ahí me acuerdo de por qué tanta gente que recién empieza en la teledetección se rinde antes de llegar a este punto: nadie avisa que un archivo .tif no es una foto que se abre con doble clic, sino una grilla enorme de geodatos que RStudio tiene que traducir. Ese primer tropiezo —el paquete equivocado, la proyección que no calza, la banda que no correspondía, el archivo que llega roto sin avisar— se repite tanto entre quienes aprendemos RStudio solas, los fines de semana, que ya perdí la cuenta de las veces que vi esa misma pantalla en blanco.
Hay un mito dando vueltas entre quienes recién llegan a esto: que si el mapa no sale a la primera, es porque falta un curso más avanzado o un computador mejor. Casi nunca es así. La mayoría de los tropiezos que frenan a alguien en sus primeras tardes con datos raster vienen de cuatro confusiones puntuales, y ya me topé con las cuatro. Las voy a contar en el orden en que a mí me hicieron perder tardes completas, para que a quien lea esto le cueste un poco menos que a mí.
Antes de llegar a R, probé comparando imágenes en Google Earth, un año contra otro, para ver si el bosque había cambiado —pero ahí no se puede medir nada en serio ni guardar algo que después sirva para comparar con calma. Fue justo ese callejón sin salida el que me hizo finalmente instalar RStudio e ir a pelear con esto de los rasters.
Un raster no es una foto: es una grilla de números
Lo que en términos de sistemas de información geográfica llamamos raster no es, en el fondo, tan distinto de un cuaderno cuadriculado enorme donde cada casillero guarda un número, no un color. En una imagen de Landsat, por ejemplo, cada casillero —cada píxel— representa un pedazo de terreno de unos 30 metros por lado, algo así como el patio de una casa grande acá en el sur. Cuando R abre ese archivo no está mirando un dibujo bonito: está leyendo una matriz de valores de reflectancia, uno por casillero, y recién después decide con qué color pintar cada uno para que nosotros lo entendamos de un vistazo.
Un archivo GeoTIFF, además, trae algo que un .jpg normal no trae: metadatos que le dicen al programa exactamente en qué parte del planeta está parado cada casillero de esa cuadrícula. Sin eso, el bosque que tengo a la vuelta de mi casa, cerca del río Calle-Calle, aparecería flotando en cualquier lugar del mapa en vez de estar donde corresponde. El raster, entonces, no es solo una imagen: es geografía comprimida en números, y ese es el primer cambio de chip que hay que hacer antes de escribir una sola línea de código.
El paquete raster quedó atrás: ahora manda terra
Acá viene el primer mito que hay que enterrar: mucha gente sigue tutoriales antiguos que enseñan a cargar un raster con un paquete que se llama, justamente, raster. Ese paquete ya no es el que se usa. R adoptó oficialmente terra como su reemplazo para el manejo de datos espaciales, y la función para leer un archivo cambió de nombre: ya no es raster(), ahora es rast(). Si copias un código viejo de algún tutorial y te tira error, antes de asustarte revisa si no estás usando la función que quedó obsoleta.
Lo aprendí por las malas, eso sí. Mi primer intento serio fue con una imagen de unos 500 megas —un archivo que alguien me pasó sin decirme bien qué paquete convenía usar— y mi laptop, que ya tiene sus años, empezó a sonar como si fuera a despegar. Se congeló todo: el mouse dejó de responder, RStudio quedó pegado y terminé forzando el cierre del programa, perdiendo el script que llevaba escribiendo esa tarde. Le mostré el problema a Marcia, mi compañera de trabajo —la misma que anda metida en agronomía y que un día me tiró la idea de mirar el bosque desde una imagen satelital—, y ella encontró en un foro, en dos minutos, que había que usar terra en vez del paquete viejo, sin explicarme muy bien por qué funcionaba: así es ella, resuelve antes de entender. terra no carga la imagen completa en la memoria RAM de una sola vez, la va leyendo por partes según la vas necesitando, y por eso ese mismo archivo que antes reventaba mi computador ahora abre sin drama.

Mi mapa apareció flotando en medio del océano
Otro mito que conviene corregir de una vez: si el mapa sale raro, es porque una hizo algo mal en el código. No siempre. La primera vez que corrí plot(mi_raster) esperando ver el borde del bosque, apareció una manchita perdida en medio del Pacífico, lejos de cualquier costa chilena, como si el archivo no tuviera idea de en qué país estaba. Pasé la tarde entera revisando cada línea de mi script, segura de que se me había escapado una coma, hasta que entendí que el problema no estaba en lo que yo había escrito, sino en algo que el archivo traía de fábrica: la proyección con la que fue guardado. Ese mapa flotando en el Pacífico fue mi primera señal de que el sistema de referencia geográfico —lo que en inglés llaman coordinate reference system— importa tanto como el archivo mismo, aunque ese es tema para otro día.
No fui la única a la que le pasó. Un lector que escribe al blog desde Temuco, Aldo, dejó un comentario contándome que a él le había pasado idéntico: abrió su primer raster y el mapa apareció perdido en medio del océano, sin ninguna pista de por qué. Trabaja como guardaparques y quiere usar esto para monitorear el bosque de su zona, y suele leer las entradas del blog desde el teléfono durante el turno de noche. Cuando le respondí que el problema casi seguro era la proyección del archivo y no el código, me contestó que eso nunca se le había ocurrido revisar.

Elegir la banda equivocada también es un error de principiante
Tercer mito: que todas las bandas de una imagen satelital muestran más o menos lo mismo, así que da lo mismo cuál elijas. Falso, y este error a mí casi me hace tirar la toalla. Bajé una imagen de Sentinel-2 y casi me da un vahído cuando vi que traía trece capas distintas metidas en el mismo archivo: pensé que iba a abrir una sola imagen y me encontré con un SpatRaster multibanda completo. Elegí bandas al azar tratando de ver la vegetación y me apareció un error de dimensiones que no calzaban entre capas; até cabos recién después y entendí que había mezclado una banda pensada para otro cálculo con una combinación que esperaba algo distinto.
Cada banda espectral captura una parte distinta de la luz que refleja la superficie, y mezclarlas sin saber cuál es cuál es la manera más rápida de arruinar un análisis antes de empezarlo. Yo, en el fondo, quiero aprender a leer bien un raster para algún día poder calcular cosas como el índice NDVI —esa cuenta que compara ciertas bandas para mostrar dónde la vegetación está más sana o más seca—, pero para llegar ahí primero hay que entender qué banda es cuál, y eso todavía me toma más tiempo del que me gustaría admitir.
A veces el error no es tuyo, sino el archivo
Cuarto mito, y este es el que más rabia me da: que si un archivo no carga, la culpa tiene que ser de una, siempre. A veces no. Descargué una imagen satelital de un repositorio que después supe que no era el más estable, y por más que revisé la ruta del archivo y probé de nuevo con rast(), la consola seguía tirando error como si el archivo no existiera. Pasé casi todo un sábado convencida de que estaba escribiendo mal la ruta, hasta que se me ocurrió abrir el archivo con otro programa y confirmé que estaba corrupto: la descarga se había cortado a medias sin avisar. Volví a bajarlo desde otra fuente y ahí sí abrió a la primera. Desde entonces, si algo no carga y ya revisé la ruta dos veces, lo primero que hago es sospechar del archivo mismo antes que de mi propio código.
Lo que sigue después de tu primer raster
En estos casi dos años aprendiendo esto sola, los fines de semana, todavía no me considero programadora ni geógrafa, pero ya perdí el miedo a la pantalla roja de error. Para abrir tu primer raster no necesitas más que el paquete terra —nada de comparar entre cinco paquetes distintos, eso viene después, cuando ya sepas bien qué necesitas—. Yo tampoco sabía que existían alternativas cuando estaba empezando, y está bien: primero se aprende a leer, después se elige la herramienta.
Lo que viene después de esto —recortar el raster para quedarte solo con el pedazo de bosque que te interesa cruzándolo con un shapefile, o más adelante meterte en cosas como modelar dónde podría vivir una especie con algo tipo MaxEnt— todavía me queda grande, la verdad, pero ya no me da pánico solo de pensarlo. Aldo, el lector de Temuco, me escribió hace poco preguntando justamente por lo del recorte de raster con shapefile, y por ahora lo único que le pude responder es que primero hay que dominar esto: abrir el archivo, entender qué trae adentro, y no asustarse cuando algo sale mal a la primera.
Si hay una sola cosa que me gustaría que te llevaras de esto es que ningún error de los que vas a tener abriendo tu primer raster significa que no sirves para esto. El paquete equivocado, la proyección que no calza, la banda que no correspondía, el archivo que llega roto: son los mismos cuatro tropiezos que casi todo el mundo repite, y ninguno se arregla con más fuerza de voluntad, se arregla sabiendo cuál de los cuatro es. Afuera todavía llueve sobre Valdivia, la taza que dejé por ahí hace rato ya está fría otra vez, ahí al lado del trackpad, y el mapa del bosque sigue quieto en la pantalla, esperando que alguien lo entienda un poco mejor cada sábado.