Encontrar el mosaico Centinela para coordenadas largas / latinas específicas

11

Estoy creando una herramienta que descarga imágenes de "Sentinel-2 en AWS"

Tengo problemas para traducir las coordenadas Long / Lat a un mosaico específico de Sentinel. Sé que Sentinel 2 usa MGRS y traté de convertir simplemente Long / Lat a MGRS y con baja precisión obtengo la ID de mosaico S2A. Y funciona, pero no siempre.

Por ejemplo, Long / Lat 34.665,31.625 se resuelve en "36R XA" en MGRS, pero el mosaico Sentinel 36RXA no existe.

¿Cuál sería la forma correcta de determinar el mosaico Sentinel usando coordenadas largas / latinas?

GetUsername
fuente
1
¿Intersecar con la cuadrícula de mosaico Sentinel-2 ?
usuario2856
Sí, vi este KML. Ese sería mi último recurso ya que las búsquedas son caras. Espero poder hacerlo con el cálculo
GetUsername
Puede hacer esto en Google Cloud ya que tienen todos los metadatos en BigQuery, por ejemplo SELECT * FROM [bigquery-public-data:cloud_storage_geo_index.sentinel_2_index] where north_lat < 50 and north_lat > 49 order by sensing_time LIMIT 10, pero usted menciona AWS, por lo que supongo que esto no ayudará.
John Powell

Respuestas:

4

La partición S2 en MGRS es complicada, especialmente cuando los datos se encuentran entre zonas UTM y los mosaicos se superponen, vea la figura a continuación. Los mosaicos de izquierda a derecha son 20_M_QE, 20_M_RE, 21_M_SV y 21_M_TV:

Una búsqueda realizada a través de opensearch para la región devuelve una adquisición S2 dividida en dos mosaicos, 20_M_RE y 21_M_TV:

20_M_RE

ingrese la descripción de la imagen aquí

Entonces, si está interesado en los datos en la región de mosaico 21_M_SV representada, debe usar 20_M_RE. Tenga en cuenta que la representación utilizada en los ejemplos (shapefile obtenido de NGA) no se representa la superposición entre mosaicos.

La forma más segura de obtener los mosaicos parece ser buscar su AOI usando opensearch y luego recuperar los mosaicos devueltos, o utilizando la herramienta sentinel2-util como se menciona en bugmenot123.

Si elige asignar el Long / Lat a los mosaicos, le recomiendo usar el KML proporcionado por ESA como la definición de la cuadrícula de mosaico:

https://sentinel.esa.int/web/sentinel/missions/sentinel-2/data-products

Fred Liporace
fuente
4

Tal herramienta ya existe. Se llama Sentinelsat y la fuente está disponible en GitHub . Ofrece una interfaz de línea de comandos y una API de Python. Funciona con Sentinel 1 y 2. La consulta espacial se basa en un polígono y no en un punto, pero de lo contrario, esto es exactamente lo que necesita.

EDITAR: 1) puede devolver la identificación del producto (o la lista de identificación del producto) usando la función de consulta. Y desde la línea de comandos, puede omitir la opción -d para no iniciar la descarga (y usar la opción -f para crear la huella de cada imagen) 2) Con respecto al geojson, puede ver a continuación que un wkt podría ser utilizado directamente en su lugar. Como mencionó @ThingumaBob, puede crear un pequeño polígono basado en sus coordenadas lat / long. Pero, de hecho, lo probé con un punto GeoJason y también funcionó bien. Por lo tanto, no es necesario convertir su punto en polígono.

# search by polygon, time, and Hub query keywords
footprint = geojson_to_wkt(read_geojson('map.geojson'))
products = api.query(footprint,
                     date = ('20151219', date(2015, 12, 29)),
                     platformname = 'Sentinel-2',
                     cloudcoverpercentage = (0, 30))

que podría ajustarse en

# search by point, time, and Hub query keywords

products = api.query('POINT({0} {1})'.format(longitude,latitude),
                     date = ('20151219', date(2015, 12, 29)),
                     platformname = 'Sentinel-2',
                     cloudcoverpercentage = (0, 30))
radouxju
fuente
gracias @radouxju, conozco a Sentinelsat, pero mi necesidad específica es obtener el nombre del mosaico para un lat / lon correspondiente. No sé si Sentinelsat hace eso
usuario1186
@ user1186 produce un pequeño bbox alrededor del lat / lon para alimentar la API? Parece tonto, pero podría ser todo lo que necesita ...
geozelot
@ThingumaBob, podría hacer eso, pero la API devolverá valores NDVI. Solo quiero la ID de mosaico, si hay una manera de hacerlo a través de la API, me encantaría saber
user1186