GEE在ERA5数据集中提取流域日均温度

GEE在ERA5数据集中提取流域日均温度

  • 主要思路
  • 代码
  • 结果
  • 致谢

主要思路

当我们要提取国外影像的长时间序列、或大尺度地理信息时,可以考虑利用GEE快速实现,免去数据下载和本地存储、运算的麻烦。本次以再分析资料ERA5为例,使用GEE的ImageCollection对象搜集2015-2020年的数据,在map函数中循环计算可可西里流域的日均温度,然后为每幅影像设置日均温度(mt)属性,最后利用ImageCollection的aggregate_array函数提取mt与日期()属性转为List,最后生成一个字典并复制粘贴到本地excel表格。

代码

// Daily mean 2m air temperature
var dict1 = {reducer: ee.Reducer.mean(),geometry: kkbasin,bestEffort: true}
var era5_2mt = ee.ImageCollection('ECMWF/ERA5/DAILY')
                   .select('mean_2m_air_temperature')
                   .filter(ee.Filter.date('2015-01-01', '2020-12-31'))
                   .filterBounds(kkbasin)
                   .map(function(image){var mt = image.reduceRegion(dict1);
                     var mt_cel = ee.Number(mt.get('mean_2m_air_temperature')).subtract(273.15);
                     image = image.set({'mt':mt_cel});//add a property of mt
                     return image;
                   });
                 
var mt = era5_2mt.aggregate_array('mt')
print('mt:',mt)
var dates = era5_2mt.reduceColumns(ee.Reducer.toList(), ["system:index"])
                  .get("list");
print('dates',dates);
var mt_dict = ee.Dictionary.fromLists(dates, mt)
print('mt_dict:', mt_dict)

注意:kkbasin 是我的本地要素数据。

结果

实验最后得到一个拥有2017个元素的字典,也是一个JSON。GEE本身不支持代码导出JSON格式(反正我不会,),此时需要一个小技巧复制这么长的一个字典:如下图,点击mt_dict右边的JSON字样,出现红圈中的大括号,再点击之即可选中整个字典。
GEE在ERA5数据集中提取流域日均温度_第1张图片

致谢

感谢尹院的指导!

你可能感兴趣的:(GEE,js)