ee.Algorithms.TemporalSegmentation.C2c

Es una implementación del algoritmo de Composite 2 Change (C2C). Este algoritmo segmenta una serie temporal con un ajuste lineal por tramos con la cantidad mínima de segmentos necesarios para ajustar los datos dentro del error cuadrático medio (RMSE) máximo determinado. Para cada banda de entrada, el algoritmo devuelve las siguientes bandas de salida:
  • changeDate (matriz de números dobles): Son las fechas en las que se detectan cambios. El formato de fecha se determina según el argumento dateFormat.
  • value (Array[Double]): Es el valor de la banda en cada changeDate.
  • magnitude (Array[Double]): Es la diferencia entre los valores antes y después de una fecha de cambio. La primera magnitud siempre es NaN.
  • duration (matriz de números de punto flotante): Es la duración del segmento anterior a la fecha de cambio. La primera duración siempre es NaN.
  • rate (matriz de números de punto flotante): Es la tasa de cambio de los datos anteriores a la fecha del cambio. La primera tasa siempre es NaN.
Si includePostMetrics es verdadero, se incluyen las siguientes variables por banda.
  • postMagnitude (Array[Double]): Es la diferencia absoluta entre el valor al comienzo del siguiente segmento y el valor en la fecha de cambio. El último valor de postMagnitude siempre es NaN.
  • postDuration (matriz de números de punto flotante): Es la duración del segmento posterior a la fecha de cambio. El último postDuration siempre es NaN.
  • postRate (Array[Double]): Es la tasa de cambio de los datos después de la fecha de cambio. El último valor de postRate siempre es NaN.
Si includeRegrowth es verdadero, se incluyen las siguientes variables por banda.
  • indexRegrowth (Array[Double]): Es la diferencia entre el valor en la fecha del cambio y el valor cinco puntos de datos después.
  • recoveryIndicator (array de Double): Es la proporción de indexRegrowth en relación con la magnitud.
  • regrowth60 (Array[Double]): Diferencia de tiempo entre la fecha de cambio y el punto de datos en el que el valor de la serie es el 60% del valor previo a la perturbación.
  • regrowth80 (Array[Double]): Diferencia de tiempo entre la fecha de cambio y el punto de datos en el que el valor de la serie es el 80% del valor anterior a la perturbación.
  • regrowth100 (matriz de números de punto flotante): Diferencia de tiempo entre la fecha de cambio y el punto de datos en el que el valor de la serie es el 100% del valor anterior a la perturbación.
Consulta: Hermosilla et al. (2015) https://doi.org/10.1016/j.rse.2014.11.005 para obtener más detalles sobre el algoritmo original. La implementación del algoritmo se puede encontrar en GitHub: https://github.com/saveriofrancini/C2C-GEE. Agradecimientos: FORWARDS y NextGenCarbon.

Cita: Txomin Hermosilla, Michael A. Wulder, Joanne C. White, Nicholas C. Coops, Daniel Coelho, Giovanni Ciatto, Noel Gorelick y Saverio Francini. En preparación. Composición de imágenes, detección de cambios en series temporales y métricas temporales: Implementación del algoritmo Composite2Change (C2C) en Google Earth Engine.

Este algoritmo está en versión preliminar y está sujeto a cambios.

UsoMuestra
ee.Algorithms.TemporalSegmentation.C2c(collection, dateFormat, maxErrorList, spikesToleranceList, spikeRemovalMagnitudeList, maxError, maxSegments, infill, spikesTolerance, spikeRemovalMagnitude, includePostMetrics, includeRegrowth, interpolateRegrowth, useRelativeRegrowth, negativeMagnitudeOnly)Imagen
ArgumentoTipoDetalles
collectionImageCollectionEs la colección de imágenes en las que se ejecutará C2C.
dateFormatNúmero entero, valor predeterminado: 0Representación del tiempo que se usará durante el ajuste: 0 = jDays, 1 = años fraccionarios, 2 = tiempo Unix en milisegundos. Las horas de inicio, finalización y descanso de cada segmento temporal se codificarán de esta manera.
maxErrorListLista, valor predeterminado: {}Es una lista de los valores máximos de error (RMSE) que se usarán para cada banda. Si no se proporciona, se usará el valor de maxError para todas las bandas.
spikesToleranceListLista, valor predeterminado: {}Es la lista de valores de tolerancia a picos que se usarán para cada banda. Un valor de 1 indica que no se quitaron los picos. Si no se proporciona, se usará el valor de spikesTolerance para todas las bandas.
spikeRemovalMagnitudeListLista, valor predeterminado: {}Es una lista de valores de magnitud de eliminación de picos que se usarán para cada banda. Se quitan los picos con una magnitud superior a este valor. Si no se proporciona, se usará el valor de spikeRemovalMagnitude para todas las bandas.
maxErrorNúmero de punto flotante, valor predeterminado: 0.075Es el RMSE máximo permitido del ajuste lineal por tramos, que controla la sensibilidad de la segmentación.
maxSegmentsNúmero entero, valor predeterminado: 6Es la cantidad máxima de tramos permitidos en la trayectoria ajustada.
infillBooleano, valor predeterminado: verdaderoHabilita el completado de brechas dentro de la serie temporal para admitir un ajuste estable en presencia de valores faltantes (es decir, valores iguales a 0).
spikesToleranceNúmero de punto flotante, valor predeterminado: 0.85Controla la tolerancia de los picos en la serie temporal. El rango varía de 0 a 1. Un valor de 1 indica que no se quitaron picos, mientras que los valores más bajos son más agresivos.
spikeRemovalMagnitudeNúmero de punto flotante, valor predeterminado: 0.1Es el umbral de magnitud de eliminación de picos. Se quitan los picos con una magnitud (diferencia absoluta con respecto al promedio de los vecinos) superior a este valor.
includePostMetricsBooleano, valor predeterminado: verdaderoDevuelve descriptores posteriores al cambio (postMagnitude, postDuration, postRate).
includeRegrowthBooleano, valor predeterminado: falsoDevuelve métricas de recuperación o crecimiento (indexRegrowth, recoveryIndicator, regrowth60/80/100).
interpolateRegrowthBooleano, valor predeterminado: verdaderoInterpola linealmente la serie temporal con los cambios detectados antes de calcular las métricas de recuperación.
useRelativeRegrowthBooleano, valor predeterminado: falsoCalcula los umbrales de recuperación en términos relativos a las condiciones previas a la perturbación.
negativeMagnitudeOnlyBooleano, valor predeterminado: falsoConserva solo los puntos de interrupción asociados con cambios negativos (filtrado direccional).