我以前曾问过这个问题,但似乎专注于导出到GDrive,我想将图像导出/下载到我的计算机而不是Google驱动器上。
我正在尝试使用地球引擎的python API从图像集中下载每个图像。
按照他们的示例,很容易捕获单个图像并获得下载URL:
image1 = ee.Image('CGIAR/SRTM90_V4')
path = image1.getDownloadUrl({
'scale': 30,
'crs': 'EPSG:4326',
'region': '[[-120, 35], [-119, 35], [-119, 34], [-120, 34]]'})
print(path)
这为我提供了一个URL,我可以从该URL下载图像。
类似地,对于图像集合,我可以使用:
collection = (ee.ImageCollection('LANDSAT/LE07/C01/T1')
.filterDate(datetime.datetime(2002, 11, 8),
datetime.datetime(2002, 11, 15)))
是否可以遍历每个图像并获取每个下载URL?即希望每月一次或不使用Google云端硬盘获取相同区域的图像。现在,我将问题简单了一点,但是将图像剪切到我的区域并在下载之前根据需要执行其他操作。
我在这里找到了这个问题:How to iterate over and download each image in an image collection from the Google Earth Engine python api
但无法提出最终解决方案...
我们将不胜感激!
答案 0 :(得分:0)
您可以这样做:
data = images.toList(images.size());
for i in range(43): #This is the number of images in the images collection
image = ee.Image(data.get(i));
#image = image.select(["B2","B3","B4","B8","B12"])
path = image.getDownloadUrl({
'scale' : scale,
'crs' : 'EPSG:4326',
'region' : polys})
print(path)
您可以检查此代码,我基于上面的代码。 它在javascript中,但概念相同 https://github.com/Yichabod/natural_disaster_pred/blob/master/image_download_script.js 。注释掉的代码就是您感兴趣的代码