- Added the UI LandTrendr Time Series Animator App. It makes an animated GIF from a Landsat time series that has been smoothed by LandTrendr spectral-temporal segmentation.
- Added the getFittedRGBcol function, which creates an RGB visualization image collection from LandTrendr segmentation FTV outputs useful for thumbnails, filmstrips, and GIF videos.
- Added the getSegmentCount function, which returns an ee.Image of the number of segments identified by LandTrendr.
- Added description of missing DSNR output row and corrected an example for the getSegmentData function. Also added a function description to each API function section.
- Added the option to filter change maps by change magnitude standardized by the LandTrendr fit RMSE. This metric is referred to as DSNR. Please see the getChangeMap function for more details on using this option and for the metric reference. The change also included exporting the DSNR metric as an additional band to the change map attribute image stack.
- Replaced the
disturbanceMapAPI function with getChangeMap, which fixes many logic problems and adds the ability to map vegetation gain as well as loss.
- Updated the UI Change Mapping app to use the
- Updated example scripts to include an example of mapping vegetation loss and gain using the new
- Added the option to define the CFMASK classes to include in the image mask to functions buildSRcollection and runLT. The default is [‘cloud’, ‘shadow’, ‘snow’]. Also added the function buildClearPixelCountCollection, which returns the count of unmasked pixels per year that are available for compositing for the provided years and date ranges.
- Added collectionToBandStack function to the API. Transforms an image collection into an image stack where each band of each image in the collection is concatenated as a band into a single image. Useful for mapping a function over a collection, like transforming surface reflectance to NDVI, and then transforming the resulting collection into a band sequential time series image stack.
- Added the disturbanceMap function to the API. It generates a disturbance map with attributes for: year of disturbance detection, magnitude, duration, -disturbance spectral value, and the rate of spectral change. Each attribute is a band of an ee.Image for easy display and export. Note that at this time it is still being tested. So please do not trust results - let me know if you suspect errors.
- Clarification was made regarding the
distDirvariable being used in the section 6.3 Working with Outputs. This section now includes information about it.
Added the transformSRcollection function to the API. It transforms the images within an annual surface reflectance collection built by
buildSRcollectionto a list of provided indices or bands. If you just want NDVI (or other index/band) derived from an annual cloud-free surface reflectance medoid composite, this function will do it.
The buildSRcollection function will now generate composites that cross the new year. For instance, if your study area is in mid- to high-latitudes of the southern hemisphere, your peak leaf-on season is maybe December 20 - February 20, which crosses the new year. Previously, the
buildSRcollectionfunction did not composite across the new year. This change affects the UIs and the
buildSRcollection. To apply this functionality, set annual composite start day to something like ‘12-20’ and the end day to ‘02-20’, where the format is mm-dd. If the start day month is greater than the end day month, then the function will composite across the new year, and assign the year of the composite as the new year. So if we built a collection that included images from 2000 (Dec.) and 2001 (Jan-Feb), the composite will be assigned the year 2001. Here is an example of building a surface reflectance collection across the new year (note the
// load the LandTrendr.js module var ltgee = require('users/emaprlab/public:Modules/LandTrendr.js'); // define parameters var startYear = 1985; var endYear = 2017; var startDay = '12-20'; var endDay = '02-20'; var aoi = ee.Geometry.Point(-122.8848, 43.7929); // center and zoom the display in case outputs are to be mapped Map.centerObject(aoi,10); Map.addLayer(aoi); // apply LandTrendr.js functions var annualSRcollection = ltgee.buildSRcollection(startYear, endYear, startDay, endDay, aoi); print(annualSRcollection);