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.