![](/img/trans.png)
[英]Google Earth Engine: Add band to Image Collection with mean value in time
[英]Summarize Pixel Value in Every Image of an Image Collection in Google Earth Engine
我是 GEE 的新手。 我想计算 ImageCollection 中每个图像数据的一个区域中像素值(来自 CHIRPS 卫星的降雨数据)的总和/平均值。 基本上我想计算我研究区域的平均日降雨量。
到目前为止,这是我的代码:
//define study area
var aoi = ee.FeatureCollection(juana)
//load & filtering ImageCollection
var precipitation = ee.ImageCollection('UCSB-CHG/CHIRPS/DAILY')
.filterDate('2021-01-01', '2021-12-31')
.select('precipitation');
//clipped ImageCollection to Study Area
var clipped = precipitation.map(function(precipitation){
return precipitation.clip(aoi);
});
//plot in map
Map.addLayer(clipped)
但我需要的是我想对研究区域中的那些像素求和/平均并制作每日图形。 我应该怎么办?
您使用ee.Image().reduceRegion()
来计算图像区域的聚合统计信息。 在你的例子中,你想要一个时间序列的统计数据,所以你想对你收藏中的每张图片都这样做。 为此,您可以使用ee.ImageCollection.map()
。 您在此处和此处的文档中有相关部分。 是这样的:
var dailyStats = precipitation.map(function (image) {
var reduced = image.reduceRegion({
reducer: ee.Reducer.sum()
.combine(ee.Reducer.mean(), null, true),
geometry: aoi.geometry(),
scale: 5000,
maxPixels: 1e13
})
return ee.Feature(null, reduced)
.set('system:time_start', image.get('system:time_start'))
})
var meanChart = ui.Chart.feature.byFeature({
features: dailyStats,
xProperty: 'system:time_start',
yProperties: 'precipitation_mean'
})
var sumChart = ui.Chart.feature.byFeature({
features: dailyStats,
xProperty: 'system:time_start',
yProperties: 'precipitation_sum'
})
print('mean', meanChart)
print('sum', sumChart)
https://code.earthengine.google.com/e6e4af4147004c6cbd9fe0f20dd7c9fe
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.