查询相交中的Python API sentinelsat错误

时间:2018-09-05 16:54:45

标签: python api intersect sentinelsat

搜索包含特定坐标的图像时遇到问题。我无法使intersect函数与API一起使用。

我收到此错误消息:

sentinelsat.sentinel.SentinelAPIError: HTTP status 200 OK: Invalid query string. Check the parameters and format.

那么我怎样才能使查询与交集一起使用?

使用的代码:

from sentinelsat import SentinelAPI, read_geojson, geojson_to_wkt
from datetime import date
from shapely.geometry import box, Polygon

api = SentinelAPI('myusername', 'mypassword','https://scihub.copernicus.eu/dhus')

footprint='footprint:"intersects(POLYGON((0 0,1 1,0 1,0 0)))"'

products = api.query(footprint,
                     date=('20180901', date(2018, 9, 3)),
                     area_relation='Intersects',
                     platformname='Sentinel-2',
                     cloudcoverpercentage=(0, 10))

print(products)

#this works  
#api.download_all(products)

有什么解决方法吗?

2 个答案:

答案 0 :(得分:2)

替换

footprint='footprint:"intersects(POLYGON((0 0,1 1,0 1,0 0)))"'

使用

footprint='POLYGON((0 0,1 1,0 1,0 0))'

我不知道这些数字是否仅供参考,但此多边形没有结果。要查看其他区域的结果,请尝试

footprint='POLYGON((0 0,1 1,0 1,0 0))'
products = api.query(footprint,
                 date=('20180901', date(2018, 9, 5)),
                 area_relation='Intersects',
                 platformname='Sentinel-2',
                cloudcoverpercentage=(0, 10))

根据官方哨兵docs,您可以在查询中选择三种不同类型的area_relation。我认为您应该只留下包含多边形的足迹:

Intersects: true if the AOI and the footprint intersect (default)
Contains: true if the AOI is inside the footprint
IsWithin: true if the footprint is inside the AOI

答案 1 :(得分:0)

如果它类似于其他OpenGIS实现,我认为您需要引用多边形部分,即intersects('POLYGON((0 0,1 1,0 1,0 0))')