前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >GEE代码实例教程详解:年平均温度变化分析

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

作者头像
Twcat_tree
发布2024-07-09 08:12:01
1080
发布2024-07-09 08:12:01
举报
文章被收录于专栏:二猫の家

简介

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

背景知识

ERA5_LAND数据集

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

温度变化分析

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

完整代码

代码语言:javascript
复制
// 定义研究区域的坐标点
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. 定义研究区域

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

2. 创建ERA5_LAND图像集合

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

3. 年平均温度图像集合

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

4. 温度单位转换

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

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

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

6. 计算温度变化百分比

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

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

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

结论

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

进一步探索

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-07-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 简介
  • 背景知识
    • ERA5_LAND数据集
      • 温度变化分析
      • 完整代码
      • 代码详解
        • 1. 定义研究区域
          • 2. 创建ERA5_LAND图像集合
            • 3. 年平均温度图像集合
              • 4. 温度单位转换
                • 5. 可视化年平均温度变化
                  • 6. 计算温度变化百分比
                    • 7. 可视化温度变化百分比
                    • 结论
                    • 进一步探索
                    领券
                    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档