第六章 用 GEE 下载遥感影像
本章代码整理自我的原创教程《如何用GEE下载遥感影像?》,为完整的可运行示例。
Google Earth Engine(GEE)把检索—筛选—合成—裁剪—导出整条流水线浓缩成一段代码。 对于需要多幅影像拼接、多年份批量处理的需求(见第十二章咸海案例), GEE 比手动逐一下载高效得多。下面是一份带注释的完整流程, 以下载都江堰区域 2021 年夏季的 Landsat 8 影像为例。
第一步:加载矢量边界
其中 roi 为自定义命名的一个参数,ee.FeatureCollection 为GEE调用函数;
函数参数 '' 里的是矢量数据的 Table ID,可在 GEE 的 Assets 面板中复制粘贴于此。
var roi = ee.FeatureCollection("projects/gee-lendeavor9/assets/dujiangyan");
var roi = roi.geometry(); // 获取矢量数据的几何边界
将地图视野中心移到感兴趣区的位置并设置缩放级别,再添加一个图层可视化边界 (例如显示为红色):
Map.centerObject(roi, 10);
Map.addLayer(roi, {color: "red"}, "自定义命名图层1");
第二步:定义去云函数
未定义去云函数时合成结果会受云污染影响, 具体方法见如何用GEE对Landsat影像去云?(我的另一篇教程)。
第三步:加载 Landsat 遥感影像
选择数据集(写法见GEE官方文档示例),依次做区域筛选、时间筛选、 选择所需波段、中值合成,最后裁剪:
var dataset = ee.ImageCollection('LANDSAT/LC08/C02/T1_L2') // 选择数据集
.filterBounds(roi) // 区域筛选
.filterDate('2021-06-01', '2021-10-01') // 时间筛选
.select('SR_B1','SR_B2','SR_B3','SR_B4','SR_B5','SR_B6','SR_B7') // 选择所需波段
.median() // 中值合成出具有代表性的合成影像
.clip(roi); // 裁剪影像
将处理后的影像通过指定波段组合显示在地图上
(SR_B4/SR_B3/SR_B2 即红/绿/蓝真彩色组合):
Map.addLayer(dataset, {bands: ['SR_B4', 'SR_B3', 'SR_B2'], max: 0.3}, "自定义命名图层2");
第四步:导出影像
将处理好的影像下载到谷歌云盘:
Export.image.toDrive({
image: dataset, // 需要导出的图像数据
description: 'processedImage',// 任务名,不可中文命名
folder: 'GEE_download', // 存放影像的文件夹名,不可中文命名
region: roi, // 需要导出的区域
scale: 30, // 导出分辨率为30米
crs: "EPSG:4326", // 坐标系设置
maxPixels: 1e13
});
运行后切换到 Tasks 面板,点击 RUN 等待导出完成,
再从谷歌云盘下载即可。注意 description 与 folder 都不可用中文命名。
小结
这一段代码的骨架——FeatureCollection 边界 → ImageCollection 筛选 → median 合成 → clip → Export——
适用于绝大多数下载一景合成影像的需求。换数据集、换时间、换区域,
只需改对应的参数。
