当前位置:   article > 正文

GEE代码实例教程详解:年平均温度变化分析_gee平台 多年平均气温

gee平台 多年平均气温

简介

在本篇博客中,我们将使用Google Earth Engine (GEE) 分析特定区域内年平均温度随时间的变化。通过分析ECMWF(European Centre for Medium-Range Weather Forecasts)提供的ERA5_LAND数据集,我们可以了解从1950年到2020年的温度趋势。

背景知识

ERA5_LAND数据集

ERA5_LAND数据集是ECMWF提供的高分辨率气象再分析数据集,其中包括了地表的月平均温度数据。

温度变化分析

温度变化分析是气候变化研究中的一个重要方面,它有助于我们理解全球和地区气候变化的趋势。

完整代码

// 定义研究区域的坐标点
var cor = [
  [-106.362109375, 36.957529497279594],
  [-101.528125, 36.957529497279594],
  [-101.528125, 40.5210649481601],
  [-106.362109375, 40.5210649481601],
  [-106.362109375, 36.957529497279594]
];

// 创建多边形区域
var roi = ee.Geometry.Polygon(cor);

// 将地图中心设置为研究区域
Map.centerObject(roi);

// 定义时间范围
var time_start = '1950';
var time_end = '2020';

// 创建ERA5_LAND图像集合并筛选数据
var era5 = ee.ImageCollection("ECMWF/ERA5_LAND/MONTHLY_AGGR")
  .select('temperature_2m')
  .filterDate(time_start, time_end);

// 定义一个函数来创建年平均温度图像集合
function temporal_collection(collection, start, count, interval, unit) {
  var seq = ee.List.sequence(0, ee.Number(count).subtract(1));
  var origin_date = ee.Date(start);
  return ee.ImageCollection(seq.map(function(i) {
    var start_date = origin_date.advance(ee.Number(interval).multiply(i), unit);
    var end_date = origin_date.advance(ee.Number(interval).multiply(ee.Number(i).add(1)), unit);
    return collection.filterDate(start_date, end_date).mean()
      .set('system:time_start', start_date.millis())
      .set('system:time_end', end_date.millis());
  }));
}

// 创建年平均温度图像集合
var annual = temporal_collection(era5, time_start, 70, 1, 'year')
  .map(function(img) {
    return img.subtract(273.15); // 转换为摄氏度
  });

// 打印年平均温度变化的图表
print(
  ui.Chart.image.series({
    imageCollection: annual,
    region: roi,
    reducer: ee.Reducer.mean(),
    scale: 10000,
    xProperty: 'system:time_start'
  })
);

// 计算温度变化的百分比
var temp_mean = annual.mean();

var change = annual.map(function(img) {
  var eq = img.expression('((temp - mean) / (mean)) * 100', {
    'temp': img,
    'mean': temp_mean
  });
  return eq.rename('temp_change');
});

// 打印温度变化百分比的图表
print(
  ui.Chart.image.series({
    imageCollection: change,
    region: roi,
    reducer: ee.Reducer.mean(),
    scale: 10000,
    xProperty: 'system:time_start'
  }).setChartType('ColumnChart')
);
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75

代码详解

1. 定义研究区域

创建一个多边形区域roi,用于限定分析的地理范围,并设置地图中心。

2. 创建ERA5_LAND图像集合

获取ERA5_LAND数据集,并根据指定的时间范围筛选图像。

3. 年平均温度图像集合

定义temporal_collection函数,用于生成年平均温度图像集合。

4. 温度单位转换

将温度从开尔文转换为摄氏度。

5. 可视化年平均温度变化

使用ui.Chart.image.series打印年平均温度变化的图表。

6. 计算温度变化百分比

通过计算每年温度与平均值的差异,并转换为百分比。

7. 可视化温度变化百分比

使用柱状图打印温度变化百分比的图表。

结论

本教程展示了如何使用GEE分析特定区域内年平均温度的变化趋势。通过ERA5_LAND数据集,我们能够监测和可视化温度随时间的变化,这对于理解气候变化具有重要意义。

进一步探索

GEE提供了丰富的工具和方法来进行气象和气候变化分析。在后续的教程中,我们将继续探索GEE在不同领域的应用。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/木道寻08/article/detail/936311
推荐阅读
相关标签
  

闽ICP备14008679号