Cómo generar imágenes satélite sin nubes

Si buscas una estrategia para disponer de imágenes satélite sin nubes… jugar con la estadística y un repertorio generoso de mosaicos puede ayudarte a crear mosaicos satelitales sin nubes. Puedes emplear cualquier recurso satélite y excluir su cobertura nubosa para convertir tu imagen inicial en una imagen libre de nubes a utilizar, o gestionar amplios mosaicos territoriales para componer mapas base.

Cómo generar imágenes satélite sin nubes

Herramientas como Sen2Cor o GEOBIA permiten mejorar la visualización y corregir atmosféricamente las imágenes. Pero la capacidad de Sen2Cor o GEOBIA no puede ir más allá de la exclusión de las grandes formaciones nubosas y tormentas. Otras herramientas como Cloud Masking permiten generar máscaras de nubes para Landsat y eliminarlas desde QGIS, pero no rellenarán tus píxels. La solución para conseguir tu imagen satélite libre de nubes la podrás encontrar en la estadística y en el Big Data, y de una manera más sencilla de lo que puedas creer.

Para generar tus imágenes satélite sin nubes deberás contar con un gentil repertorio de imágenes anteriores y/o posteriores al momento de la fecha de interés. Las claves en el análisis y composición de la imagen satelital sin nubes radica en disponer de:

  • El mayor número de imágenes en el menor periodo temporal disponible
  • El mayor número de imágenes con la menor cobertura de nubes posible
  • El mayor número de imágenes con igual ángulo solar

La técnica es sencilla. Mediante fusión de varias imágenes es posible discriminar los píxels afectados por nubes e incluso excluir los potenciales problemas de artefactos o errores radiométricos. Aquellos píxels de imágenes con nubes pueden ser reemplazados a partir de píxels de imágenes claras temporalmente próximas o directamente fusionarlas para obtener medias de valores.

Unión de imágenes satélite

Esta fusión puede realizarse jugando estadísticamente con las bandas para analizar desviaciones de valores o trabajar análisis más sencillos como, por ejemplo, la obtención de valores medios por pixels y recortes de zonas nubosas. El mayor inconveniente lo encontrarás en la necesidad de procesar simultáneamente un número elevado de imágenes con pesos de archivo excesivos. La solución al problema la encontrarás en la bestia de los análisis en la nube: Google Earth Engine. Recurriendo a la plataforma de GEE para componer imágenes satélite libre de nubes podrás:

  • Acceder a las imágenes de cualquier satélite sin tener que descargar sus bandas físicamente.
  • Filtrar las imágenes por atributos como cobertura nubosa o fechas.
  • Procesar cientos de imágenes en la nube de manera simultánea y representarlas en cuestión de escasos segundos.
  • Visualizar los resultados componiendo imágenes RGB a color y falso color.
  • Descargar el resultado remuestreando el tamaño de píxel o recortando a partir de límites vectoriales.

Curso de Teledetección con datos satélite, drones y lidar

Generación de imágenes satélite sin nubes en Google Earth Engine

Antes de construir tu composición satélite sin nubes, deberás acceder al entorno de Google Earth Engine o activarlo en tu cuenta si aún no lo tienes habilitado. Será necesario comenzar a componer un sencillo script que te permita llamar a las imágenes satélite que quieras, excluir sus píxel de nubes, filtrarlas por atributos, combinarlas y exportar el resultado.

Aquí dispones de un script para descargar y componer imágenes satélite sin nubes a partir de las misiones Landsat 8 y Sentinel 2. Pon ojo a los pasos del script para que puedas tunear y alterar filtros con tus criterios.

>> Descarga Script Sentinel / Landsat Cloudless <<

Lo primero de todo será identificar los píxels afectados por nubes. Entre las bandas de Sentinel y Landsat encontrarás una banda extra que permite identificar ciertas cualidades de los píxels. Las bandas BQA de Landsat 8 y la banda QA60 de Sentinel te ayudarán a reconocer esos píxels y eliminarlos de las imágenes.

Bandas de nubes de Landsat y Sentinel

Una vez tengas identificada la exclusión de píxels puedes comenzar a realizar una llamada a la colección de imágenes de la misión satélite en la que estés interesado. Sentinel 2 o Landsat 8 pueden ser las colecciones a emplear. Aquellos píxels nubosos de cada imagen serán excluidos en tu vista de Engine.

Eliminar píxels nubosos

Con el fin filtrar los resultados de imágenes a un periodo temporal escueto donde existan escasos cambios territoriales, deberás realizar un filtro de fechas en torno al momento en el que se tomó la imagen en la que estás interesado. Si juegas con periodos temporales amplios también puedes hacer curiosas composiciones de imágenes. Por ejemplo, a lo largo de un año, un mes o durante una estación del año. Junto al filtro temporal podrás aplicar el filtro de cobertura de nubes para incluir o excluir imágenes y ayudar a compensar la combinación total.

Filtros en Google Earth Engine

Para acotar las imágenes a analizar puedes  trabajar con las opciones de geometría para dibujar la zona de interés mediante un punto, línea o polígono. De esta forma conseguirás aligerar el tiempo de análisis acotando los resultados al mosaico de imágenes disponibles y afectadas por tu zona de interés.

Imágenes satelitales libres de nubes

Con una sencilla combinación de píxels conseguirás combinar todas las imágenes disponibles y visualizar la imagen resultante combinando el juego de bandas que necesites. En función de los resultados puedes jugar con las tolerancias de tiempos y coberturas nubosas para conseguir una imagen lo más limpia y nítida posible. Puedes representar los resultados combinando las imágenes y jugando con las bandas para generar visualmente una composición RGB a color natural o falso color de tus imágenes satélite sin nubes.

Representación de imágenes satélite libres de nubes en GEE

Combinación RGB de imágenes satélite en Google Earth Engine

Una vez tengas el resultado sólo necesitarás exportar la imagen en tu Drive con las bandas que quieras y utilizarla para los fines que desees.

Cómo exportar imágenes en Google Earth Engine

Accede a la pestaña Task y pulsa sobre el botón RUN para comenzar la descarga de las imágenes Sentinel libre de nubes y Landsat libre de nubes.

Descarga de imágenes satelitales libre de nubes

Puedes copiar y pegar el script en el editor de Google Earth Engine, dibuja o marca la zona de la que quieras obtener los resultados, edita los momentos de fechas y cobertura de nubes y ejecuta el secript con el botón RUN.

Seguro que buscas más scripts para trabajar tus imágenes. Desde esta entrada tienes un recopilatorio de scripts para trabajar paso a paso el análisis de datos ráster en GEE.

Scripts para Google Earth Engine