Menemukan ubin Sentinel untuk koordinat Panjang / Lat tertentu

11

Saya sedang membangun alat yang mengunduh gambar dari "Sentinel-2 di AWS"

Saya mengalami kesulitan menerjemahkan koordinat Long / Lat ke ubin Sentinel tertentu. Saya tahu bahwa Sentinel 2 menggunakan MGRS dan saya mencoba mengubah Long / Lat ke MGRS dan dengan presisi rendah saya mendapatkan ID ubin S2A. Dan itu berhasil, tetapi tidak selalu.

Misalnya, Long / Lat 34.665,31.625 memutuskan untuk "36R XA" di MGRS, tetapi ubin Sentinel 36RXA tidak ada.

Apa cara yang tepat untuk menentukan ubin Sentinel menggunakan koordinat Long / Lat?

GetUsername
sumber
1
Berpotongan dengan kisi-kisi sentinel-2 ?
user2856
Ya, saya melihat KML ini. Itu akan menjadi pilihan terakhir saya karena pencarian mahal. Saya harap saya bisa melakukannya dengan perhitungan
GetUsername
Anda dapat melakukan ini di Google Cloud karena mereka memiliki semua meta data di BigQuery, misalnya 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, tetapi Anda menyebutkan AWS, jadi saya kira ini tidak akan membantu.
John Powell

Jawaban:

4

Partisi S2 di MGRS rumit terutama ketika data berada di antara zona UTM dan ubin tumpang tindih, lihat gambar di bawah ini. Ubin dari kiri ke kanan adalah 20_M_QE, 20_M_RE, 21_M_SV, dan 21_M_TV:

Pencarian yang dilakukan melalui opensearch untuk wilayah tersebut menghasilkan satu akuisisi S2 yang terpecah dalam dua ubin, 20_M_RE dan 21_M_TV:

20_M_RE

masukkan deskripsi gambar di sini

Jadi, jika Anda tertarik pada data di wilayah ubin 21_M_SV yang diwakili, Anda harus menggunakan 20_M_RE. Perhatikan bahwa representasi yang digunakan dalam contoh (shapefile diperoleh dari NGA) tumpang tindih antara ubin tidak diwakili.

Cara paling aman untuk mendapatkan petak tampaknya mencari AOI Anda menggunakan opensearch dan kemudian mengambil petak yang dikembalikan, atau menggunakan alat util-sentinel2 seperti yang disebutkan oleh bugmenot123.

Jika Anda memilih untuk memetakan Long / Lat ke ubin saya sarankan menggunakan KML yang disediakan oleh ESA sebagai definisi kisi ubin:

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

Fred Liporace
sumber
4

Alat semacam itu sudah ada. Itu disebut Sentinelsat dan sumbernya tersedia di GitHub . Ini menawarkan antarmuka baris perintah dan API Python. Ini berfungsi dengan Sentinel 1 dan 2. Kueri spasial didasarkan pada poligon dan bukan titik, tetapi sebaliknya inilah yang Anda butuhkan.

EDIT: 1) Anda dapat mengembalikan ID produk (atau daftar ID produk) menggunakan fungsi kueri. Dan dari baris perintah, Anda dapat menghilangkan opsi -d agar tidak meluncurkan unduhan (dan menggunakan opsi -f untuk membuat jejak setiap gambar) 2) Mengenai geojson, Anda dapat melihat di bawah ini bahwa wkt bisa menjadi digunakan secara langsung sebagai gantinya. Seperti disebutkan oleh @ThingumaBob, Anda dapat membuat poligon kecil berdasarkan koordinat lat / panjang Anda. Tetapi pada kenyataannya, saya sudah mengujinya dengan poin GeoJason dan juga bekerja dengan baik. Jadi tidak perlu mengubah titik Anda menjadi poligon.

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

yang bisa disesuaikan menjadi

# 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
sumber
terima kasih @radouxju, saya mengetahui Sentinelsat, tetapi kebutuhan khusus saya adalah untuk mendapatkan nama ubin untuk lat / lon yang sesuai. Saya tidak tahu apakah Sentinelsat melakukan itu
user1186
@ user1186 menghasilkan bbox kecil di sekitar lat / lon untuk memberi makan API? tampaknya konyol tetapi bisa menjadi yang Anda butuhkan ...
geozelot
@ ThingumaBob, saya bisa melakukan itu tetapi API akan mengembalikan nilai NDVI. Saya hanya ingin ID ubin, jika ada cara untuk melakukannya melalui API, saya ingin tahu
user1186