Google Earth Engine(GEE)分析降水量趋势

今天北京下了很大的雨,来分享下如何在GEE进行降水量的趋势分析

目标:

调用降水量数据,利用计算得出的逐月的降水量的均值,生成2015年至2020年降水量的统计图

GEE实现代码:

var roi = ee.FeatureCollection("users/lilei655123/shanxi"),
    chirps = ee.ImageCollection("UCSB-CHG/CHIRPS/PENTAD");
Map.centerObject(roi,7)
var styling = {color:"red",fillColor:"00000000"};
Map.addLayer(roi.style(styling),{},"geometry")
// 设置起始时间
var startyear = 2015;
var endyear = 2020;
var startdate = ee.Date.fromYMD(startyear,1,1);
var enddate = ee.Date.fromYMD(endyear,12,31)


// 设置年份list
var years = ee.List.sequence(startyear,endyear);


var months = ee.List.sequence(1,12);


// 筛选数据
var Pchirps = chirps.filterDate(startdate, enddate)
  // 按时间顺序降序排列
  .sort('system:time_start', false)
  .filterBounds(roi)
  .select("precipitation");
// 计算每个月的降水量
var MonthlyChirps =  ee.ImageCollection.fromImages(
  years.map(function (y) {
  return months.map(function(m){
    var w = Pchirps.filter(ee.Filter.calendarRange(y, y, 'year'))
             .filter(ee.Filter.calendarRange(m, m, 'month'))
             .sum();
    return w.set('year', y)
             .set('month', m)
             .set('system:time_start',ee.Date.fromYMD(y,m,1)) 
             .set('date', ee.Date.fromYMD(y,m,1))
});
}).flatten());


var mySample = ee.FeatureCollection(MonthlyChirps.map(function(img){
  var myimg = img.reproject('EPSG:32648',null,5000); 
  var time = myimg.get('date');
  var ft =  ee.Image(myimg).sampleRegions
  ({
     collection: roi,
     properties : ['Stations'],
     scale: 5000
  }).map(function(f) {return f.set('date', img.get('date'))})
  return ft;
})).flatten();
// 定义表
var title = {
  title: 'Rainfall',
  hAxis: {title: '时间'},
  vAxis: {title: '降水量(mm)'},
};
var chart = ui.Chart.image.seriesByRegion(
  MonthlyChirps, roi, ee.Reducer.mean(), 'precipitation', 5000, 'system:time_start', 'station')
    .setOptions(title);
// 输出结果
print(chart)

结果展示:

09795c4afca66bcc5b83e18442a5775c.png

7024a1b014def6c600b7d1c243d73f74.png

可以在统计图上看到,2015年至2020年每个月降水量的均值

感谢关注,欢迎转发!

声明:仅供学习使用!

GEE demo:

https://code.earthengine.google.com/54f2b785c1f33a7420699a4b082d9d91

希望关注的朋友们转发,如果对你有帮助的话记得给小编点个赞或者在看

## ****更多内容请关注微信公众号“生态遥感监测笔记”**

GEEGoogle Earth Engine)是一个强大的云平台,用于处理地球科学相关的海量数据。在GEE中计算月均值降水量,通常会涉及以下几个步骤: 1. 数据获取:首先需要选择合适的数据集。对于降水量,常用的数据集有TRMM(Tropical Rainfall Measuring Mission)、GPM(Global Precipitation Measurement)等卫星观测数据。 2. 时间筛选:根据需求选择特定的时间范围,比如一年中的特定月份或者多年的特定月份。 3. 空间筛选:根据研究区域确定空间范围,可以是特定的地理位置或行政区划。 4. 计算月均值:利用GEE的编程接口,将所选时间范围内的数据进行聚合,计算平均值。例如,可以使用GEE提供的`reduce`方法来计算每个月的平均降水量。 5. 结果分析与可视化:分析得到的月均值数据,并使用GEE的可视化工具进行展示。 下面是一个简化的示例代码段,展示了如何在GEE中使用JavaScript API计算特定区域内某个月份的降水量平均值: ```javascript var startDate = ee.Date('2020-01-01'); var endDate = ee.Date('2020-01-31'); // 加载TRMM数据集 var trmm = ee.ImageCollection('NASA/GPM_L3/IMERG_V06') .filterDate(startDate, endDate) .select('precipitationCal'); // 计算月均降水量 var monthlyMeanPrecipitation = trmm.mean().clip(yourAreaOfInterest); // 将结果添加到地图上进行可视化 Map.centerObject(yourAreaOfInterest, 5); Map.addLayer(monthlyMeanPrecipitation, {min: 0, max: 300}, 'Monthly Mean Precipitation'); // 导出结果到Google Drive或作为资产保存 Export.image.toDrive({ image: monthlyMeanPrecipitation, description: 'monthly_precipitation', scale: 1000, region: yourAreaOfInterest }); ``` 请注意,上述代码仅为示例,实际应用时需要根据具体数据集和需求进行调整。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

生态遥感监测笔记

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

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

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

打赏作者

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

抵扣说明:

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

余额充值