哨兵-2:如何从经纬度地理坐标中知道S2瓦片



在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结果是来自给定坐标的所有瓦片,包括重叠的瓦片。

相关内容

  • 没有找到相关文章

最新更新