相关疑难解决方法(0)

如何从 Google Earth Engine python api 迭代和下载图像集合中的每个图像

我是谷歌地球引擎的新手,并试图了解如何使用谷歌地球引擎 python api。我可以创建一个图像集合,但显然该getdownloadurl()方法仅适用于单个图像。所以我试图了解如何迭代和下载集合中的所有图像。

这是我的基本代码。对于我正在做的其他一些工作,我非常详细地分解了它。

import ee
ee.Initialize()
col = ee.ImageCollection('LANDSAT/LC08/C01/T1')
col.filterDate('1/1/2015', '4/30/2015')
pt = ee.Geometry.Point([-2.40986111110000012, 26.76033333330000019])
buff = pt.buffer(300)
region = ee.Feature.bounds(buff)
col.filterBounds(region)
Run Code Online (Sandbox Code Playgroud)

所以我拉了 Landsat 集合,按日期和缓冲区几何过滤。所以我应该在集合中有 7-8 张图片(所有乐队)。

但是,我似乎无法通过迭代来处理集合。

例如:

for i in col:
    print(i)
Run Code Online (Sandbox Code Playgroud)

错误表明 TypeError: 'ImageCollection' object is not iterable

因此,如果集合不可迭代,我如何访问单个图像?

一旦我有了图像,我应该可以使用通常的

path = col[i].getDownloadUrl({
    'scale': 30,
    'crs': 'EPSG:4326',
    'region': region
})
Run Code Online (Sandbox Code Playgroud)

python python-3.x google-earth-engine landsat

4
推荐指数
1
解决办法
8066
查看次数

如何使用Google Earth引擎的python API下载图像

我正在使用Google的Earth Engine API来访问LandSat图像。该程序如下所示,

import ee
ee.Initialize()
Run Code Online (Sandbox Code Playgroud)

加载landsat图像并选择三个波段。

landsat = ee.Image('LANDSAT/LC8_L1T_TOA
/LC81230322014135LGN00').select(['B4', 'B3', 'B2']);
Run Code Online (Sandbox Code Playgroud)

创建代表输出区域的几何。

geometry = ee.Geometry.Rectangle([116.2621, 39.8412, 116.4849, 40.01236]);
Run Code Online (Sandbox Code Playgroud)

导出图像,指定比例和区域。

 export.image.toDrive({
    image: landsat,
    description: 'imageToDriveExample',
    scale: 30,  
    region: geometry
    });
Run Code Online (Sandbox Code Playgroud)

它引发以下错误。

Traceback (most recent call last):
File "e6.py", line 11, in <module>
export.image.toDrive({
NameError: name 'export' is not defined
Run Code Online (Sandbox Code Playgroud)

请帮忙。我找不到正确的功能来下载图像。

python google-earth-engine

2
推荐指数
2
解决办法
6069
查看次数

标签 统计

google-earth-engine ×2

python ×2

landsat ×1

python-3.x ×1