ee.Algorithms.TemporalSegmentation.C2c

Composite 2 Change (C2C) 算法的实现。此算法使用分段线性拟合来对时间序列进行分段,并使用最少的分段数来拟合给定最大均方根误差 (RMSE) 内的数据。 对于每个输入波段,该算法都会返回以下输出波段:
  • changeDate (Array[Double]):检测到变化时的日期。 日期格式由 dateFormat 实参确定。
  • value (Array[Double]):每个 changeDate 处波段的值。
  • magnitude (Array[Double]):变化日期前后的值之间的差值。第一个 magnitude 始终为 NaN。
  • duration (Array[Double]):变化日期之前的分段时长。第一个 duration 始终为 NaN。
  • rate (Array[Double]):变化日期之前的数据变化率。第一个 rate 始终为 NaN。
如果 includePostMetrics 为 true,则每个波段都会包含以下变量。
  • postMagnitude (Array[Double]):下一个分段开始时的值与变化日期处的值之间的绝对差值。最后一个 postMagnitude 始终为 NaN。
  • postDuration (Array[Double]):变化日期之后的分段时长。最后一个 postDuration 始终为 NaN。
  • postRate (Array[Double]):变化日期之后的数据变化率。最后一个 postRate 始终为 NaN。
如果 includeRegrowth 为 true,则每个波段都会包含以下变量。
  • indexRegrowth (Array[Double]):变化日期处的值与五个数据点之后的值之间的差值。
  • recoveryIndicator (Array[Double]):indexRegrowth 与 magnitude 之比。
  • regrowth60 (Array[Double]):变化日期与序列值达到干扰前值 60% 的数据点之间的时间差。
  • regrowth80 (Array[Double]):变化日期与序列值达到干扰前值 80% 的数据点之间的时间差。
  • regrowth100 (Array[Double]):变化日期与序列值达到干扰前值 100% 的数据点之间的时间差。
如需详细了解原始算法,请参阅:Hermosilla 等人 (2015) https://doi.org/10.1016/j.rse.2014.11.005。您可以在 GitHub 上找到算法实现:https://github.com/saveriofrancini/C2C-GEE 致谢:FORWARDS 和 NextGenCarbon。

引用:Txomin Hermosilla、Michael A. Wulder、Joanne C. White, Nicholas C. Coops、Daniel Coelho、Giovanni Ciatto、Noel Gorelick 和 Saverio Francini。(筹备中。)图片合成、时间序列变化检测和时间指标:在 Google Earth Engine 上实现 Composite2Change (C2C) 算法。

此算法处于预览阶段,可能会发生变化。

用法返回
ee.Algorithms.TemporalSegmentation.C2c(collection, dateFormat, maxErrorList, spikesToleranceList, spikeRemovalMagnitudeList, maxError, maxSegments, infill, spikesTolerance, spikeRemovalMagnitude, includePostMetrics, includeRegrowth, interpolateRegrowth, useRelativeRegrowth, negativeMagnitudeOnly)图片
实参类型详细信息
collectionImageCollection要在其上运行 C2C 的图片集合。
dateFormat整数,默认值:0拟合期间要使用的时间表示法:0 = jDays,1 = 分数年,2 = 以毫秒为单位的 Unix 时间。每个时间分段的开始时间、结束时间和中断时间将以这种方式进行编码。
maxErrorList列表,默认值:{}要用于每个波段的最大误差 (RMSE) 值列表。如果未提供,则 maxError 值将用于所有波段。
spikesToleranceList列表,默认值:{}要用于每个频段的尖峰容差值列表。值为 1 表示不移除尖峰。如果未提供,则 spikesTolerance 值将用于所有波段。
spikeRemovalMagnitudeList列表,默认值:{}要用于每个波段的尖峰移除幅度值列表。幅度高于此值的尖峰将被移除。如果未提供,则 spikeRemovalMagnitude 值将用于所有波段。
maxError浮点数,默认值:0.075分段线性拟合允许的最大 RMSE;控制分段敏感度。
maxSegments整数,默认值:6拟合轨迹中允许的最大分段数。
infill布尔值,默认值:true在时间序列中启用缺口填充,以在存在缺失值(即等于 0 的值)的情况下支持稳定拟合。
spikesTolerance浮点数,默认值:0.85控制时间序列中尖峰的容差。范围为 0 到 1。值为 1 表示不移除尖峰,值越低,移除越积极。
spikeRemovalMagnitude浮点数,默认值:0.1尖峰移除幅度阈值。幅度(与邻居平均值的绝对差值)高于此值的尖峰将被移除。
includePostMetrics布尔值,默认值:true返回变化后描述符(postMagnitude、postDuration、postRate)。
includeRegrowth布尔值,默认值:false返回恢复/再生长指标(indexRegrowth、recoveryIndicator、regrowth60/80/100)。
interpolateRegrowth布尔值,默认值:true使用检测到的变化对时间序列进行线性插值,然后再计算再生长指标。
useRelativeRegrowth布尔值,默认值:false以相对于干扰前条件的方式计算再生长阈值。
negativeMagnitudeOnly布尔值,默认值:false仅保留与负变化相关的断点(定向过滤)。