【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
### 使用 Google Earth Engine (GEE) 下载 ERA5 数据集 为了使用 GEE 平台下载 ECMWF 的 ERA5 数据集,可以按照如下方式操作: #### 准备工作 确保已注册并登录到 GEE 账户。访问 [GEE 官方网站](https://code.earthengine.google.com/) 登录账号。 #### 加载数据集 通过 JavaScript API 或 Python API 来加载所需的数据集。对于 ERA5 数据集,在代码编辑器中输入以下命令来获取该数据集对象[^2]: ```javascript var era5 = ee.ImageCollection('ECMWF/ERA5/MONTHLY'); ``` #### 设置时间范围和地理区域 定义感兴趣的时间区间以及地理位置边界框,以便筛选特定时间段和地区内的气象数据。 ```javascript // 时间过滤条件 var startDate = '2023-01-01'; var endDate = '2023-12-31'; // 地理位置边界框(纬度经度坐标) var region = ee.Geometry.Rectangle([minLon, minLat, maxLon, maxLat]); ``` #### 应用滤镜与选择波段 根据需求选取所需的变量(如温度、湿度等),并对图像集合应用时间和空间上的过滤。 ```javascript era5 = era5.filterDate(startDate, endDate).filterBounds(region); ``` #### 导出数据至 Drive 最后一步是设置导出参数并将处理后的影像文件保存到个人谷歌云盘上。 ```javascript Export.image.toDrive({ image: era5.select(['temperature_2m']).mean(), // 可替换其他感兴趣的变量名 description: 'exported_era5_data', scale: 1000, region: region, }); ``` 以上就是利用 GEE 进行 ERA5 数据集检索及下载的主要流程。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

维吉斯蔡

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

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

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

打赏作者

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

抵扣说明:

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

余额充值