API REFERENCE

CCDC

buildSegmentTag(nSegments)

Create sequence of segment strings

Arguments
  • nSegments (Integer) – Number of segments to create labels for

Returns

{ee.List) List of segment names (e.g. S1, S2)

buildBandTag(tag, bandList)

Create sequence of band names for a given string tag

Arguments
  • tag (string) – String tag to use (e.g. ‘RMSE’)

  • bandList (array) – List of band names to combine with tag

Returns

{ee.List) List of band names combined with tag name

buildMagnitude(fit, nSegments, bandList)

Extract CCDC magnitude image from current CCDC result format

Arguments
  • fit (ee.Image) – Image with CCD results

  • nSegments (number) – Number of segments to extract

  • bandList (array) – Client-side list with band names to use

Returns

{ee.Image) Image with magnitude of change per segment per band

buildRMSE(fit, nSegments, bandList)

Extract CCDC RMSE image from current CCDC formatted results

Arguments
  • fit (ee.Image) – Image with CCDC results

  • nSegments (number) – Number of segments to extract

  • bandList (array) – Client-side list with band names to use

Returns

{ee.Image) Image with RMSE of each segment per band

buildCoefs(fit, nSegments, bandList)

Extract CCDC Coefficients from current CCDC formatted result

Arguments
  • fit (ee.Image) – Image with CCD results

  • nSegments (number) – Number of segments to extract

  • bandList (array) – Client-side list with band names to use

Returns

{ee.Image) Image with coefficients per band

buildStartEndBreakProb(fit, nSegments, tag)

Extract data for CCDC 1D-array, non-spectral bands (tStart, tEnd, tBreak, changeProb or numObs)

Arguments
  • fit (ee.Image) – Image with CCD results

  • nSegments (integer) – Number of segments to extract

  • tag (string) – Client-side string to use as name in the output bands

Returns

{ee.Image) Image with values for tStart, tEnd, tBreak, changeProb or numObs

buildCcdImage(fit, nSegments, bandList)

Transform ccd results from array image to “long” multiband format

Arguments
  • fit (ee.Image) – Image with CCD results

  • nSegments (number) – Number of segments to extract

  • bandList (array) – Client-side list with band names to use

Returns

{ee.Image) Image with all results from CCD in ‘long’ image format

getSyntheticForYear(image, date, dateFormat, band)

Create synthetic image for specified band

Arguments
  • image (ee.Image) – Image with CCD results in long multi-band format

  • date (number) – Date to extract the segments for, in the format that ccd was run in

  • dateFormat (number) – Code of the date format that ccdc was run in (e.g. 1 for frac years)

  • band (string) – Band name to use for creation of synthetic image

Returns

{ee.Image) Synthetic image for the given date and band

getMultiSynthetic(image, date, dateFormat, band)

Create synthetic image for a list of bands

Arguments
  • image (ee.Image) – Image with CCD results in long multi-band format

  • date (number) – Date to extract the segments for, in the format that ccd was run in

  • dateFormat (number) – Code of the date format that ccdc was run in (e.g. 1 for frac years)

  • band (array) – List of bands to get synthetic data for

Returns

{ee.Image) Synthethic image for the given date and bands

fillNoData(fit, nCoefs, nBands, clipGeom)

Note

Deprecated: (No longer necessary)

Replace nodata in CCD output and fill with zeros Assumes current CCDC result format

Arguments
  • fit (ee.Image) – Image with CCD results

  • nCoefs (number) – Number of coefficients present in the results

  • nBands (number) – Number of spectral bands used to produce the results

  • clipGeom (ee.Geometry) – Geometry of the image that is being masked

Returns

{ee.Image) Image with nodata areas replaced with zeros

dateToDays(strDate)

Note

Deprecated: (No longer necessary)

Return a date as days from 01-01-0000

Arguments
  • strDate (String) – Date in the format accepted by ee.Date

Returns

ee.Number – Date expressed as days since 01-01-0000

filterCoefs(ccdResults, date, band, coef, behavior)

Filter coefficients for a given date using a mask

Arguments
  • ccdResults (ee.Image) – CCD results in long multi-band format

  • date (string) – Date in the same format that CCD was run with

  • band (string) – Band to select.

  • coef (string) – Coef to select. Options are “INTP”, “SLP”, “COS”, “SIN”, “COS2”, “SIN2”, “COS3”, “SIN3”, “RMSE”, “MAG”

  • behavior (String) – Method to find intersecting (‘normal’) or closest segment to given date (‘before’ or ‘after’) if no segment intersects directly

Returns

ee.Image – Single band image with the values for the selected band/coefficient

normalizeIntercept(intercept, start, end, slope)

Normalize the intercept to the middle of the segment time period, instead of the 0 time period.

Arguments
  • intercept (ee.Image) – Image band representing model intercept

  • start (ee.Image) – Image band representing model slope date

  • end (ee.Image) – Image band representing model end date

  • slope (ee.Image) – Image band representing model slope

Returns

ee.Image – Image band representing normalized intercept.

getCoef(ccd, date, bandList, coef, behavior)

Get image of with a single coefficient for all bands

Arguments
  • ccd (ee.Image) – results CCD results in long multi-band format

  • date (string) – Date in the same format that CCD was run with

  • bandList (array) – List of all bands to include.

  • coef (array) – Coef to select. Options are “INTP”, “SLP”, “COS”, “SIN”, “COS2”, “SIN2”, “COS3”, “SIN3”, “RMSE”, “MAG”

  • behavior (string) – Method to find intersecting (‘normal’) or closest segment to given date (‘before’ or ‘after’) if no segment intersects directly

Returns

ee.Image – coefs Image with the values for the selected bands x coefficient

applyNorm(bandCoefs, segStart, segEnd)

Apply normalization to intercepts

Arguments
  • bandCoefs (ee.Image) – Band x coefficients image. Must include slopes

  • segStart (ee.Image) – Image with dates representing the start of the segment

  • segEnd (ee.Image) – Image with dates representing the end of the segment

Returns

ee.Image – bandCoefs Updated input image with normalized intercepts

getMultiCoefs(ccd, date, bandList, coef_list, cond, segNames, behavior)

Get image of with bands x coefficients given in a list

Arguments
  • ccd (ee.Image) – results CCD results in long multi-band format

  • date (string) – Date in the same format that CCD was run with

  • bandList (array) – List of all bands to include. Options are “B1”, “B2”, “B3”, “B4”, “B5”, “B6”, “B7”

  • coef_list (list) – List of coefs to select. Options are “INTP”, “SLP”, “COS”, “SIN”, “COS2”, “SIN2”, “COS3”, “SIN3”, “RMSE”, “MAG”

  • cond (boolean) – Normalize intercepts? If true, requires “INTP” and “SLP” to be selected in coef_list.

  • segNames (ee.List) – List of segment names to use.

  • behavior (string) – Method to find intersecting (‘normal’) or closest segment to given date (‘before’ or ‘after’) if no segment intersects directly

Returns

ee.Image – coefs Image with the values for the selected bands x coefficients

getChanges(ccd, startDate, endDate, segNames)

Filter segments with change in a given range

Arguments
  • ccd (ee.Image) – results CCD results in long multi-band format

  • startDate (Number) – Start date in the format that was used to run CCD

  • endDate (Number) – End date in the format that was used to run CCD

  • segNames (ee.List) – List of segment names matching the number of segments in the bands

Returns

ee.Image – Mask image indicating which pixel/segments have changes in the specified time range.

filterMag(ccd, startDate, endDate, band, segNames)

Obtain change with largest magnitude, timing of that break, and total number of breaks for a given date range and band

Arguments
  • ccd (ee.Image) – results CCD results in long multi-band format

  • startDate (number) – Start date in the format that was used to run CCD

  • endDate (sumber) – End date in the format that was used to run CCD

  • band (string) – Spectral band

  • segNames (ee.List) – List of segment names matching the number of segments in the bands

Returns

ee.Image – Image with three bands indicating: 1) Magnitude of the largest break for the given date range 2) Timing of largest break (in the time units CCDC was run in) 3) Total number of breaks in the date range

phaseAmplitude(ccd, bands, sinName, cosName)

Get phase and amplitude for a single spectral band

Arguments
  • ccd (ee.Image) – results CCD results in long multi-band format

  • bands (List) – List with the name of the bands for which to calculate ampl. and phase

  • sinName (String) – Band suffix of the desired sine harmonic coefficient (e.g ‘_SIN)

  • cosName (String) – Band suffix of the desired sine harmonic coefficient (e.g ‘_COS)

ccdc.newPhaseAmplitude(ccd, sinExpr, cosExpr)

Get phase and amplitude. Replace old function with this.

Arguments
  • ccd (ee.Image) – results CCD results in long multi-band format

  • sinExpr (String) – Regular expression of the sine harmonic coefficient (e.g ‘.*SIN.*’) for all harmonics

  • cosExpr (String) – Regular expression of the cosine harmonic coefficient (e.g ‘.*COS.*) for all harmonics. Must retrieve the same number of bands as sinExpr

Inputs

getLandsat(options, start, end, targetBands)

Get Landsat images for a specific region Possible bands and indices: BLUE, GREEN, RED, NIR, SWIR1, SWIR2, NDVI, NBR, EVI, EVI2,BRIGHTNESS, GREENNESS, WETNESS

Arguments
  • options (ee.Dict) – Parameter file containing the keys below

  • start (String) – First date to filter images

  • end (String) – Last date to filter images

  • targetBands (list) – Bands and indices to return

Returns

ee.ImageCol. Masked image collection with L4, L5, L7, and L8

generateCollection(geom, startDate, endDate)

Generate and combine filtered collections of Landsat 4, 5, 7 and 8

Arguments
  • geom (ee.Image) – Geometry used to filter the collection

  • startDate (String) – Initial date to filter the collection

  • endDate (String) – Final date to filter the collection

Returns

ee.ImageCollection – Filtered Landsat collection

doIndices(collection)

Calculate spectral indices for all bands in collection

Arguments
  • collection (ee.ImageCollection) – Landsat image collection

Returns

ee.ImageCollection – Landsat image with spectral indices

makeLatGrid(options, minY, maxY, minX, size)

Create a grid with features corresponding to latitudinal strips

Arguments
  • options (Dictionary) – parameter file

  • minY (Number) – minimum latititude coordinate

  • maxY (Number) – maximum latititude coordinate

  • minX (Number) – minimum longitude coordinate

  • minX – maximum longitude coordinate

  • size (Number) – size of features in units of latitudinal degrees

Returns

ee.FeatureCollection – grid of features along latitudinal lines

makeLonGrid(options, minY, maxY, minX, size)

Create a grid with features corresponding to longitudinal strips

Arguments
  • options (Dictionary) – parameter file

  • minY (Number) – minimum latititude coordinate

  • maxY (Number) – maximum latititude coordinate

  • minX (Number) – minimum longitude coordinate

  • minX – maximum longitude coordinate

  • size (Number) – size of features in units of latitudinal degrees

Returns

ee.FeatureCollection – grid of features along longitudinal lines

makeLonLatGrid(minY, maxY, minX, size)

Create a grid with features corresponding to longitudinal strips

Arguments
  • minY (Number) – minimum latititude coordinate

  • maxY (Number) – maximum latititude coordinate

  • minX (Number) – minimum longitude coordinate

  • minX – maximum longitude coordinate

  • size (Number) – size of features in units of latitudinal degrees

Returns

ee.FeatureCollection – grid of features along longitudinal lines

getAncillary()

Get ancillary data for trainning and classification.

Returns

ee.Image – Multi-band image containing ancillary layers

getS2(roi)

Get Sentinel-2 surface reflectance data. Taken directly from GEE examples repo.

Arguments
  • roi (ee.Geometry) – target study area to filter data

Returns

(ee.ImageCollection) Sentinel-2 SR and spectral indices

getS1(mode="'ASCENDING'", focalSize=3)

Get Sentinel 1 data

Arguments
  • mode (string) – orbital pass mode (‘ASCENDING’ or ‘DESCENDING’)

  • focalSize (number) – window size for focal mean (1 means no averaging)

Returns

ee.ImageCollection – Sentinel 1 collection with VH, VV, and ratio bands smoothed with focal mean

calcNDFI(Surface)

Calculate NDFI using endmembers from Souza et al., 2005

Arguments
  • Surface (ee.Image) – reflectance image with 6 bands (i.e. not thermal)

Returns

ee.Image – NDFI transform

makeCcdImage(metadataFilter, segs, numberOfSegments, bandNames, inputFeatures)

Make a ccd image from the most recent known global run

Arguments
  • metadataFilter (String) – Which ccdc run prefix to use

  • segs (List) – List with the segment names

  • numberOfSegments (Number) – Max number of segments to retrieve from the CCDC results

  • bandNames (List) – List with the band names to use

  • inputFeatures (List) – List with the CCDC features to extract

Returns

ee.Image – Filtered CCDC results in ‘long’ format

calcNDVI(image)

Calculate NDVI for an image

Arguments
  • image (ee.Image) – Landsat image with NIR and RED bands

Returns

ee.Image – NDVI image

calcNBR(image)

Calculate NBR for an image

Arguments
  • image (ee.Image) – Landsat image with NIR and SWIR2 bands

Returns

ee.Image – NBR image

calcEVI(image)

Calculate EVI for an image

Arguments
  • image (ee.Image) – Landsat image with NIR, RED, and BLUE bands

Returns

ee.Image – EVI transform

calcEVI2(image)

Calculate EVI2 for an image

Arguments
  • image (ee.Image) – Landsat image with NIR and RED

Returns

ee.Image – EVI2 transform

tcTrans(image)

Tassel Cap coefficients from Crist 1985

Arguments
  • image (ee.Image) – Landsat image with BLUE, GREEN, RED, NIR, SWIR1, and SWIR2

Returns

ee.Image – 3-band image with Brightness, Greenness, and Wetness

makeAutoGrid(geo, size)

Create a grid with features overlaying the bounding box of a geometry

Arguments
  • geo (ee.Geometry) – geometry to use as spec for grid

  • size (Number) – size of features in units of degrees

Returns

ee.FeatureCollection – grid of features along

Classification

getMiddleDate(fc, startProp, endProp, middleProp)

Get the middle segment date of training data

Arguments
  • fc (ee.FeatureCollection) – Training data feature collection

  • startProp (string) – Property name of segment start year

  • endProp (String) – Property name of segment end year

  • middleProp (String) – Property name of calculated middle attribute

Returns

ee.FeatureCollection – Training data with middleProp attribute

makeGrids(region, count, size, seed)

Make random grids in a region of interest

Arguments
  • region (ee.Geometry) – study region bounding geometry

  • count (number) – number of random grids

  • size (number) – length of one side of grid in m^2

  • seed (number) – random number seed or ‘random’

Returns

ee.FeatureCollection – feature collection of random grids

getBinaryLabel(fc, property, targetClass)

Convert training data to binary label for target class

Arguments
  • fc (ee.FeatureCollection) – Training data feature collection

  • property (string) – Property label indicating class label

  • targetClass (number) – Class to retain as 1 in binary label

Returns

ee.FeatureCollection – Training data where 1 = targetClass and 0 equals all other classes

getClassProbs(fc, coefsToClassify, classList, classifier, property)

Get class probability for each class in training data

Arguments
  • fc (ee.FC) – feature collection of training data

  • coefsToClassify (ee.Image) – multi-band image of coefficients to classify

  • classList (list) – classes to test probability of

  • classifier (ee.Classifier) – in ‘PROBABILITY’ mode

  • property (string) – label defining class in training data

Returns

ee.Image – image with each band being class probability for each input class

getTrainingCoefsAtDate(trainingData, coefNames=['INTP','SLP','COS','SIN','RMSE','COS2','SIN2','COS3','SIN3'], bandList=['BLUE','GREEN','RED','NIR','SWIR1','SWIR2'], dateProperty="'Start_Year'", extraBands=null, ccdcImage=null, segs=["S1", "S2", "S3", "S4", "S5", "S6"], ccdcDateFmt=1, trainingDateFmt=1, scale=30, landsatParams={start: '1990-01-01',end: '2020-01-01'})

Get coefficients at a given date for each feature in collection

Arguments
  • trainingData (ee.FeatureCollection) – training data points to extract coefficients for

  • coefNames (List) – coefficient abbreviated names in order of results

  • bandList (List) – list of input band names in order

  • dateProperty (string) – property name containing date in features

  • extraBands (List) – ancillary bands to add as predictors

  • ccdcImage (ee.Image) – Use ccdc coefficients instead of calculating on the fly

  • segs (List) – Segment identifiers for ccdcImage parameter

  • ccdcDateFmt (number) – date format of ccdc date format

  • trainingDateFmt (number) – training data date format (according to ccdc syntax)

  • scale (number) – spatial scale to sample training points at

  • landsatParams (Object) – parameters for ‘getLandsat’ function

Returns

ee.FeatureCollection – training data with coefficients corresponding to specific date

remapLC(feats, inLabel, outLabel, inList, outList)

Remap training labels to GLANCE level 1 land cover

Arguments
  • feats (ee.FeatureCollection) – training data feature collection

  • inLabel (string) – attribute name containing land cover strings

  • outLabel (string) – attribute name for output numeric land cover

  • inList (list) – list of input land cover string values

  • outList (list) – list of output land cover numeric values

Returns

ee.FeatureCollection – training data feature collection with numeric ‘outLabel’ column in each feature

assignIds(sample, attributeName="ID")

Shuffle the sample and assign sample ID

Arguments
  • sample (ee.FeatureCollection) – training data of point samples

  • attributeName (string) – name to assign ID attribute to

Returns

ee.FeatureCollection – training data shuffled with unique ID attribute

makeLegend(classes, palette, title="'Legend'", width="'250px'", position="'bottom-right'")

Make a legend widget

Arguments
  • classes (array) – list of input classes

  • palette (array) – list of color palette

  • title (string) – legend title (optional)

  • width (string) – width of panel (optional)

  • position (string) – position on map (optional)

Returns

ui.Panel – legend panel to display on map

classifyCoefs(imageToClassify, bandNames, ancillary, ancillaryFeatures, trainingData, classifier, studyArea, classProperty="'LC_Num'", coefs, trainProp=.4, seed='random')

Classify single set of CCDC coefficients. Useful for quick parameter testing and debugging.

Arguments
  • imageToClassify (ee.Image) – Single set of ccdc coefficients to classify

  • bandNames (array) – list of band names to classify

  • ancillary (array) – list of ancillary predictor data

  • ancillaryFeatures (ee.Image) – ancillary data image

  • trainingData (ee.FeatureCollection) – training data

  • classifier (ee.Classifier) – earth engine classifier with parameters

  • studyArea (ee.Geometry) – boundaries of region to subset training data, null uses all data.

  • classProperty (string) – attribute name with land cover label

  • coefs (array) – list of coefficients to classify

  • trainProp (float) – proportion of data to use subset for training

  • seed (number) – seed to use for the random column generator

Returns

ee.Image – classified image

classifySegments(imageToClassify, numberOfSegments, bandNames, ancillary, ancillaryFeatures, trainingData, classifier, studyArea, classProperty="'LC_Num'", coefs, trainProp=.4, seed='random', subsetTraining=true)

Classify stack of CCDC coefficient, band-separated by segment

Arguments
  • imageToClassify (ee.Image) – ccdc coefficient stack to classify

  • numberOfSegments (number) – number of segments to classify

  • bandNames (array) – list of band names to classify

  • ancillary (array) – list of ancillary predictor data

  • ancillaryFeatures (ee.Image) – ancillary data image

  • trainingData (ee.FeatureCollection) – training data

  • classifier (ee.Classifier) – earth engine classifier with parameters

  • studyArea (ee.Geometry) – boundaries of region to subset training data, null uses all data.

  • classProperty (string) – attribute name with land cover label

  • coefs (array) – list of coefficients to classify

  • trainProp (float) – proportion of data to use subset for training

  • seed (number) – seed to use for the random column generator

  • subsetTraining (boolean) – true to subset training to geometry, false to not

Returns

ee.Image – classified stack of CCDC segments

parseConfMatrix(im, attribute="'confMatrix'")

Parse confusion matrix from string

Arguments
  • im (ee.Image) – classified image with confusion matrix in metadata

  • attribute (string) – name of attribute with confusion matrix

accuracyProcedure(trainingData, imageToClassify, predictors, bandNames, ancillary, classifier, classProperty="'LC_Num'", seed='random', trainProp=.4)

Calculate accuracy metrics using a subset of the training data

Arguments
  • trainingData (ee.FeatureCollection) – training data

  • imageToClassify (ee.Image) – ccdc coefficient stack to classify

  • predictors (array) – list of predictor variables as strings

  • bandNames (array) – list of band names to classify

  • ancillary (array) – list of ancillary predictor data

  • classifier (ee.Classifier) – earth engine classifier with parameters

  • classProperty (string) – attribute name with land cover label

  • seed (number) – seed to use for the random column generator

  • trainProp (float) – proportion of data to use subset for training

Returns

ee.ConfusionMatrix – a confusion matrix as calculated by the train/test subset

getLcAtDate(segs, date, numberOfSegments, ccdVersion, metadataFilter, behavior, bandNames, inputFeatures)

Calculate landcover at a date based on pre-classified segments

Arguments
  • segs (ee.Image) – classified ccd segment image

  • date (string) – date of land cover to retrieve in format ‘YYYY-MM-DD’

  • numberOfSegments (number) – number of segments in classification image

  • ccdVersion (string) – version of ccd used for classification

  • metadataFilter (string) – metadata used for classification of ccd

  • behavior (string) – behavior when date is in between segments (‘none’,’before’,’after’)

  • bandNames (array) – list of band names (such as “BLUE”,”GREEN”)

  • inputFeatures (array) – list of input feature names (such as “INTP” and “RMSE”)

Returns

ee.Image – matchingDate landcover classification image at date specified in parameter

getMode(folder, matchingString)

Get mode classification from a stack of overlapping result files

Arguments
  • folder (string) – the path to the folder containing the result files

  • matchingString (string) – an identifier in the result file names

Returns

ee.Image – band-wise mode classification

Dates

msToDays(ms)

milliseconds since epoch (01-01-1970 ) to number of days

Arguments
  • ms (Number) – ms since 01-01-1970)

Returns

ee.Number – milliseconds since epoch

dateToJdays(str_date)

Convert Date to julian days (i.e. days since 01-01-0001)

Arguments
  • str_date (String) – Date string in yyyy-mm-dd format

Returns

ee.Number – Julian day

jdaysToms(jdays)

Convert julian day (i.e. days since 01-01-0001) to ms since 1970-01-01

Arguments
  • jdays (Number) – Julian day

Returns

ee.Number – ms since 1970-01-01

jdaysToDate(jdays)

Convert julian day (i.e. days since 01-01-0001) to ee.Date

Arguments
  • jdays (Number) – Julian day

Returns

ee.Date – ee.Date

msToJdays(ms)

Convert ms since 1970-01-01 to julian day (i.e. days since 01-01-0001)

Arguments
  • ms (Number) – ms since 1970-01-01

Returns

ee.Number – Julian day

msToFrac(ms)

Convert ms since 1970-01-01 to fractional year

Arguments
  • ms (Number) – ms since 1970-01-01

Returns

ee.Number – Fractional year

msToDate(ms)

Convert ms to ee.Date

Arguments
  • ms (number) – jdays as milleconds

Returns

ee.Date – ee.Date

fracToms(frac)

Convert fractional time to ms since 1970-01-01. DOES NOT ACCOUNT FOR LEAP YEARS

Arguments
  • frac (Number) – Fractional year

Returns

ee.Number – ms since 1970-01-01

convertDate(options)

Convert between any two date formats

Arguments
  • options (Dictionary) – parameter dictionary

Returns

Object – output reformatted date

Change