Google Earth Engine(GEE)——ee.Reducer.percentile使用过程中的注意问题

简介: Google Earth Engine(GEE)——ee.Reducer.percentile使用过程中的注意问题

我们在获取影像的百分比值使用的函数是ee.Reducer.percentile,但是会存在很多问题有时候会发现我们获取不同百分比值的时候数值会不一样,可能导致结果不同。

问题:

对于单波段图像,第5、25、50、75和95百分位数的值是相同的。尽管图像中存在离群点,但这很难理解,因为离群点像素的数量比正常像素的数量少得多。如何自动去除离群点?

函数:

ee.Reducer.percentile(percentiles, outputNames, maxBuckets, minBucketWidth, maxRaw)

Create a reducer that will compute the specified percentiles, e.g. given [0, 50, 100] will produce outputs named 'p0', 'p50', and 'p100' with the min, median, and max respectively. For small numbers of inputs (up to maxRaw) the percentiles will be computed directly; for larger numbers of inputs the percentiles will be derived from a histogram.

Arguments:

percentiles (List):

A list of numbers between 0 and 100.

outputNames (List, default: null):

A list of names for the outputs, or null to get default names.

maxBuckets (Integer, default: null):

The maximum number of buckets to use when building a histogram; will be rounded up to a power of 2.

minBucketWidth (Float, default: null):

The minimum histogram bucket width, or null to allow any power of 2.

maxRaw (Integer, default: null):

The number of values to accumulate before building the initial histogram.

Returns: Reducer

代码:

var    geometry = 
    /* color: #d63000 */
    /* shown: false */
    /* displayProperties: [
      {
        "type": "rectangle"
      }
    ] */
    ee.Geometry.Polygon(
        [[[116.01553161700186, 37.83468958950668],
          [116.01553161700186, 36.86089892709646],
          [117.21304138262686, 36.86089892709646],
          [117.21304138262686, 37.83468958950668]]], null, false);
var image=ee.ImageCollection("JAXA/ALOS/AW3D30/V3_2").select("DSM").filterBounds(geometry).mosaic().clip(geometry)
//original 
var list1 = image.reduceRegion(ee.Reducer.percentile([5,25,50,75,95]),geometry,10,null,null,false,1e12)
print(list1) // the value of each percentile is same
var chart = ui.Chart.image.histogram({
  image:image, 
  region:geometry,
  scale:10,
  minBucketWidth:0.1, 
  maxPixels:1e12
});
print('image historgram with outliers:',chart)
// munmual change outliers
var image2 = image.where(image.gt(10),10)
var list2 = image2.reduceRegion(ee.Reducer.percentile([5,25,50,75,95]),geometry,10,null,null,false,1e12)
print(list2)
var chart2 = ui.Chart.image.histogram({
  image:image2, 
  region:geometry,
  scale:10,
  minBucketWidth:0.1, 
  maxPixels:1e12
});
print('image historgram without outliers:',chart2)
//修改后的代码///
// Finding the 5th and 95th percentile
var  image_95 = image.reduceRegion({
        'reducer': ee.Reducer.percentile({
            'percentiles': [1, 5,25,50,75,95],
            'maxRaw': 1000000,
            'maxBuckets': 1000000,
            'minBucketWidth': 0.00000000001
        }),
        'geometry': geometry,
        'scale': 10,
        'maxPixels': 1e13
    });
print(image_95);

前言 – 床长人工智能教程

相关文章
|
7月前
|
数据可视化 定位技术 Sentinel
如何用Google Earth Engine快速、大量下载遥感影像数据?
【2月更文挑战第9天】本文介绍在谷歌地球引擎(Google Earth Engine,GEE)中,批量下载指定时间范围、空间范围的遥感影像数据(包括Landsat、Sentinel等)的方法~
2609 1
如何用Google Earth Engine快速、大量下载遥感影像数据?
|
7月前
|
编解码 人工智能 算法
Google Earth Engine——促进森林温室气体报告的全球时间序列数据集
Google Earth Engine——促进森林温室气体报告的全球时间序列数据集
95 0
|
7月前
|
机器学习/深度学习 算法 数据可视化
基于Google Earth Engine云平台构建的多源遥感数据森林地上生物量AGB估算模型含生物量模型应用APP
基于Google Earth Engine云平台构建的多源遥感数据森林地上生物量AGB估算模型含生物量模型应用APP
237 0
|
7月前
GEE——Google dynamic world中在影像导出过程中无法完全导出较大面积影像的解决方案(投影的转换)EPSG:32630和EPSG:4326的区别
GEE——Google dynamic world中在影像导出过程中无法完全导出较大面积影像的解决方案(投影的转换)EPSG:32630和EPSG:4326的区别
133 0
|
7月前
|
存储 编解码 数据可视化
Google Earth Engine获取随机抽样点并均匀分布在栅格的不同数值区中
【2月更文挑战第14天】本文介绍在谷歌地球引擎(Google Earth Engine,GEE)中,按照给定的地表分类数据,对每一种不同的地物类型,分别加以全球范围内随机抽样点自动批量选取的方法~
624 1
Google Earth Engine获取随机抽样点并均匀分布在栅格的不同数值区中
|
7月前
|
API Go 网络架构
GEE Colab——如何从本地/Google云盘/Google Cloud Storage (GCS)上传和下载
GEE Colab——如何从本地/Google云盘/Google Cloud Storage (GCS)上传和下载
349 4
|
7月前
|
机器学习/深度学习 存储 人工智能
GEE Colab——初学者福音快速入门 Google Colab(Colaboratory)
GEE Colab——初学者福音快速入门 Google Colab(Colaboratory)
247 3
|
7月前
|
数据处理
Google Earth Engine(GEE)——sentinel-1数据处理过程中出现错误Dictionary does not contain key: bucketMeans
Google Earth Engine(GEE)——sentinel-1数据处理过程中出现错误Dictionary does not contain key: bucketMeans
118 0
|
7月前
|
编解码 人工智能 数据库
Google Earth Engine(GEE)——全球道路盘查项目全球道路数据库
Google Earth Engine(GEE)——全球道路盘查项目全球道路数据库
159 0
|
7月前
|
编解码
Open Google Earth Engine(OEEL)——matrixUnit(...)中产生常量影像
Open Google Earth Engine(OEEL)——matrixUnit(...)中产生常量影像
80 0