如何使用Amazon S3下载Landsat 8图像



我从Python中的Landsat-8数据产品的自动下载中实现了Python代码|地质和Python教程。

它的工作还不错,但是我想根据日期检索数据。我什至更改了一些代码,但没有成功。

bulk_list = []
# Iterate through paths and rows
for path, row in zip(paths, rows):
print('Path:',path, 'Row:', row)
# Filter the Landsat Amazon S3 table for images matching path, row, cloudcover and processing state.
scenes = s3_scenes[(s3_scenes.path == path) & (s3_scenes.row == row) & 
                   (s3_scenes.cloudCover <= 15) & 
                   (s3_scenes.acquisitionDate='2019-04-22')
                   (~s3_scenes.productId.str.contains('_T2')) &
                   (~s3_scenes.productId.str.contains('_RT'))]
print(' Found {} imagesn'.format(len(scenes)))
# If any scenes exists, select the one that have the minimum cloudCover.
if len(scenes):
    scene = scenes.sort_values('acquisitionDate').iloc[0]
# Add the selected scene to the bulk download list.
bulk_list.append(scene)

但它引发了一个错误:

File "<ipython-input-37-ec27c752ae7e>", line 11
(s3_scenes.acquisitionDate='2019-04-22')
                              ^
SyntaxError: invalid syntax

我知道日期格式存在问题,但无法解决。

也请建议我对Landsat上的AWS的一些好教程。

当我打印批量清单时 bulk_list [productId LC08_L1TP_152042_20190422_20190507_01_T1 entityId LC81520422019112LGN00 acquisitionDate 2019-04-22 05:56:08.442691 cloudCover 0 processingLevel L1TP path 152 row 42 min_lat 24.9171 min_lon 66.742 max_lat 27.0339 max_lon 69.0604 download_url https://s3-us-west-2.amazonaws.com/landsat-pds... Name: 1520154, dtype: object]

,即使我使用 (s3_scenes.acquisitionDate='2019-04-22 05:56:08.442691')结果保持相同

我认为日期格式shoud是 YYYYMMDD

有关更多信息,请参见Amazon

或简单地使用s3_scenes.productId.str.contains('20190422')

您在语句结束时忘记了 &

最新更新