在Sentinel-2中,如何从经纬度地理坐标识别S2瓦片?
发布于 2021-10-24 19:27:49
您必须登录https://scihub.copernicus.eu/dhus才能获取用户和密码。
然后,您可以使用此函数:
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结果是来自给定坐标的所有分片,包括重叠的分片。
发布于 2021-10-23 11:04:42
一个迟来的答复,但也许会有人需要它。
如果您不想使用该应用编程接口(或帐户或连接),则有一个包含切片定义的KML文件:https://sentinel.esa.int/documents/247904/1955685/S2A_OPER_GIP_TILPAR_MPC__20151209T095117_V20150622T000000_21000101T000000_B00.kml
你可以解析它并根据坐标生成多边形,然后检查你的点是否在多边形内部(例如,使用shapely)。不过,不确定这是否会比API更快。
不要忘记分片有重叠,即一个坐标最多可以同时存在于4个分片中。
https://stackoverflow.com/questions/67397232
复制相似问题