首页 > 解决方案 > Earth Engine:使用字典在特征集合中每年显示

问题描述

我正在研究 2000 年至 2020 年某个地区地表水的变化。我通过组合 Landsat 图像创建了一个图像集,每年提供一张图像。

首先,我创建了属性总和来查看每年的地表水总量(使用波段分类)。

var annual_sum = function(yr){
  var IC = qw_IC.filterMetadata('year', 'equals', yr).select('classification').sum().gt(0);
  return(IC.set('year', yr));
};

然后,我创建了一个图像集来显示这个年度地表水的总和。

var aw_IC = ee.ImageCollection(years.map(annual_sum));
print(aw_IC, 'annual water');

我为我指定区域的每个像素的总地表水创建了图像集 Annual_flood。

var annual_flood = aw_IC.map(function(im){
  return(im.reduceRegions({
    reducer: ee.Reducer.sum(),
    collection: gibis,
    scale: 30
  }));
}).flatten();

在下面的代码中,我创建了一个由 21 个特征组成的特征集合(2000-2020 年每年一个),并选择了每个特征要显示的总和。

var annual_flood_extent = annual_flood.map(function(f){
    f = ee.Feature(f);
    return ee.Feature(null, f.toDictionary(['sum']));
 });
 print(annual_flood_extent, 'annual flood extent');

我想知道是否有一种方法也可以使用字典来显示每个特征的年份以及总和值。目前,每个功能只有一个属性,总和,我也希望显示年份。在图像集 Annual_flood 中显示年份我只是不确定如何在 yearly_flood_extent 中显示它。

非常感谢!

标签: google-earth-engine

解决方案


推荐阅读