以下是使用Google Earth Engine (GEE) 结合GEDI数据提取研究区生物量制图的完整流程:


1. 加载GEDI数据集和研究区

// 加载GEDI L4A数据集(Version 2.1)
var gedi = ee.ImageCollection("LARSE/GEDI/GEDI04_A_002_MONTHLY");

// 加载研究区
var study_area = ee.FeatureCollection('projects/ee-13821256325a/assets/simao');

2. 筛选时间和空间范围

// 定义时间范围(例如2020年)
var startDate = '2020-01-01';
var endDate = '2020-12-31';

// 按时间和空间筛选GEDI数据
var gediFiltered = gedi
  .filterDate(startDate, endDate)
  .filterBounds(study_area);

3. 提取生物量属性

GEDI L4A的关键属性是 agbd(Aboveground Biomass Density,单位:Mg/ha):

// 提取生物量点数据
var biomassPoints = gediFiltered
  .select('agbd')  // 选择生物量字段
  .filterBounds(study_area);

4. 可视化设置

// 生物量可视化参数
var visParams = {
  min: 0,
  max: 500,  // 根据研究区调整范围
  palette: ['green', 'yellow', 'red']
};

// 将研究区设为地图中心并显示
Map.centerObject(study_area, 10);
Map.addLayer(study_area, {color: 'blue'}, 'Study Area');
Map.addLayer(biomassPoints, visParams, 'GEDI Biomass Points');

5. 将点数据转换为栅格(插值)

GEDI是离散点数据,需插值为连续栅格。以下使用核密度插值示例:

// 创建空白栅格模板
var grid = ee.Image().paint(study_area, 0).toFloat();

// 核密度插值(调整radius参数控制平滑度)
var biomassRaster = biomassPoints
  .reduceToImage(['agbd'], ee.Reducer.first())
  .reduceNeighborhood({
    reducer: ee.Reducer.mean(),
    kernel: ee.Kernel.circle(500, 'meters'),  // 插值半径
    optimization: 'boxcar'
  })
  .clip(study_area);

// 显示插值结果
Map.addLayer(biomassRaster, visParams, 'Interpolated Biomass');

6. 导出结果

导出为GeoTIFF到Google Drive
Export.image.toDrive({
  image: biomassRaster,
  description: 'GEDI_Biomass_Map',
  folder: 'GEDI',
  region: study_area.geometry(),
  scale: 30,  // 分辨率(米)
  maxPixels: 1e13,
  fileFormat: 'GeoTIFF'
});
导出点数据为CSV
Export.table.toDrive({
  collection: biomassPoints,
  description: 'GEDI_Biomass_Points',
  fileFormat: 'CSV',
  selectors: ['agbd', 'latitude', 'longitude']
});

7. 验证与统计

计算区域平均生物量
var meanBiomass = biomassRaster.reduceRegion({
  reducer: ee.Reducer.mean(),
  geometry: study_area.geometry(),
  scale: 30,
  maxPixels: 1e13
});
print('Mean Biomass (Mg/ha):', meanBiomass.get('agbd'));

注意事项

  1. 数据可用性:GEDI数据自2019年开始,需确认研究时段内是否有覆盖。
  2. 分辨率匹配:GEDI原始点间距约60米,插值时避免过高的输出分辨率(建议≥30米)。
  3. 质量筛选:可使用 quality_flag 过滤低质量数据:
    var gediHighQuality = gediFiltered.filter(ee.Filter.eq('quality_flag', 1));
    
  4. 单位转换:如需总生物量(Mg),需结合面积计算:
    var areaImage = ee.Image.pixelArea().divide(1e4); // 公顷
    var totalBiomass = biomassRaster.multiply(areaImage).rename('total_agbd');
    

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐