简介

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

背景知识

降水量分类

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

GEE中的图像集合处理

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

完整代码

// 定义研究区域的坐标点
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.
  • 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.
  • 76.
  • 77.
  • 78.
  • 79.
  • 80.

代码详解

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在不同领域的应用。