今天来简单分享下如何在GEE计算某一地区降水量的偏差
目标:
在GEE计算某一地区降水量的偏差,以百分比显示,并制作统计图
以河南省为研究区
GEE实现代码:
首先确定研究区和使用的数据集
var chirps = ee.ImageCollection("UCSB-CHG/CHIRPS/PENTAD")
// 选择的数据集为"UCSB-CHG/CHIRPS/PENTAD"
//CHIRPS的数据是以Pentad形式出现的
var roi = ee.FeatureCollection("users/lilei655123/HeNan_shi");
Map.centerObject(roi,7)
var styling = {color:"red",fillColor:"00000000"};
Map.addLayer(roi.style(styling),{},"geometry")
CHIRPS Pentad提供了1981年以来的数据,为全球降雨量数据集
确定计算月平均值的时期(10年)
// 我们可以计算出每月的平均值
var lpaYears = ee.List.sequence(2010, 2020);
var months = ee.List.sequence(1, 12);
创建一个每月的总数集合
var monthlyImages = lpaYears.map(function(year) {
return months.map(function(month) {
var filtered = chirps
.filter(ee.Filter.calendarRange(year, year, 'year'))
.filter(ee.Filter.calendarRange(month, month, 'month'))
var monthly = filtered.sum()
return monthly.set({'month': month, 'year': year})
})
}).flatten()
print(monthlyImages);
我们可以计算出所有年份中每个月的平均值
var shortTermMeans10y = months.map(function(month) {
var filtered = monthlyCol.filter(ee.Filter.eq('month', month))
var monthlyMean = filtered.mean()
return monthlyMean.set('month', month)
})
var monthlyRainfall = ee.ImageCollection.fromImages(shortTermMeans10y)
现在我们采取2021年的数据,并计算出月平均值
var filtered = chirps
.filter(ee.Filter.date('2021-01-01', '2021-12-31'))
.filter(ee.Filter.bounds(roi));
// 计算月平均降雨量
var monthlyTotals = months
.map(function(month) {
return filtered
.filter(ee.Filter.calendarRange(month, month, 'month'))
.sum()
.set('month', month);
});
计算偏差,单位为%
var deviation = months.map(function(month) {
var shortTermMean10y = monthlyRainfall
.filter(ee.Filter.eq('month', month)).first()
var monthlyObserved = observedRainfall
.filter(ee.Filter.eq('month', month)).first()
var deviation = (monthlyObserved.subtract(shortTermMean10y)
.divide(shortTermMean10y)).multiply(100)
.set('month', month)
return deviation
})
创建统计图
var chart = ui.Chart.image.series({
imageCollection: deviation,
region: roi,
reducer: ee.Reducer.mean(),
scale: 10000,
xProperty: 'month'
}).setOptions({
interpolateNulls: true,
lineWidth: 1,
pointSize: 3,
title: '降雨量均值偏差',
vAxis: {title: '偏差 %'},
hAxis: {title: 'Month', gridlines: {count: 12}}
});
print(chart);
运行结果如下:
完整代码请在公众号后台回复“0730降水量偏差”
感谢关注,欢迎转发!
声明:仅供学习使用!
希望关注的朋友们转发,如果对你有帮助的话记得给小编点个赞或者在看!
## ****更多内容请关注微信公众号“生态遥感监测笔记”**