Page Summary
-
The Composite 2 Change (C2C) algorithm segments a time series using a piecewise linear fit to minimize the number of segments while staying within a maximum root mean squared error (RMSE).
-
For each band processed, the algorithm returns several output bands including change date, value, magnitude, duration, and rate, describing the characteristics of each fitted segment.
-
The algorithm is in preview and its implementation details are subject to change.
changeDate:A 1D array of doubles representing pairs of start and end dates for each fitted segment. The date format is determined by the dateFormat argument.
value: A 1D array of doubles of the value of the band at the changeDate.
magnitude: A 1D array of doubles providing the absolute difference between the values before and after a change date. The first magnitude is always NaN.
duration: A 1D array of doubles of the duration of the segment preceding the change date. The first duration is always NaN.
rate: A 1D array of doubles of the rate of change of the data preceding the. change date. The first rate is always NaN.
postMagnitude: A 1D array of doubles of the absolute difference between the values after the change date and the value at the change date. The last postMagnitude is always NaN.
postDuration: The duration of the segment following the change date. The last postDuration is always NaN.
postRate: The rate of change of the data following the change date. The last postRate is always NaN.
indexRegrwoth: The difference between the value in change date and the value five data points after.
recoveryIndicator: The indexRegrowth/magnitude ratio.
regrowth60: Time difference between breakpoint and the data point where the series value is 60% of the pre-distrubance value.
regrowth60: Time difference between breakpoint and the data point where the series value is 80% of the pre-distrubance value.
regrowth60: Time difference between breakpoint and the data point where the series value is 100% of the pre-distrubance value.
See: Hermosilla et al. (2015) dx.doi.org/10.1016/j.rse.2014.11.005 for further details on the original algorithm.
Algorithm implementation can be found on GitHub: https://github.com/saveriofrancini/C2C-GEE
Acknowlegements: FORWARDS and NextGenCarbon.
Citation: Txomin Hermosilla, Michael A. Wulder, Joanne C. White, Nicholas C. Coops, Daniel Coelho, Giovanni Ciatto, Noel Gorelick, and Saverio Francini. In preparation. Image compositing, time-series change detection and temporal metrics: Implementation of the Composite2Change (C2C) algorithm on Google Earth Engine. This algorithm is in preview and is subject to change.
| Usage | Returns |
|---|---|
ee.Algorithms.TemporalSegmentation.C2c(collection, dateFormat, maxError, maxSegments, startYear, endYear, infill, spikesTolerance, includePostMetrics, includeRegrowth, useRelativeRegrowth, negativeMagnitudeOnly) | Image |
| Argument | Type | Details |
|---|---|---|
collection | ImageCollection | Collection of images on which to run C2C. |
dateFormat | Integer, default: 0 | The time representation to use during fitting: 0 = jDays, 1 = fractional years, 2 = unix time in milliseconds. The start, end and break times for each temporal segment will be encoded this way. |
maxError | Float, default: 75 | |
maxSegments | Integer, default: 6 | |
startYear | Integer, default: 1984 | |
endYear | Integer, default: 2019 | |
infill | Boolean, default: true | |
spikesTolerance | Float, default: 0.85 | |
includePostMetrics | Boolean, default: true | |
includeRegrowth | Boolean, default: false | |
useRelativeRegrowth | Boolean, default: false | |
negativeMagnitudeOnly | Boolean, default: false |