GEE代码实例教程详解:降水量分类分析

简介

在本篇博客中,我们将使用Google Earth Engine (GEE) 对特定区域内的降水量进行分类分析。通过设定不同的降水量阈值,我们可以将降水量分为干旱、中等和湿润三个类别,并分析这些类别随时间的变化。

背景知识

降水量分类

降水量分类是一种将降水量数据按照一定的标准划分为不同类别的方法,有助于更好地理解降水的分布特性和变化趋势。

GEE中的图像集合处理

在GEE中,图像集合(ImageCollection)是一种包含多个图像的数据类型,可以通过不同的方法进行处理和分析。

完整代码

javascript 复制代码
// 定义研究区域的坐标点
var cor = [
  [52.44694261887793, 36.17836425046897],
  [53.04020433762793, 36.17836425046897],
  [53.04020433762793, 36.61168836568063],
  [52.44694261887793, 36.61168836568063],
  [52.44694261887793, 36.17836425046897]
];

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

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

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

// 创建图像集合并筛选数据(此处应定义imageCollection的来源)
var pr = /* 待定义的图像集合 */;

// 定义一个函数来计算每张图像的平均降水量和最大降水量
function pr_class(img) {
  var pr_mean = img.reduceRegion({
    reducer: ee.Reducer.mean(),
    geometry: roi,
    scale: 27000
  }).values().get(0);
  var pr_max = img.reduceRegion({
    reducer: ee.Reducer.max(),
    geometry: roi,
    scale: 27000
  }).values().get(0);
  return img
    .copyProperties(img, img.propertyNames())
    .set('pr_mean', pr_mean)
    .set('pr_max', pr_max);
}

// 应用函数到图像集合
var pr_values = pr.map(pr_class);

// 筛选干旱类别的图像
var dry = pr_values
  .filter(ee.Filter.lt('pr_mean', 0.5));

// 打印干旱类别的降水量变化图表
print(
  ui.Chart.image.series({
    imageCollection: dry,
    region: roi,
    reducer: ee.Reducer.mean(),
    scale: 27000,
    xProperty: 'system:time_start'
  }).setChartType('ColumnChart')
);

// 筛选湿润类别的图像
var wet = pr_values
  .filter(ee.Filter.gt('pr_mean', 1));

// 打印湿润类别的降水量变化图表
print(
  ui.Chart.image.series({
    imageCollection: wet,
    region: roi,
    reducer: ee.Reducer.mean(),
    scale: 27000,
    xProperty: 'system:time_start'
  }).setChartType('ColumnChart')
);

// 筛选中等降水量类别的图像
var mid = pr_values
  .filter(ee.Filter.gte('pr_mean', 0.5))
  .filter(ee.Filter.lte('pr_mean', 1));

// 打印中等降水量类别的平均降水量
print(mid.aggregate_array('pr_mean'));

代码详解

1. 定义研究区域

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

2. 创建图像集合

定义图像集合pr,此处需要指定图像集合的具体来源,例如MODIS或CHIRPS降水数据集。

3. 计算降水量统计

定义pr_class函数,用于计算每张图像的平均降水量和最大降水量,并存储在图像属性中。

4. 应用函数到图像集合

使用map方法将pr_class函数应用到图像集合中。

5. 降水量分类筛选

根据平均降水量将图像集合分为干旱、中等和湿润三个类别。

6. 可视化降水量变化

使用ui.Chart.image.series打印不同类别的降水量变化图表。

7. 打印中等降水量类别的平均降水量

使用aggregate_array方法打印中等降水量类别所有图像的平均降水量。

结论

本教程展示了如何使用GEE对降水量数据进行分类,并分析不同类别随时间的变化趋势。通过这种方法,我们可以更好地理解降水量的分布特性和变化规律。

进一步探索

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

相关推荐
2401_894915531 分钟前
GEO 优化源码全解析:从搜索引擎到 AI 引擎的底层改写逻辑
java·服务器·前端·数据库·人工智能·分布式·搜索引擎
MobotStone1 小时前
从“听得懂”到“干得了”:工业大模型落地工厂的三层进化路线
人工智能
wangruofeng2 小时前
GLM-5.3-Flash 发布:追平 Opus 4.8 的智力,1/40 的价格,跑在国产芯片上
人工智能·aigc·chatglm (智谱)
皮皮虾❀4 小时前
钉钉AI服务商×教育行业:AI现代产业学院共建一体化实战——从“高校AI教学缺平台”到“校企共建AI产业学院培养数字化人才
人工智能·钉钉
火山引擎开发者社区5 小时前
【议程来了】火山引擎开发者社区技术日・NVIDIA 独家赞助-成都站
人工智能
三声三视5 小时前
从崩溃日志到 AI 技能:tri-god 蒸馏实战
人工智能·ai·aigc·agent
ZGIAI5 小时前
ZGI Workflow 并发控制:保护下游接口
人工智能·架构
richard_first5 小时前
Transformer 与大语言模型:第9章 LayerNorm 归一化层
人工智能·深度学习·机器学习·transformer
ZGIAI5 小时前
知识库有结果,不等于召回率合格
人工智能·架构
东小西5 小时前
【SAA实战】第 1 篇:ReactAgent 入门——先撸个"会调工具的助手"跑起来
java·人工智能·spring