本文整理汇总了Python中sentinelsat.SentinelAPI.query_raw方法的典型用法代码示例。如果您正苦于以下问题:Python SentinelAPI.query_raw方法的具体用法?Python SentinelAPI.query_raw怎么用?Python SentinelAPI.query_raw使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类sentinelsat.SentinelAPI
的用法示例。
在下文中一共展示了SentinelAPI.query_raw方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_download_all
# 需要导入模块: from sentinelsat import SentinelAPI [as 别名]
# 或者: from sentinelsat.SentinelAPI import query_raw [as 别名]
def test_download_all(tmpdir):
api = SentinelAPI(**_api_auth)
# From https://scihub.copernicus.eu/apihub/odata/v1/Products?$top=5&$orderby=ContentLength
filenames = ["S1A_WV_OCN__2SSH_20150603T092625_20150603T093332_006207_008194_521E",
"S1A_WV_OCN__2SSV_20150526T211029_20150526T211737_006097_007E78_134A",
"S1A_WV_OCN__2SSV_20150526T081641_20150526T082418_006090_007E3E_104C"]
ids = list(api.query_raw(" OR ".join(filenames)))
assert len(ids) == len(filenames)
# Download normally
product_infos, failed_downloads = api.download_all(ids, str(tmpdir))
assert len(failed_downloads) == 0
assert len(product_infos) == len(filenames)
for product_id, product_info in product_infos.items():
pypath = py.path.local(product_info['path'])
assert pypath.purebasename in filenames
assert pypath.check(exists=1, file=1)
assert pypath.size() == product_info["size"]
# Force one download to fail
id, product_info = list(product_infos.items())[0]
path = product_info['path']
py.path.local(path).remove()
with requests_mock.mock(real_http=True) as rqst:
url = "https://scihub.copernicus.eu/apihub/odata/v1/Products('%s')?$format=json" % id
json = api.session.get(url).json()
json["d"]["Checksum"]["Value"] = "00000000000000000000000000000000"
rqst.get(url, json=json)
product_infos, failed_downloads = api.download_all(
ids, str(tmpdir), max_attempts=1, checksum=True)
assert len(failed_downloads) == 1
assert len(product_infos) + len(failed_downloads) == len(filenames)
assert id in failed_downloads
示例2: test_get_products_size
# 需要导入模块: from sentinelsat import SentinelAPI [as 别名]
# 或者: from sentinelsat.SentinelAPI import query_raw [as 别名]
def test_get_products_size(products):
assert SentinelAPI.get_products_size(products) == 90.94
# load a new very small query
api = SentinelAPI(**_api_auth)
with my_vcr.use_cassette('test_get_products_size'):
products = api.query_raw("S1A_WV_OCN__2SSH_20150603T092625_20150603T093332_006207_008194_521E")
assert len(products) > 0
# Rounded to zero
assert SentinelAPI.get_products_size(products) == 0
示例3: test_invalid_query
# 需要导入模块: from sentinelsat import SentinelAPI [as 别名]
# 或者: from sentinelsat.SentinelAPI import query_raw [as 别名]
def test_invalid_query():
api = SentinelAPI(**_api_auth)
with pytest.raises(SentinelAPIError) as excinfo:
api.query_raw("xxx:yyy")
assert excinfo.value.msg is not None