第六篇GEE中使用数据集求年平均温度

目录

一、主要信息

(一)数据提供者和数据集

(二)可用时间

(三)空间分辨率

(四)所含主要波段

二、数据集的使用

(一)具体代码

(二)结果


一、主要信息

(一)数据提供者和数据集

NASA LP DAAC at the USGS EROS Center、" MODIS/061/MOD11A2"

(二)可用时间

2000021800:00:00–至今

(三)空间分辨率

1000

(四)所含主要波段

如下表

名字

单位

最小值

最大值

描述

LST_Day_1km

K

7500

65535

日地表温度

LST_Night_1km

K

7500

65635

夜间地表温度

二、数据集的使用

(一)具体代码

使用此数据集计算一个区域(roi)的年平均降水(注意:1、这里需要自己定义一个感兴趣区域roi。2、使用此数据集不可超出它的可用时间范围。)

//4.1MODIS/061/MOD11A2
Map.addLayer(roi);
Map.centerObject(roi, 7);

// 选择MODIS温度数据集
var modisLST = ee.ImageCollection("MODIS/061/MOD11A2")
  .filterDate('2000-01-01', '2023-12-31')
  .select('LST_Day_1km');

// 计算每年的平均温度
var yearlyTemperature = ee.List.sequence(2000, 2023).map(function(year) {
  var startDate = ee.Date.fromYMD(year, 1, 1);
  var endDate = ee.Date.fromYMD(year, 12, 31);
  var yearlyMean = modisLST.filterDate(startDate, endDate).mean();
  var celsiusTemp = yearlyMean.multiply(0.02).subtract(273.15); // 转换为摄氏度
  var meanTemp = celsiusTemp.reduceRegion({
    reducer: ee.Reducer.mean(),
    geometry: roi,
    scale: 1000
  });
  return meanTemp.get('LST_Day_1km');
});

// 转换成特征集并绘制柱状图
var chart = ui.Chart.array.values(yearlyTemperature, 0, ee.List.sequence(2000, 2023)).setOptions({
  title: '2000-2023年每年平均温度(摄氏度)',
  vAxis: {title: '温度(℃)'},
  hAxis: {title: '年份'}
});
print(chart);

(二)结果

这里roi以湖南省(如图1)为例,运行结果如图2所示。将鼠标移到散点图上就可以显示年平均降水量。

鼠标左键点击散点图右上角的箭头图标,可以保存为三种格式,分别是csv表格格式、svg和png图片格式,如图3所示。

​(图1)

(图2)

(图3)

### 如何在 Google Earth Engine (GEE) 上计算并下载某地区的标准化降水蒸散指数 (SPEI) #### 背景说明 标准化降水蒸散指数 (Standardized Precipitation Evapotranspiration Index, SPEI) 是一种用于评估干旱状况的时间序列指标。它综合考虑了降水量和潜在蒸发量的影响,能够更全面地反映水分平衡状态。通过 GEE 平台可以高效处理大规模地理数据集来实现 SPEI 的计算。 为了完成这一目标,通常需要以下几个关键步骤:定义感兴趣区域、获取气象数据集合(如降水和气温)、利用模型估算实际或潜在蒸散发量、基于这些输入变量构建 SPEI 时间序列以及导出最终结果。 --- #### 定义兴趣区与加载基础影像 假设我们已经有一个名为 `wuhan` 的矢量边界文件作为研究范围,则可以通过如下方式初始化环境: ```javascript // 加载武汉地区特征集合 var wuhan = ee.FeatureCollection("users/yp7454982/wuhan"); Map.centerObject(wuhan, 8); // 设置日期区间 var startDate = ee.Date('2000-01-01'); var endDate = ee.Date('2020-01-01'); // 打印确认对象已成功导入 print("Region of Interest:", wuhan); ``` 上述代码片段展示了如何指定地理位置及其显示级别[^2]。 --- #### 获取必要的气候参数 对于 SPEI 计算而言,至少需取得两个主要因子——月累计降雨量(Precipitation Sum) 和参考作物蒸发速率(Reference Crop Evaporation Rate),即 PET 值。这里推荐采用 CHIRPS 数据源代表前者;而后者可借助 MODIS 或 ERA5-Land 提供的地表辐射通量反演得到。 以下是读取 CHIRPS 雨量资料的一个例子: ```javascript // 导入CHIRPS全球每日降水产品 var chirpsDaily = ee.ImageCollection("UCSB-CHG/CHIRPS/DAILY"); // 过滤时间跨度及空间掩膜操作 var precipitationMonthlySum = chirpsDaily.filterDate(startDate, endDate) .filterBounds(wuhan.geometry()) .reduce(ee.Reducer.sum()); // 将总和转换成每月平均值形式呈现出来 precipitationMonthlySum = precipitationMonthlySum.divide(precipitationMonthlySum.bandNames().size()); ``` 关于 ET₀ 的提取方法,请参阅相关文献[^4]中的具体实践案例描述。 --- #### 实现 SPEI 数学建模过程 一旦拥有了 P 和 ETO 后续就可以着手建立 SPI/SPEI 统计分布拟合流程了。一般情况下我们会选用 Gamma 分布函数去逼近历史记录曲线形状特性从而得出对应的标准分位数映射关系表达式。然而由于篇幅所限在此仅给出伪代码示意框架结构仅供参考学习之用: ```pseudo function computeSpei(precipitationSeries, evapotranspirationSeries){ let combinedDeficit = []; foreach(monthlyDataPoint in range(startYear:endYear)){ deficitValue = monthlyPrecipitation - monthlyEvapotranspirtion; append(deficitValue ,combinedDeficit ); } fittedDistributionParameters = fitGammaDist(combinedDeficit ); zScoresForEachMonth = transformToZScore(fittedDistributionParameters, combinedDeficit ); return zScoresForEachMonth ; } ``` 注意这里的逻辑并未直接体现出来而是留给读者自行补充完善细节部分[^1]。 --- #### 结果输出至本地存储设备 最后一步就是把生成好的栅格图层保存下来以便后续分析应用。下面给出了简单的示例命令行语句帮助理解整个工作流结束后的成果交付环节: ```javascript Export.image.toDrive({ image: speiImage, description: 'spei_wuhan_region', scale: 5000, region: wuhan.geometry(), maxPixels: 1e13 }); ``` 此段脚本负责将处理完毕的地图切片上传到用户的谷歌云端硬盘账户下形成独立项目文件夹管理起来方便调用分享给其他同事协作查看。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Gee Explorer

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值