在Sentinel-2中,如何从纬度/经度地理坐标中了解S2瓦片?
答案很晚,但可能有人需要。
如果您不想使用API(或帐户或连接(,则有一个KML文件具有瓦片的定义:https://sentinel.esa.int/documents/247904/1955685/S2A_OPER_GIP_TILPAR_MPC__20151209T095117_V20150622T000000_21000101T000000_B00.kml
你可以解析它,根据坐标制作多边形,并检查你的点是否在多边形内(例如shapely(。但不确定这是否会比API更快。
不要忘记瓦片有重叠,即一个坐标可能同时存在于多达4个瓦片中。
您必须登录https://scihub.copernicus.eu/dhus以便请求API的用户和密码。
然后,你可以使用这个功能:
lat
是地理纬度,lon
是经度,tiles
包含网格中的瓦片:
def S2tile_fromLATLON(float(lat),float(lon)):
# query scenes
api = SentinelAPI('USER', 'PASSWORD', 'https://scihub.copernicus.eu/dhus')
footprint = 'POINT(%s %s)' % (lon, lat)
product = api.query(footprint,
date=('20190101', '20190301'),
platformname='Sentinel-2',
producttype= 'S2MSI1C',
area_relation='Contains',
)
# get tile
tiles=[]
for value in product.values():
tile = value['tileid']
if len(tiles)==0:
print(tile)
tiles.append(tile)
aux=0
for j in range(0,len(tiles)):
if tile==tiles[j]:
aux=1
if aux==0:
print(tile)
tiles.append(tile)
return tiles
您也可以使用.Kml
文件找到瓦片。但是,如果您需要查找多个坐标的瓦片或自动化流程,建议使用API。API结果是来自给定坐标的所有瓦片,包括重叠的瓦片。