如何从Google地球引擎

时间:2017-11-07 02:50:40

标签: python image google-earth-engine

我仍然是Google Earth Engine的新手,但对于获取图片集中每张图片的下载网址提出了疑问。问题是,如何获得图像集中每个图像的下载URL集 - 假设我已将每个图像缩小到合理的大小。

注意,我确实查看了Stackoverflow,发现了一个关于将单个图像下载到Google云端硬盘的问题,但此问题并未提供有关图像集的任何信息。

how to download images using google earth engine's python API

以下代码将生成一些Landsat 8图像的小图像补丁。每个补丁只有少量的kb。

import ee
ee.Initialize()
col = ee.ImageCollection('LANDSAT/LC08/C01/T1').select('B8')
col.filterDate('1/1/2015', '1/30/2015')
boundary_region = ee.Geometry.Point([-2.40986111110000012, 26.76033333330000019]).buffer(300)
col.filterBounds(boundary_region)

def clipper(image):
    return image.clip(region)

col.map(clipper)

现在我想下载集合col中的每个图片。

Earth Engine提供了两种迭代图像集合的方法:map()iterate()函数,但显然这两个函数都不适用于下载函数。

现在好像我可以使用函数生成单个图像的URL:

boundary_geojson = ee.Geometry.Polygon(boundary_region.bounds().getInfo().coordinates[0]).toGeoJSONString()

def downloader(image): 
    url = ee.data.makeDownloadUrl(
        ee.data.getDownloadId({
            'image': image.serialize(),
            'scale': 30,
            'filePerBand': 'false',
            'name': 'test',
            'region': boundary_geojson,
        }))
    return url

请注意,由于某种原因,我似乎无法让boundary_geojson变量正常工作。

现在,网址集应该是一个简单的调用

col.map(downloader)

但这不起作用。

有谁知道如何生成与图像集中的图像对应的网址列表?

0 个答案:

没有答案