** This content is pulled from the Pilot Paper – we need to update to make sure it’s relevant to our current approach **
Introduction to LandTrendr
We used the LandTrendr algorithm, also freely available and hosted on GEE. LandTrendr is an algorithm used to detect land cover change through time series analysis of Landsat imagery. This mapping approach aims to filter out inter-annual noise in spectral signals and generate trajectory-based time series estimates and accomplishes this through simplifying multiyear spectral trajectories into several straight-line segments that capture the progressing changes of the signal (Kennedy et al. 2018, Kennedy et al. 2010, Kennedy et al. 2007).
Imagery and Processing
We constructed an image collection by creating annual medoid composites of Landsat 5, 7, and 8 images, resulting in one image per year. The medoid image compositing approach compares each pixel’s spectral band values to the median spectral values of those bands across all images within the date-constrained collection for a given year. The pixel with spectral values closest to the median value, determined by Euclidean spectral distance, is then selected (Kennedy et al. 2018).
Parameterizing
We selected parameters to estimate the “greatest” disturbance, and specific parameter values are mostly in accordance with previous research in the same region (Reygadas et al. 2012, Fragal et al. 2016).
Table 1. LandTrendr collection parameters and filters.
Parameter | Description | Values (Pilot 2021) | Values (Horta 2022) | Values being tested |
---|---|---|---|---|
Spectral index | Input variable to be segmented | NDFI | NBR | |
delta | Loss or Gain | loss | loss | |
sort | Type (greatest, least, newest, oldest, fastest, or slowest) | greatest | greatest | |
startYear | Start year of image collection | 2010 | 2017 | 1985 |
endYear | End year of image collection | 2015 | 2021 | 2022 (for 2023) |
startDay | The minimum date in the desired seasonal range over which to generate annual composite (MM-DD) | 01-01 | 06-20 | |
endDay | The maximum date in the desired seasonal range over which to generate annual composite (MM-DD) | 12-31 | 09-20 | |
year filter | Filter by specific period of time (true or false) | false | false | true |
year filter start | Filter start year | remains the same as startYear | remains the same as startYear | 2021 |
year filter end | Filter end year | remains the same as endYear | remains the same as endYear | 2022 |
magnitude | Magnitude filter (true/false) | true | true | |
magnitude value | Magnitude value | 150 | 100 | 50, 200 |
magnitude operator | Less than or greater than | > | > | > |
duration | Duration filter (true/false) | true | false | |
duration value | Duration value in years | 5 | N/A | 50 |
duration operator | Less than or greater than | < | N/A | < |
preval | Pre-change spectral value filter (true/false) | true | false | |
preval value | Pre-change spectral value | 150 | N/A | 300, 400, 500 |
preval operator | Less than or greater than | > | N/A | > |
mmu | Minimum mapping unit | true | false | |
mmu value | MMU value in pixels | 3 | N/A | 6 |
Table 2. LandTrendr run parameters and values. These were based off of previous studies and can be used to start testing as we transfer the mapping algorithm to new locations (Kennedy et al., 2018, Kennedy et al 2010).
Parameter | Description | Values tested | Pilot (2021) | Horta (2022) |
---|---|---|---|---|
despike | Before fitting, spikes are dampened if the spectral value difference between spectral values on either side of the spike is less than 1-despike desawtooth proportion of the spike itself. Lower values filter spikes more aggressive Nc setting to 1.0 turns off. | 0.75, 0.9, 1 | 1 | 0.9 |
pval | If best fitted trajectory’s p-of-F value exceeds this threshold, the entire trajectory is considered no-change. | 0.05, 0.1, 0.2 | 0.05 | 0.1 |
max segments | The maximum number of segments allowed in fitting | 4, 5, 6 | 6 | 5 |
prevent one year recovery | Prevent segments that represent one year recoveries | false | false | false |
recovery threshold | During fitting, if a candidate segment has a recovery rate faster than 1/recovery_threshold (in years), that segment is disallowed and a threshold different segmentation must be used. Setting to 1.0 turns off this filter. | 0.25, 0.5, 1 | 1 | 0.5 |
vertex count overshoot | The initial regression-based detection of potential vertices can overshoot (max_segments+ 1) vertices by this value; angle-based culling is used to return to the desired number of vertices if overshoot occurs. Allows a mix of criteria for vertex identification. | 3 | 3 | 3 |
min observations needed | Minimum observations needed to perform output fitting | 6 | 6 | 6 |
best model proportion | Takes the model with most vertices that has a p-value that is at most this proportion away from the model with lowest p-value | 0.75 | 0.75 | 0.75 |
Regeneration Mapping
For mapping forest regeneration, LandTrendr was set up to detect upward trends in the spectral signature of forested areas. The parameterization was set to estimate the “greatest” gain.
Table 1. LandTrendr collection parameters and filters.
Parameter | Description | Values (Pilot 2021) | Values (Horta 2022) | Values being tested |
---|---|---|---|---|
Spectral index | Input variable to be segmented | NDFI | NBR | |
delta | Loss or Gain | gain | gain | |
sort | Type (greatest, least, newest, oldest, fastest, or slowest) | greatest | greatest | |
startYear | Start year of image collection | 2010 | 2017 | 1985 |
endYear | End year of image collection | 2015 | 2021 | 2022 (for 2023) |
startDay | The minimum date in the desired seasonal range over which to generate annual composite (MM-DD) | 01-01 | 06-20 | |
endDay | The maximum date in the desired seasonal range over which to generate annual composite (MM-DD) | 12-31 | 09-20 | |
year filter | Filter by specific period of time (true or false) | false | false | true |
year filter start | Filter start year | remains the same as startYear | remains the same as startYear | 2021 |
year filter end | Filter end year | remains the same as endYear | remains the same as endYear | 2022 |
magnitude | Magnitude filter (true/false) | true | true | |
magnitude value | Magnitude value | 300 | 100 | |
magnitude operator | Less than or greater than | > | > | |
duration | Duration filter (true/false) | true | false | |
duration value | Duration value in years | 1 | N/A | |
duration operator | Less than or greater than | > | N/A | |
preval | Pre-change spectral value filter (true/false) | false | false | |
preval value | Pre-change spectral value | N/A | N/A | |
preval operator | Less than or greater than | N/A | N/A | |
mmu | Minimum mapping unit | true | false | |
mmu value | MMU value in pixels | 3 | N/A |
Table 2. LandTrendr run parameters and values (Kennedy et al., 2018, Kennedy et al 2010).
Parameter | Description | Pilot (2021) | Horta (2022) |
---|---|---|---|
despike | Before fitting, spikes are dampened if the spectral value difference between spectral values on either side of the spike is less than 1-despike desawtooth proportion of the spike itself. Lower values filter spikes more aggressive Nc setting to 1.0 turns off. | 1 | 0.9 |
pval | If best fitted trajectory’s p-of-F value exceeds this threshold, the entire trajectory is considered no-change. | 0.05 | 0.1 |
max segments | The maximum number of segments allowed in fitting | 6 | 5 |
prevent one year recovery | Prevent segments that represent one year recoveries | false | false |
recovery threshold | During fitting, if a candidate segment has a recovery rate faster than 1/recovery_threshold (in years), that segment is disallowed and a threshold different segmentation must be used. Setting to 1.0 turns off this filter. | 1 | 0.5 |
vertex count overshoot | The initial regression-based detection of potential vertices can overshoot (max_segments+ 1) vertices by this value; angle-based culling is used to return to the desired number of vertices if overshoot occurs. Allows a mix of criteria for vertex identification. | 3 | 3 |
min observations needed | Minimum observations needed to perform output fitting | 6 | 6 |
best model proportion | Takes the model with most vertices that has a p-value that is at most this proportion away from the model with lowest p-value | 0.75 | 0.75 |