ee.Algorithms.TemporalSegmentation.C2c

Eine Implementierung des Composite 2 Change-Algorithmus (C2C). Bei diesem Algorithmus wird eine Zeitreihe mithilfe einer stückweise linearen Anpassung segmentiert. Dabei wird die Mindestanzahl an Segmenten verwendet, die erforderlich ist, um die Daten innerhalb des angegebenen maximalen RMSE (Root Mean Square Error, Wurzel der mittleren Fehlerquadratsumme) anzupassen. Für jedes Eingabeband gibt der Algorithmus die folgenden Ausgabebänder zurück:
  • changeDate (Array[Double]): Die Datumsangaben, an denen Änderungen erkannt werden. Das Datumsformat wird durch das Argument „dateFormat“ bestimmt.
  • value (Array[Double]): Wert des Bereichs an jedem changeDate.
  • magnitude (Array[Double]): Die Differenz zwischen den Werten vor und nach einem Änderungsdatum. Die erste Größenordnung ist immer „NaN“.
  • duration (Array[Double]): Die Dauer des Segments vor dem Änderungsdatum. Die erste Dauer ist immer „NaN“.
  • rate (Array[Double]): Änderungsrate der Daten vor dem Änderungsdatum. Die erste Rate ist immer NaN.
 Wenn includePostMetrics „true“ ist, werden die folgenden Variablen pro Band einbezogen.
  • postMagnitude (Array[Double]): Die absolute Differenz zwischen dem Wert am Beginn des nächsten Segments und dem Wert am Änderungsdatum. Der letzte postMagnitude-Wert ist immer NaN.
  • postDuration (Array[Double]): Die Dauer des Segments nach dem Änderungsdatum. Der letzte postDuration-Wert ist immer NaN.
  • postRate (Array[Double]): Die Änderungsrate der Daten nach dem Änderungsdatum. Die letzte postRate ist immer NaN.
 Wenn includeRegrowth „true“ ist, werden die folgenden Variablen pro Band einbezogen.
  • indexRegrowth (Array[Double]): Die Differenz zwischen dem Wert am Änderungsdatum und dem Wert fünf Datenpunkte danach.
  • recoveryIndicator (Array[Double]): Das Verhältnis von „indexRegrowth“ zu „magnitude“.
  • regrowth60 (Array[Double]): Zeitdifferenz zwischen dem Änderungsdatum und dem Datenpunkt, an dem der Serienwert 60% des Werts vor der Störung beträgt.
  • regrowth80 (Array[Double]): Zeitdifferenz zwischen dem Änderungsdatum und dem Datenpunkt, an dem der Serienwert 80% des Werts vor der Störung beträgt.
  • regrowth100 (Array[Double]): Zeitdifferenz zwischen dem Änderungsdatum und dem Datenpunkt, an dem der Serienwert 100% des Werts vor der Störung beträgt.
Weitere Informationen zum ursprünglichen Algorithmus finden Sie unter Hermosilla et al. (2015) https://doi.org/10.1016/j.rse.2014.11.005. Die Implementierung des Algorithmus finden Sie auf GitHub: https://github.com/saveriofrancini/C2C-GEE. Danksagungen: FORWARDS und NextGenCarbon.

Zitierung: Txomin Hermosilla, Michael A. Wulder, Joanne C. White, Nicholas C. Coops, Daniel Coelho, Giovanni Ciatto, Noel Gorelick und Saverio Francini. Wird vorbereitet. Bildkomposition, Erkennung von Zeitreihenänderungen und temporale Messwerte: Implementierung des Composite2Change-Algorithmus (C2C) in Google Earth Engine.

Dieser Algorithmus befindet sich in der Vorschauphase und kann sich ändern.

NutzungAusgabe
ee.Algorithms.TemporalSegmentation.C2c(collection, dateFormat, maxErrorList, spikesToleranceList, spikeRemovalMagnitudeList, maxError, maxSegments, infill, spikesTolerance, spikeRemovalMagnitude, includePostMetrics, includeRegrowth, interpolateRegrowth, useRelativeRegrowth, negativeMagnitudeOnly)Bild
ArgumentTypDetails
collectionImageCollectionSammlung von Bildern, auf denen C2C ausgeführt werden soll.
dateFormatGanzzahl, Standardwert: 0Die Zeitdarstellung, die während der Anpassung verwendet werden soll: 0 = jDays, 1 = Bruchteile von Jahren, 2 = Unix-Zeit in Millisekunden. Die Start-, End- und Pausenzeiten für jedes temporale Segment werden auf diese Weise codiert.
maxErrorListListe, Standard: {}Liste der maximalen Fehlerwerte (RMSE), die für jedes Band verwendet werden sollen. Wenn er nicht angegeben ist, wird der Wert „maxError“ für alle Bereiche verwendet.
spikesToleranceListListe, Standard: {}Liste der Spike-Toleranzwerte, die für die einzelnen Bereiche verwendet werden sollen. Der Wert 1 gibt an, dass keine Spitzen entfernt wurden. Wenn kein Wert angegeben ist, wird der Wert von „spikesTolerance“ für alle Bereiche verwendet.
spikeRemovalMagnitudeListListe, Standard: {}Liste der Werte für die Entfernung von Spitzen, die für die einzelnen Bänder verwendet werden sollen. Spitzen mit einem Wert über diesem Wert werden entfernt. Wenn nicht angegeben, wird der Wert „spikeRemovalMagnitude“ für alle Bereiche verwendet.
maxErrorGleitkommazahl, Standardwert: 0,075Maximal zulässiger RMSE-Wert der stückweise linearen Anpassung. Steuert die Segmentierungsempfindlichkeit.
maxSegmentsGanzzahl, Standard: 6Maximale Anzahl der Segmente, die in die angepasste Trajektorie aufgenommen werden dürfen.
infillBoolescher Wert, Standard: „true“Ermöglicht das Schließen von Lücken in der Zeitreihe, um eine stabile Anpassung bei fehlenden Werten (d.h. Werten gleich 0) zu ermöglichen.
spikesToleranceGleitkommazahl, Standardwert: 0,85Steuert die Toleranz von Spitzen in der Zeitreihe. Liegt im Bereich von 0 bis 1. Ein Wert von 1 bedeutet, dass keine Spitzen entfernt werden. Niedrigere Werte sind aggressiver.
spikeRemovalMagnitudeGleitkommazahl, Standardwert: 0,1Grenzwert für die Stärke der Entfernung von Spitzen. Spitzen mit einer Größenordnung (absolute Differenz zum Durchschnitt der Nachbarn) über diesem Wert werden entfernt.
includePostMetricsBoolescher Wert, Standard: „true“Gibt Deskriptoren für die Zeit nach der Änderung zurück (postMagnitude, postDuration, postRate).
includeRegrowthBoolescher Wert, Standard: „false“Gibt Messwerte für die Wiederherstellung/das erneute Wachstum zurück (indexRegrowth, recoveryIndicator, regrowth60/80/100).
interpolateRegrowthBoolescher Wert, Standard: „true“Die Zeitreihe wird mithilfe der erkannten Änderungen linear interpoliert, bevor die Messwerte für das erneute Wachstum berechnet werden.
useRelativeRegrowthBoolescher Wert, Standard: „false“Berechnet die Grenzwerte für das erneute Wachstum in Bezug auf die Bedingungen vor der Störung.
negativeMagnitudeOnlyBoolescher Wert, Standard: „false“Behält nur Breakpoints bei, die mit negativen Änderungen verknüpft sind (gerichtetes Filtern).