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

该博客介绍了如何利用Google Earth Engine(GEE)从ERA5数据集中提取可可西里流域2015-2020年的日均温度。通过ImageCollection对象、filterBounds和reduceRegion等方法进行数据处理,并将结果转换为JSON格式存储。最终,作者生成了一个包含2017个元素的字典,并对尹院的指导表示感谢。
摘要由CSDN通过智能技术生成

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字样,出现红圈中的大括号,再点击之即可选中整个字典。
在这里插入图片描述

致谢

感谢尹院的指导!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值