Los satelites SENTINEL de la Agencia Europea del Espacio (ESA) permiten a todo científico o persona interesada acceder a su vasta colección de imagenes satelitales libre de costo a traves del acceso Copernicus Open Access Hub y a traves del API (Application Programming Interface, API) construido por el equipo de Sentinel. Este ultimo producto, nos permite buscar y descargar de manera rapida multiples escenas a nuestros computadores.
Cada misión SENTINEL se enfoca a diferentes aspectos ambientales de observación en la tierra: Atmosféricos, oceánicos y monitoreo terrestre. El objetivo de de la misión SENTINEL-2 es el monitoreo terrestre. La misión se compone de dos satelitales de orbitas polares que entregan imagenes de alta resolución óptica (10-60 m) enfocadas especialmente para el monitoreo de vegetación, suelos y areas costeras. El primer satelite SENTINEL-2 fue lanzado en junio del año 2015.
El objetivo de este tutorial es mostrar el procedimiento de busqueda y descarga de multiples escenas SENTINEL-2 ocupando el paquete de Python sentinelsat
dentro del sistema operativo de Windows. Hay cuatro pasos previos necesarios que se deben hacer antes de comenzar a descargar escenas satelitales:
user name
y tambien un password
.sentinelsat
con pip install sentinel sat
en Python.Información en ingles acerca de como descargar las imagenes a traves del API de Python esta disponible en el siguiente enlace, clic aqui y en e blog de Kresten, un estudiante de PhD alemán.
La mejor alternativa para instalar Python es descargar la distribución Anaconda y seguir las indicaciones propuestas.
Una vez instalado Python en tu PC, abrir Anaconda Prompt
y escribir en el comando de linea: pip install sentinelsat
, cuando los requerimiento se hayan cumplido cerrar la ventana.
Ir a la pagina de geoJSON y dibujar tu area de interes (AOI) y guardar con el formato GeoJSON en tu PC.
En este caso vamos a dibujar un poligono sobre la mina Andina de Codelco en Chile, el cual vamos a guardar para efectos de ejemplo en una nueva carpeta titulada “sentinel images” directamente al disco duro (C:\sentinel images
) de nuestro PC con el nombre: andina.geojson
Poligono que indicar el area de interés o el area de busqueda de las imagenes
Existen dos alternativas para descargar las imagenes. La forma mas fácil es traves de la interfaz del comando de linea (cmd) sentinelsats via anaconda command prompt
y la segunda directamente en Python.
Abrir anaconda command prompt
e instalar el paquete de sentinelsat con el siguiente comando pip install sentinelsat
Localizar en anaconda command prompt
la carpeta donde esta guardado el archivo andina.geojson
. Para ello ingresa el siguiente comando de linea en anaconda command prompt
:
cd\
Para ir al disco C.
cd sentinel images
Para localizar la carpeta.
Escribir el siguiente script en anaconda command prompt
:
sentinelsat -u "username" -p "password" -g andina.geojson --sentinel 2 --cloud 90 -s 20171001 -e 20171030 --url "https://scihub.copernicus.eu/dhus" --footprints --md5
Cada parte significa:
sentinelsat
u <"username"> -p <"password">
T? “username”" y “password”" registrado para acceder a Copernicus Open Access Hub. No olvidar ingresar los datos entre comillas.g andina.geojson
El nombre del archivo geoJSON con el AOI.sentinel 2
El nombre del satelite del cual obtendremos las imagenes.cloud 90
Limite maximo de cobertura de 90% nubosidad.s 20171001 -e 20171030
Fecha de inicio y termino de nuestra busqueda en el formato YYYYMMDD.--url "https://scihub.copernicus.eu/dhus
Url de acceso.--footprints
Crea un archivo geojson con con el footprints de las escenas encontradas.--md5
Verifica la integridad de los archivosPara descargar las imagenes, escribir el mismo codigo pero agregar -d
al final del codigo:
sentinelsat -u "username" -p "password" -g andina.geojson --sentinel 2 --cloud 90 -s 20171001 -e 20171030 --url "https://scihub.copernicus.eu/dhus" --footprints --md5 -d
Los archivos se guardarán como carpetas comprimidas .zip en la carpeta seleccionadas.
Ir a al programa Jupyter notebook
y crear un nuevo Python script.
Seleccionar un nuevo directorio de trabajo:
pip install sentinelsat
Seleccionamos un formato de fecha YYYYMMDD:
from datetime import datetime
now = datetime.now()
now.strftime('%Y%m%d')
Nos conectamos a la API de sentinelsat:
from sentinelsat import SentinelAPI, read_geojson, geojson_to_wkt
api = SentinelAPI('username', 'password', 'https://scihub.copernicus.eu/dhus',show_progressbars=True)
Iniciamos la solicitud de busqueda de la imagen:
footprint = geojson_to_wkt(read_geojson('andina.geojson'))
products = api.query(footprint,
date = ("20171001","20171030"),
platformname = 'Sentinel-2',
cloudcoverpercentage = '[0 TO 100]')
Para visualizar el footprint de las escenas disponible:
api.to_geojson(products)
Para descargar las imagenes
api.download_all(products)
El codigo completo:
import os
path="C:/sentinel images"
os.chdir(path)
os.getcwd()
from datetime import datetime
now = datetime.now()
now.strftime('%Y%m%d')
# Nos conectamos a la API de sentinelsat:
from sentinelsat import SentinelAPI, read_geojson, geojson_to_wkt
api = SentinelAPI('username', 'password', 'https://scihub.copernicus.eu/dhus',show_progressbars=True)
# Iniciamos la solicitud de busqueda de la imagen:
footprint = geojson_to_wkt(read_geojson('andina.geojson'))
products = api.query(footprint,
date = ("20171001","20171030"),
platformname = 'Sentinel-2',
cloudcoverpercentage = '[0 TO 100]')
# Para visualizar el footprint de las escenas disponible:
api.to_geojson(products)
# Para descargar las imagenes
api.download_all(products)
Comparación de imagenes tomadas entre el 6 y el 26 de octubre de 2017 en el area de la mina Andina de CODELCO. Se destaca la abundancia de nieve en el mes de octubre.
Ultima actualización: 2018-08-13
Escrito en: Julio 20, 2017
Copyright © 2018 Atacama Ambiente, Todos los derechos reservados.