繁体   English   中英

在 Google Earth Engine 中汇总图像集合中每张图像的像素值

[英]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)

这是 map 中的结果: 在此处输入图像描述

每个像素都有这样的每日降雨数据: 在此处输入图像描述

但我需要的是我想对研究区域中的那些像素求和/平均并制作每日图形。 我应该怎么办?

您使用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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM