Individuazione del riquadro Sentinel per coordinate Long / Lat specifiche


11

Sto costruendo uno strumento che scarica immagini da "Sentinel-2 su AWS"

Ho difficoltà a tradurre le coordinate Long / Lat in una specifica tessera Sentinel. So che Sentinel 2 utilizza MGRS e ho provato a convertire semplicemente Long / Lat in MGRS e con bassa precisione ottengo l'ID del riquadro S2A. E funziona, ma non sempre.

Ad esempio, Long / Lat 34.665,31.625 si risolve in "36R XA" in MGRS, ma il riquadro Sentinel 36RXA non esiste.

Quale sarebbe il modo giusto per determinare la tessera Sentinel usando le coordinate Long / Lat?



Sì, ho visto questo KML. Sarebbe la mia ultima risorsa dato che le ricerche sono costose. Spero di poterlo fare con il calcolo
GetUsername


Puoi farlo in Google Cloud in quanto hanno tutti i metadati in BigQuery, ad esempio 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, ma menzioni AWS, quindi immagino che questo non ti aiuterà.
John Powell,

Risposte:


4

Il partizionamento S2 in MGRS è particolarmente complicato quando i dati si trovano tra le zone UTM e le tessere si sovrappongono, vedere la figura seguente. Le piastrelle da sinistra a destra sono 20_M_QE, 20_M_RE, 21_M_SV e 21_M_TV:

Una ricerca effettuata tramite opensearch per la regione restituisce un'acquisizione S2 interrotta in due riquadri, 20_M_RE e 21_M_TV:

20_M_RE

inserisci qui la descrizione dell'immagine

Quindi, se sei interessato ai dati nella regione di riquadri 21_M_SV rappresentata, dovresti usare 20_M_RE. Si noti che la rappresentazione utilizzata negli esempi (shapefile ottenuto da NGA) la sovrapposizione tra i riquadri non è rappresentata.

Il modo più sicuro per ottenere i riquadri sembra essere cercare il tuo AOI usando opensearch e quindi recuperare i riquadri restituiti o utilizzando lo strumento sentinel2-util come indicato da bugmenot123.

Se si sceglie di associare Long / Lat ai riquadri, si consiglia di utilizzare il KML fornito dall'ESA come definizione della griglia di piastrellatura:

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


4

Tale strumento esiste già. Si chiama Sentinelsat e la fonte è disponibile su GitHub . Offre un'interfaccia a riga di comando e un'API Python. Funziona con Sentinel 1 e 2. La query spaziale si basa su un poligono e non su un punto, ma per il resto è esattamente ciò di cui hai bisogno.

MODIFICA: 1) è possibile restituire l'ID prodotto (o l'elenco ID prodotto) utilizzando la funzione di query. E dalla riga di comando, puoi omettere l'opzione -d per non avviare il download (e usare l'opzione -f per creare l'impronta di ogni immagine) 2) Per quanto riguarda il geojson, puoi vedere sotto che un wkt potrebbe essere usato direttamente invece. Come menzionato da @ThingumaBob, puoi creare un piccolo poligono basato sulle tue coordinate lat / long. Ma in effetti, l'ho provato con un punto GeoJason e ha anche funzionato bene. Quindi non è necessario convertire il punto in poligono.

# 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))

che potrebbe essere adattato in

# 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))

grazie @radouxju, sono a conoscenza di Sentinelsat, ma il mio specifico bisogno è quello di ottenere il nome della piastrella per un lat / lon corrispondente. Non so se Sentinelsat lo faccia
user1186

@ user1186 produce un piccolo bbox attorno al lat / lon per alimentare l'API? sembra sciocco ma potrebbe essere tutto ciò di cui hai bisogno ...
geozelot

@ThingumaBob, potrei farlo ma l'API restituirà i valori NDVI. Voglio solo l'ID del riquadro, se esiste un modo per farlo tramite l'API, mi piacerebbe saperlo
user1186
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.