You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GEE按ID遍历MultiPolygon并批量导出TIFF的实现方法

GEE批量裁剪GEDI影像并按RTENO导出方案

核心思路

GEE采用服务器端并行处理,用.map()替代传统循环,高效处理批量要素。以下是完整的JavaScript实现代码,适配你的需求:

代码实现

// 1. 加载数据
// 加载你的多边形要素集(替换为你的资产ID)
var bbsRoutes = ee.FeatureCollection('projects/your-project/assets/BBS_Routes');
// 加载GEDI02_B月度影像集,可按需筛选时间/波段
var gediMonthly = ee.ImageCollection('LARSE/GEDI/GEDI02_B_002_MONTHLY')
  .filterDate('2020-01-01', '2020-12-31') // 示例时间范围,按需调整
  .select(['rh95', 'agbd']); // 选择需要的波段,按需调整

// 2. 定义批量处理函数
var processRoute = function(route) {
  // 获取当前要素的RTENO ID
  var rteno = route.get('RTENO');
  // 获取要素边界作为裁剪区域
  var region = route.geometry();
  
  // 裁剪影像集:对每幅影像裁剪到当前要素范围
  var clippedCollection = gediMonthly.map(function(image) {
    return image.clip(region).set('RTENO', rteno);
  });
  
  // 合并裁剪后的影像为单幅(若需按时间合成,可替换为mean()/median()等)
  var clippedImage = clippedCollection.mosaic(); // 或用合成方法,如clippedCollection.mean()
  
  // 设置导出参数
  Export.image.toDrive({
    image: clippedImage,
    description: 'GEDI_' + rteno.getInfo(), // 文件名前缀+RTENO
    folder: 'GEDI_BBS_Output', // 谷歌云盘目标文件夹,需提前创建
    region: region,
    scale: 25, // GEDI影像分辨率,按需调整
    crs: 'EPSG:4326',
    maxPixels: 1e13 // 避免像素数超限
  });
  
  return route; // 保持要素集结构,不影响后续处理
};

// 3. 触发批量处理
bbsRoutes.map(processRoute);

关键说明

  • 为什么用.map():GEE的.map()在服务器端并行执行,比客户端for循环效率高得多,尤其适合250个要素的批量任务。
  • 影像合成选择:如果需要月度合成结果,可将mosaic()替换为mean()(均值合成)、median()(中值合成)等,根据你的分析需求调整。
  • 参数调整:务必替换代码中的资产ID、时间范围、波段列表、云盘文件夹名为实际值;scale需匹配GEDI影像的原生分辨率(GEDI02_B月度产品分辨率为25m)。
  • 任务提交:代码运行后,GEE控制台的"Tasks"面板会生成250个导出任务,点击"Run"批量启动(或选中所有任务后批量运行)。

注意事项

  • 确保BBS_Routes要素集中的RTENO字段为字符串或数值类型,且无重复值。
  • 若导出任务过多导致报错,可分批次处理(比如用.limit(50)先处理50个,再处理下一批)。

内容的提问来源于stack exchange,提问作者colinpsweeney

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 12:39:57