前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Google Earth Engine(GEE)——对于我们正确使用mean()和median()来使影像进行聚合

Google Earth Engine(GEE)——对于我们正确使用mean()和median()来使影像进行聚合

作者头像
此星光明
发布2024-02-02 08:06:43
3170
发布2024-02-02 08:06:43
举报

我有一个反复出现的问题,我无法完全理解和解释。在哪些情况下应用平均值mean()可能更好,在哪些情况下应用中位数median()更好?

例如,当我想要对盆地中的降雨进行区域化时,我会为该盆地的 shapefile 应用平均reducer。但是,我有时会看到人们使用中位数。

了解应用其中一种情况的最佳情况的人可以帮助我吗?

首先我们在解决这个问题之前,看一下Google Earth Engine中对其的定义分别使什么样的:

mean()平均值() 通过计算所有匹配波段堆栈中每个像素的所有值的平均值来减少图像集合。波段是按名称匹配的。

参数。 this:collection (ImageCollection)。 要减少的图像集合。

返回。图像

median()中位数() 通过计算所有匹配波段堆栈中每个像素点的所有数值的中位数来减少一个图像集合。波段是按名称匹配的。

参数。 this:collection (ImageCollection)。 要减少的图像集合。

返回。图像

通过大量的实验操作,这里我觉得当你的数据中有异常值(例如云/云阴影)时,median() 更适合。因此,对于光学遥感数据(例如 Landsat/Sentinel 图像),最好使用中值median()。

对于网格数据(例如降水)或其他不受异常值影响的数据集,mean() 很好。

这里我们用数据做一个分析,就用Landsat 8 

代码语言:javascript
复制
var geometry = /* color: #d63000 */ee.Geometry.Point([41.23936152473313, 40.53205073704967]);
 
//去云函数
function clouds(image){
  var QA = image.select(['BQA'])
 
  var mask=QA.bitwiseAnd(1 << 5).and(QA.bitwiseAnd(1 << 4).eq(0))
  return image.updateMask(mask)}
 
//影像筛选
var im=ee.ImageCollection('LANDSAT/LC08/C01/T1_TOA')
        .filterBounds (geometry)
        .filterDate('2021-01-01','2021-07-01')
        .map(clouds)
        .median()
Map.addLayer(im)
        
 var im1=ee.ImageCollection('LANDSAT/LC08/C01/T1_TOA')
        .filterBounds (geometry)
        .filterDate('2021-01-01','2021-07-01')
        .map(clouds)
        .mean()
Map.addLayer(im1)

median的结果:

 mean的结果

 同样我们可以加载降水的数据集来实验:

代码语言:javascript
复制
var geometry = /* color: #d63000 */ee.Geometry.Point([41.23936152473313, 40.53205073704967]);

var im3=ee.ImageCollection("NASA/GPM_L3/IMERG_V06")
        .filterBounds (geometry)
        .filterDate('2021-06-01','2021-07-01')
        .select("HQprecipitation")
        .median()
Map.addLayer(im3)
        
 var im4=ee.ImageCollection("NASA/GPM_L3/IMERG_V06")
        .filterBounds (geometry)
        .filterDate('2021-06-01','2021-07-01')
        .select("HQprecipitation")
        .mean()
Map.addLayer(im4)

但是结果可能因为分辨率太粗无法显示的非常细腻:

mean的结果

 median的结果:

总之,中位数、均值(平均值)或众数分别是数据集集中趋势的度量。

如果您知道数据的分布有许多极值或异常值,那么中值将提供对中心值的更好估计,因为它较少受各个数据点的绝对值的影响。中位数的缺点是您不能将其与参数统计值一起使用。如果您需要对数据使用参数统计,那么您应该在计算平均值之前删除异常值或尝试数据转换以标准化数据或两者兼而有之。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-02-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云函数
云函数(Serverless Cloud Function,SCF)是腾讯云为企业和开发者们提供的无服务器执行环境,帮助您在无需购买和管理服务器的情况下运行代码。您只需使用平台支持的语言编写核心代码并设置代码运行的条件,即可在腾讯云基础设施上弹性、安全地运行代码。云函数是实时文件处理和数据处理等场景下理想的计算平台。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档