ee.Algorithms.TemporalSegmentation.C2c

Uma implementação do algoritmo Composite 2 Change (C2C). Esse algoritmo segmenta uma série temporal usando um ajuste linear segmentado com o número mínimo de segmentos necessários para ajustar os dados dentro do erro quadrático médio (RMSE) máximo especificado. Para cada banda de entrada, o algoritmo retorna as seguintes bandas de saída:
  • changeDate (Array[Double]): as datas em que as mudanças foram detectadas. O formato da data é determinado pelo argumento "dateFormat".
  • value (Array[Double]): valor da banda em cada changeDate.
  • magnitude (Array[Double]): a diferença entre os valores antes e depois de uma data de mudança. A primeira magnitude é sempre NaN.
  • duration (Array[Double]): a duração do segmento anterior à data de mudança. A primeira duração é sempre NaN.
  • rate (Array[Double]): taxa de mudança dos dados anteriores à data da mudança. A primeira taxa é sempre NaN.
Se includePostMetrics for verdadeiro, as seguintes variáveis serão incluídas por banda.
  • postMagnitude (Array[Double]): a diferença absoluta entre o valor no início do próximo segmento e o valor na data da mudança. O último postMagnitude é sempre NaN.
  • postDuration (Array[Double]): a duração do segmento após a data de mudança. O último postDuration é sempre NaN.
  • postRate (Array[Double]): a taxa de mudança dos dados após a data de mudança. O último postRate é sempre NaN.
Se includeRegrowth for verdadeiro, as seguintes variáveis serão incluídas por banda.
  • indexRegrowth (Array[Double]): a diferença entre o valor na data da mudança e o valor cinco pontos de dados depois.
  • recoveryIndicator (matriz [Double]): a proporção de indexRegrowth para magnitude.
  • regrowth60 (Array[Double]): diferença de tempo entre a data de mudança e o ponto de dados em que o valor da série é 60% do valor pré-perturbação.
  • regrowth80 (Array[Double]): diferença de tempo entre a data da mudança e o ponto de dados em que o valor da série é 80% do valor pré-perturbação.
  • regrowth100 (Array[Double]): diferença de tempo entre a data da mudança e o ponto de dados em que o valor da série é 100% do valor pré-perturbação.
Consulte: Hermosilla et al. (2015) https://doi.org/10.1016/j.rse.2014.11.005 para mais detalhes sobre o algoritmo original. A implementação do algoritmo pode ser encontrada no GitHub: https://github.com/saveriofrancini/C2C-GEE Agradecimentos: FORWARDS e NextGenCarbon.

Citação: Txomin Hermosilla, Michael A. Wulder, Joanne C. White, Nicholas C. Coops, Daniel Coelho, Giovanni Ciatto, Noel Gorelick e Saverio Francini. Em preparação. Composição de imagens, detecção de mudanças em séries temporais e métricas temporais: implementação do algoritmo Composite2Change (C2C) no Google Earth Engine.

Esse algoritmo está em prévia e sujeito a mudanças.

UsoRetorna
ee.Algorithms.TemporalSegmentation.C2c(collection, dateFormat, maxErrorList, spikesToleranceList, spikeRemovalMagnitudeList, maxError, maxSegments, infill, spikesTolerance, spikeRemovalMagnitude, includePostMetrics, includeRegrowth, interpolateRegrowth, useRelativeRegrowth, negativeMagnitudeOnly)Imagem
ArgumentoTipoDetalhes
collectionImageCollectionColeção de imagens em que o C2C será executado.
dateFormatNúmero inteiro, padrão: 0A representação de tempo a ser usada durante o ajuste: 0 = dias julianos, 1 = anos fracionários, 2 = tempo Unix em milissegundos. Os horários de início, término e intervalo de cada segmento temporal serão codificados dessa forma.
maxErrorListLista, padrão: {}Lista de valores máximos de erro (RMSE) a serem usados para cada faixa. Se não for informado, o valor maxError será usado para todas as bandas.
spikesToleranceListLista, padrão: {}Lista de valores de tolerância a picos a serem usados para cada faixa. Um valor de 1 indica que não houve remoção de picos. Se não for fornecido, o valor "spikesTolerance" será usado para todas as bandas.
spikeRemovalMagnitudeListLista, padrão: {}Lista de valores de magnitude de remoção de picos a serem usados para cada banda. Picos com uma magnitude acima desse valor são removidos. Se não for fornecido, o valor "spikeRemovalMagnitude" será usado para todas as bandas.
maxErrorPonto flutuante, padrão: 0,075RMSE máximo permitido do ajuste linear por partes, que controla a sensibilidade da segmentação.
maxSegmentsNúmero inteiro, padrão: 6Número máximo de segmentos permitidos na trajetória ajustada.
infillBooleano, padrão: verdadeiroPermite o preenchimento de lacunas na série temporal para oferecer suporte a um ajuste estável na presença de valores ausentes (ou seja, valores iguais a 0).
spikesTolerancePonto flutuante, padrão: 0,85Controla a tolerância a picos na série temporal. Varia de 0 a 1. Um valor de 1 indica que não há remoção de picos, e valores menores são mais agressivos.
spikeRemovalMagnitudePonto flutuante, padrão: 0,1Limite de magnitude da remoção de picos. Picos com uma magnitude (diferença absoluta da média dos vizinhos) acima desse valor são removidos.
includePostMetricsBooleano, padrão: verdadeiroRetorna descritores pós-mudança (postMagnitude, postDuration, postRate).
includeRegrowthBooleano, padrão: falsoRetorna métricas de recuperação/recrescimento (indexRegrowth, recoveryIndicator, regrowth60/80/100).
interpolateRegrowthBooleano, padrão: verdadeiroInterpole linearmente a série temporal usando as mudanças detectadas antes de calcular as métricas de recuperação.
useRelativeRegrowthBooleano, padrão: falsoCalcula os limites de recuperação em termos relativos às condições pré-distúrbio.
negativeMagnitudeOnlyBooleano, padrão: falsoMantém apenas os pontos de interrupção associados a mudanças negativas (filtragem direcional).