【GEE】获取区域气象数据

介绍

在本教程中,我们将使用 Google Earth Engine (GEE) ,获取特定区域(通过经纬度定义的矩形区域)内的降水量(或温度)数据,并将这些数据导出为 CSV 格式。我们将探索如何进行数据筛选、计算月度降水量、应用色带(color ramp)以及导出处理后的数据。

准备工作

首先,你需要在 Google Earth Engine 上创建一个账户并访问代码编辑器。确保你有足够的权限来访问 ERA5 数据集以及可以进行数据导出。

代码解析

1. 定义区域

我们使用 ee.Geometry.Rectangle 定义了一个矩形区域,作为分析区域。这里的经纬度坐标选择了一个大的矩形区域,但你可以根据自己的需求进行调整。

var lake = ee.Geometry.Rectangle({
   coords: [[70.5, 4], [137, 56]], geodesic:false});

2. 定义变量和时间范围

我们选择了 ERA5 数据集中的 temperature_2m 变量进行分析,表示 2 米高度的温度数据,而不是降水量数据。在实际应用中,你可以根据需要切换到降水量相关的变量(例如 total_precipitation_sum)。

var value = 'temperature_2m';  // 温度变量
var StartYear = 2020;  // 起始年份
var EndYear = 2023;    // 结束年份

3. 过滤并获取数据

通过 ee.ImageCollection 对 ERA5 数据集进行时间范围的筛选,我们选择了 2023 年 12 月的数据,并将数据裁剪。

var image = ee.ImageCollection('ECMWF/ERA5_LAND/MONTHLY_AGGR')
                            .filterDate('2023-12-01', '2023-12-30')  // 根据时间范围过滤数据
                            .select(value)  // 选择温度数据
                            .first()  // 选择时间段内的第一个图像
                            .clip(lake);  // 裁剪到湖泊区域

4. 色带定义

我们为温度数据创建了一个色带(color ramp),从蓝色(低温)到红色(高温)。通过这种方式,可以在地图上清晰地看到不同区域的温度变化。

var precipVis = {
   
  min: 250,  // 最小值
  max: 300,  // 最大值
  palette: ['blue', 'green', 'yellow', 'red']  // 定义一个简单的色带
};

5. 绘制地图和设置视图

在地图上添加了定义好的图像层,并设置了地图的视图中心为湖泊区域。缩放级别设置为 3,以便在地图上看到更大范围的数据。

Map.addLayer(image, precipVis, 'Precipitation');
Map.centerObject(lake, 3);  // 将地图视图设置为湖泊区域,并设置缩放级别

6. 遍历年份和月份,获取每月数据

通过循环,我们遍历了从 2020 到 2023 年的所有月份,并逐月获取温度数据。在每次循环中,我们使用 reduceRegion 计算了每个月的区域平均温度,并将其添加到数据列表中。

for (var j = StartYear; j <= EndYear; j++) {
   
    f
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

维吉斯蔡

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

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

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

打赏作者

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

抵扣说明:

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

余额充值