
Tres veces cerré la pestaña del editor de código de Google Earth Engine sin entender una sola línea de JavaScript, convencida de que ese camino no era para mí. Fue el primer tropiezo serio cuando quise empezar a mirar el río Calle-Calle desde una imagen satelital en vez de solo desde el puente, con el aire frío colándose por la ventana entreabierta y ese olor a madera mojada que tiene el sur apenas para la lluvia. Y también fue el motivo por el que terminé buscando otra forma de bajar imágenes Sentinel-2 y trabajarlas en RStudio, sin pelear con una interfaz que claramente no estaba pensada para alguien que recién partía con la teledetección en R. Copernicus, el catálogo europeo que reparte estas imágenes gratis, tiene su propia página web, pero ahí también me tropecé antes de encontrar un camino que de verdad funcionara.
Estas son las preguntas que más me hacen quienes recién están empezando, así que las voy a responder derecho al grano.
No conviene bajar las imágenes de Sentinel a mano desde el navegador
Boris, mi vecino de edificio que trabaja en infraestructura de servidores y no tiene idea de SIG pero le gusta todo lo que sea software libre, me preguntó justo esto hace poco, medio en broma, cuando me vio con el notebook abierto en el pasillo. La respuesta corta es que se pierde muchísimo tiempo. Entrar a la página de Copernicus, dibujar un polígono sobre la zona que te interesa y bajar el archivo ZIP completo significa cargar con carpetas dentro de carpetas, nombres como S2A_MSIL2A_2023... y, la mayoría de las veces, una nube blanca tapando justo el pedazo de bosque que quieres mirar. Las imágenes de Sentinel-2 pesan bastante en el disco, sobre todo si tu conexión flaquea apenas llueve fuerte, como pasa acá en el sur, así que bajar el archivo entero para terminar usando un recorte chico es puro desperdicio de tiempo y de espacio.

Paquetes de R que hacen la búsqueda y el filtro por ti
Ahí fue cuando entendí que R se puede conectar directo al catálogo, sin pasar por el navegador para nada. Le puedes pedir, dentro del mismo script, que busque solo las imágenes con poco porcentaje de nubes, de una fecha en particular, y que traiga nada más que el recorte que te interesa. Librerías como rstac o sen2r hacen ese trabajo pesado, y una vez que las tienes corriendo, se acaba ese ir y venir entre pestañas del navegador. No voy a listar acá todos los paquetes de R para análisis de imágenes satelitales que existen, porque para eso hay guías completas dedicadas solo a compararlos, pero estos dos son los que uso casi todos los sábados.

Usar Google Earth Engine directo, sin pasar por R
Para mí, no funcionó ir por ese lado. Probé el editor de código de Google Earth Engine tal como está en su página, todo en JavaScript, y esa interfaz me cerró la puerta desde el primer día, porque yo no venía de la programación y el lenguaje se sentía como otro idioma encima del que ya estaba tratando de aprender. Lo que sí funciona, y esto me lo comentó Denise cuando se lo conté en el grupo de Telegram donde nos conocimos discutiendo errores de proyección, es usar el mismo motor de Google pero desde adentro de R, con el paquete rgee. La lógica cambia por completo: en vez de bajar la imagen a tu computador, le mandas la instrucción a los servidores de Google, ellos hacen el recorte y el cálculo, y tú solo te traes el resultado final, que pesa apenas unos megabytes.
La proyección se revisa antes de cruzar cualquier capa
Este paso no es opcional. Si mezclas una imagen Sentinel con otra capa, un shapefile de límites o un punto GPS, y los sistemas de referencia de coordenadas no coinciden, tu bosque puede aparecer flotando en medio del océano en vez de donde realmente está, algo que ya me pasó y que sirve como advertencia para cualquiera que recién parte. No me voy a meter en el detalle técnico de por qué ocurre, porque sobre corregir proyecciones cartográficas en R de forma sencilla ya escribí una entrada aparte, pero sí te puedo adelantar la regla que uso yo antes de bajar nada: reviso el CRS de la fuente apenas la imagen carga, antes de hacer cualquier otra cosa con ella.
Formato del archivo y cómo usarlo en RStudio
La imagen te llega como un archivo raster, básicamente una cuadrícula de valores donde cada celda representa un pedazo del terreno, y ese formato tiene su propia lógica que no explico en detalle acá porque ya la cubrí en otra entrada, pensada para quien recién parte con archivos raster en RStudio. Lo que sí cuento seguido es la pregunta que me hizo Denise, que viene del diseño gráfico y domina ggplot2 de una forma que a mí todavía me cuesta, pero que se atasca justo en el paso de pasar ese raster a un data frame para poder graficarlo con las herramientas que ya conoce. Esa conversión existe, tiene sus funciones específicas, y una vez que la entiendes, puedes mover la información entre los dos mundos sin perder tiempo adivinando por qué un paquete no reconoce el objeto del otro.
Por qué termino igual en RStudio y no me quedo solo con el navegador o con Earth Engine
Porque ahí tengo control real sobre lo que estoy mirando, no solo una imagen bonita en la pantalla. Sentinel-2 no es solamente una cámara que saca fotos: el sensor que lleva captura distintas bandas del espectro, algunas que el ojo humano ni siquiera percibe, y eso es justo lo que permite notar si un sector de bosque está más seco o más sano de lo que se ve a simple vista. Cuando aprendes a llamar esas bandas desde un script en vez de solo mirar una imagen ya procesada, dejas de ser espectadora y pasas a decidir tú misma qué combinación mirar. Fue por lo mismo que elegí RStudio para estudiar el bosque nativo chileno en vez de quedarme pegada en herramientas que solo muestran el resultado ya armado.
El mapa que por fin tuvo sentido
Antes de mirar cualquier resultado completo, recorto el raster al contorno exacto que me interesa, para no quedarme cargando de más ni perdiendo tiempo en zonas que no vienen al caso: es un paso chico, pero que ahorra harto. La primera vez que el proceso completo funcionó de principio a fin, sin que tuviera que salir a buscar el archivo a mano en ninguna parte, el mapa se cargó solo, y ahí quedó, dibujado en la pantalla, el contorno del río Cruces marcado en verde sobre un fondo gris que hasta entonces solo había visto en fotos satelitales de otras personas. Ese es el índice del que más me preguntan, el índice NDVI usando imágenes satelitales en R, y aunque no me voy a meter en la fórmula acá porque esa cuenta ya la desarrollé en detalle en otra entrada, sí te puedo decir que una vez que tienes las bandas correctas descargadas, calcularlo es cosa de una línea de código. Para quien después quiera dar un paso más allá y usar estas mismas capas para modelar dónde podría estar presente una especie en particular, ese es justamente el siguiente escalón, aunque es tema para otro día.

Todo este método lo fui armando de a poco, los fines de semana, sin venir de la programación ni de la geografía, guardando en un cuaderno cada error que ya había resuelto para no repetirlo dos veces. Si estás por empezar, el criterio que te dejo es simple: antes de bajar un solo archivo, filtra primero por porcentaje de nubes y por la zona exacta que te interesa, porque ese único paso es el que separa una tarde productiva de una tarde entera perdida esperando que baje un ZIP que después ni vas a poder abrir.