Ошибка Sineinelsat Python API в запросе пересекаются

1

Я сталкиваюсь с проблемой при поиске изображения, содержащего определенные координаты. Я не могу заставить функцию пересечения работать с 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)

Любая идея, как это решить?

Теги:
intersect

2 ответа

1
Лучший ответ

замещать

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

Согласно официальным документам sentinelsat, вы можете выбрать между тремя различными типами area_relation внутри вашего запроса. Я думаю, вы должны оставить след, содержащий только Polygon:

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, я думаю, вам нужно процитировать раздел многоугольника, то есть пересекает ('POLYGON ((0 0,1 1,0 1,0 0))')

  • 0
    это дало эту ошибку footprint = 'intersects (' POLYGON ((0 0,1 1,0 1,0 0)) ')' ^ SyntaxError: неверный синтаксис

Ещё вопросы

Сообщество Overcoder
Наверх
Меню