Identificar la presencia de agua con imágenes Sentinel-2


Por

Copernicus es el programa de observación de la Tierra liderado por la Comisión Europea (CE) en colaboración con la Agencia Espacial Europea (ESA). Se trata de un programa civil que contará con seis familias de satélites (los Sentinel) y que ofrecerá diversos servicios en el ámbito atmosférico, marítimo, terrestre, climatológico, de emergencias y de seguridad. Actualmente, ya se encuentran en órbita los satélites Sentinel-1, Sentinel-2 y Sentinel-3.

Los datos capturados por los satélites Sentinel actualmente en órbita se encuentran disponibles de forma gratuita y bajo una licencia abierta a través de portales como Copernicus Open Hub.  Para visualizar y procesar los datos Sentinel se puede utilizar el software SNAP (Sentinel Application Platform), también de código abierto y con multitud de funcionalidades.

Para facilitar y agilizar el trabajo con los datos y servicios Copernicus, la ESA ha puesto en funcionamiento RUS, una plataforma on-line de acceso gratuito en la que se encuentran instaladas y configuradas las herramientas necesarias para procesar imágenes Sentinel (ej. SNAP, QGis, R…) así como los diferentes catálogos de imágenes. Ello permite realizar procesos complejos y costosos –en cuanto a requerimientos informáticos– a través de un simple navegador web.

En este post vamos a mostrar como acceder a RUS, solicitar el acceso a una nueva máquina virtual y realizar un análisis con imágenes Sentinel-2 para cartografiar la superficie del lago de Banyoles (Girona).

Este mismo procedimiento se podría aplicar para identificar el trazado de cursos fluviales. En caso de inundaciones, resulta de gran interés para identificar las zonas cubiertas por agua.

  1. Acceder al servicio RUS para configurar una máquina virtual

En primer lugar, hay que acceder a la página http://RUS-Copernicus.eu, a través de la cual se encuentra disponible el enlace para realizar el registro al servicio RUS.

Registrarse al servicio RUS

Es necesario rellenar el formulario y seguir las instrucciones para disponer de un nombre de usuario y contraseña que den acceso a la plataforma.

Una vez dentro la plataforma, hay que acceder al dashboard desde el menú ‘Your RUS service > your dashboard’ y posteriormente hacer clic en el botón ‘Request a new user service’.


Dashboard del servicio RUS

Se abre a continuación un formulario para configurar y definir los parámetros de la máquina virtual a utilizar:

  • Thematic area. Hydrosphere – Inland Waters (rivers, lakes and groundwater)
  • What kind of operations do you wish to perform on RUS? Basic processing of Copernicus Data using RUS tools.
  • Select your preference for your data downloading process. Self-downloading (with RUS support).
  • Your foreseen activities and support needs. Waterbodies detection
  • Enter a name to your project: Waterbodies
  • Type of earth observation data. Seleccionar Sentinel-1 y Sentinel-2. No es necesario en este caso especificar las características de los productos.
  • Region of interest. Utilizad el mapa para seleccionar la zona de trabajo.
  • Multitemporal Analysis. No

Seleccionar zona de trabajo utilizando el mapa interactivo

Finalmente, hacer clic en Review and Submit the Request. Se abre una ventana en la que se visualizan los parámetros introducidos para definir las características de la máquina virtual con la que se va a trabajar.

Aceptar los términos y condiciones del servicio RUS, y hacer clic en Submit the Request.

Una vez enviada la petición, hay que esperar a que esta sea aceptada para acceder al entorno virtual (puede demorarse hasta 72h). Se recibirá un correo electrónico confirmando la aceptación y las llaves de acceso a la máquina.

Ya aceptada la propuesta y activada la máquina virtual, se podrá acceder a ella desde el dashboard de la cuenta RUS haciendo clic en Access my virtual machine.

Acceder a la máquina virtual

  1. Descargar imágenes Sentinel

Para llevar a cabo la delimitación del lago de ‘Banyoles’ a partir de las imágenes Sentinel, lo primero que hay que hacer es realizar la descarga de una imágen de la zona de estudio.

Desde la máquina virtual del servicio RUS, se utilizará el navegador web Firefox ya instalado para acceder a ‘Copernicus Open Data Acces Hub’. La descarga de imágenes a través de este servicio es totalmente gratuita, aunque es necesario registrarse para ello.

Se descargará una imagen Sentinel-2 correspondiente al 2 de Julio de 2017

Mission Sentinel 2:

Product type → S2MSI2Ap

Para descargar imágenes desde Copernicus Open Data Acces Hub, hay que digitalizar un polígono sobre la zona objeto de estudio, haciendo clic en la herramienta ‘Polygon’, y a continuación introducir los criterios de búsqueda a través del menú ‘Insert search criteria…’.

Introducir parámetros de búsqueda de imágenes

Una vez introducidos los parámetros, hay que hacer clic en el icono simbolizado con una lupa para iniciar la búsqueda, y añadir posteriormente los resultados obtenidos al carrito (Cart) con el botón Add to cart.

Desde el carrito (que se encuentra en el menú User Profile > Cart), se podrá iniciar la descarga de las imágenes.

Acceso al carrito

Al situar el mouse encima las imágenes se muestra el botón ‘Download Product’ para proceder a su descarga.

Descarga de imágenes desde Copernicus Open Data Acces Hub

  • Extraer información de las imágenes Sentinel

Una vez descargada la imagen Sentinel, se procederá a su análisis para cartografiar el límite correspondiente al lago de ‘Banyoles’.

Se utilizará el software SNAP, que ya está instalado en la máquina virtual que utilizamos desde el servicio RUS.

En el escritorio de la máquina virtual hay un acceso directo para arrancar SNAP. Una vez abierto del programa, se carga el archivo .zip correspondiente a la imagen Sentinel-2 (dese el menú File > Open Product).

Se realizará en primer lugar una combinación en color infrarojo, para visualizar con más facilidad las masas de agua. Para ello, desde la ventana Product Explorer hay que hacer clic con el botón secundario del ratón encima del archivo Sentinel-2, y seleccionar la opción ‘Open RGB image window’.

Open RGB Image Window

Seleccionar la opción ‘Sentinel 2 – MSI False Color Infrared’ y hacer clic en ‘Ok. En la vista de SNAP puede visualizarse el mapa en color infrarrojo.

Imagen Sentinel-2 en color infrarrojo en la que se identifica fácilmente (color negro) la masa de agua correspondiente al lago de Banyoles.

 

A continuación, se va a realizar un ‘resampling’ a todas las bandas de la imágen, para que estén a la misma resolución espacial. Los pasos a seguir para ello son:

  • Hacer clic encima el producto Setinel-2 en la ventana Product Explorer.
  • Acceder al menú ‘Raster > Geometric Operations > Resampling’.
  • En la pestaña I/O Parameters, dejar las opciones que vienen por defecto.
  • En la pestaña Resampling Parameters, seleccionar la opción: Define size of resampled product by reference band from source product B2. De este modo, la resolución de todas las bandas será la misma que la correspondiente a la banda 2 de la imagen, que es de 10 mts.
  • Hacer clic en el botón ‘Run’.

A partir del nuevo archivo que se ha generado, realizamos una combinación de bandas RGB correspondiente a Land/Water. Antes de realizar el resampling de la imagen, esta combinación no estaba disponible, dado que las bandas utilizadas para ello no tenían la misma resolución.

Realizar combinación RGB Land/Water a partir de las bandas a las que se ha aplicado el resampling

 

Resultado de la cimbinación Land/Water

Ahora se realizará el cálculo del índice NDWI (Normalized Difference Water Index) para identificar la presencia de agua. Este índice se obtiene a partir de las bandas correspondientes al Verde y al NIR, que en el caso de las imágenes Sentinel-2 equivalen a la Banda 3 y 8 respectivamente:

NDWI = (Green – NIR) / (Green + NIR)

Valores de este índice inferiores a 0, corresponden en general a zonas terrestres, mientras que valores superiores a 0 indican la presencia de agua.

Para no tener que procesar todos los píxeles de la imagen al realizar el cálculo de este indicador, realizaremos un subset que nos permita extraer la parte que realmente nos interesa. Desde SNAP, se puede extraer una parte de una imagen del siguiente modo:

  • Acceder al menú Raster > Subset
  • Hacer clic en la pestaña Spatial Subset > Geo Coordinates. Introducir los mismos valores (latitude, longitude) que se visualizan en la siguiente captura de pantalla:

Realizar un recorte (subset) de la imagen.

  • Hacer clic en el botón ‘Ok’.

El subset resultante que se carga en el Product Explorer es temporal. Para guardarlo definitivamente en un directorio del ordenador, hay que hacer clic en con el botón derecho encima del producto, y seleccionar la opción ‘Save product’.

Guardar el resultado del subset

Una vez guardado el producto, se tendrá que cargar de nuevo en el proyecto de SNAP con el que se está trabajando.
Con el producto correspondiente al subset cargado en el proyecto, podemos proceder al cálculo del índice NDWI haciendo clic con el botón secundario del ratón encima y seleccionado la opción Band Maths.

 

Abrir herramienta ‘Band Maths’ para realizar el cálculo del índice NDWI.

Se abre una ventana a través de la cual deberán introducirse los parámetros para realizar el cálculo del índice. Bàsicamente el nombre de la capa resultante, y la expresión necesaria para obtener el índice:

Menú Band Maths para realizar el cálculo del índice.

Puede observarse como en la imagen resultante, los píxeles correspondientes a agua se visualizan con mucho brillo.

Finalmente, a partir de los valores del índice NDWI se realizará una máscara correspondiente a todos los píxeles correspondientes a zonas de agua.

Para ello se utilizará nuevamente la herramienta Band Maths, aplicando ahora la siguiente expresión:

if NDWI >= 0 then 1 else 0
Es decir, se va a generar una nueva capa en la que se asignará valor 1 a aquellos píxeles cuyo índice NDWI es igual o superior a 0, y valor 0 al resto.

 

Obtener máscara a partir del índice NDWI.

Una vez generada la máscara, puede exportarse a un formato de imágen, como por ejemplo GeoTIFF. Para exportar la máscara a GeoTIFF, simplemente hay que hacer clic al menú ‘File > Export > GeoTIFF’.

Menú de SNAP para exportar un producto a GeoTIFF.

En el menú ‘Export Product’ habrá que Indicar un nombre y un directorio de salida en el que guardar la imagen resultante, y en ‘Subset’  hacer clic en la pestaña ‘Band Subset’ para seleccionar la banda a exportar, que en este caso será NDWI_mask.
Una vez definidos estos parámetros, hacer clic en ‘Export Product’.

 

Exportar banda a GeoTIFF.

La imagen resultante puede visualizarse y utilizarse como fuente de datos a través de un software SIG como por ejemplo QGis, también instalado en la máquina virtual RUS.