1

我以前见过这个问题,但似乎专注于导出到 GDrive,我想将图像导出/下载到我的计算机而不是谷歌驱动器。

我正在尝试使用地球引擎的 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,我可以从中下载图像。

同样对于图像集合,我可以使用以下方法获取图像集合:

collection = (ee.ImageCollection('LANDSAT/LE07/C01/T1')
              .filterDate(datetime.datetime(2002, 11, 8),
                          datetime.datetime(2002, 11, 15)))

是否可以遍历每个图像并获取每个下载 URL?即想在不使用谷歌驱动器的情况下每月抓取一次相同区域的图像或类似的东西。现在我把问题简单化了,但会在下载之前将图像剪辑到我的区域并根据需要执行其他操作。

我在这里找到了这个问题:How to iterate over and download each image in an image collection from the Google Earth Engine python api

但无法提出最终解决方案...

帮助将不胜感激!

4

1 回答 1

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 。注释掉的代码是你感兴趣的

于 2020-08-21T05:15:48.613 回答