Trend-Raster generieren (Image Analyst)

Mit der Image Analyst-Lizenz verfügbar.

Zusammenfassung

Schätzt den Trend für jedes Pixel entlang einer Dimension für eine oder mehrere Variablen in einem multidimensionalen Raster.

Verwendung

  • Ein Anwendungsbeispiel für dieses Werkzeug: Sie haben monatliche Meerestemperaturdaten von 40 Jahren und möchten für jedes Pixel eine Trendlinie anpassen, um zu sehen, wo und wie sich die Temperatur im Laufe der Zeit verändert hat.

  • Die unterstützten multidimensionalen Raster-Datasets sind netCDF, GRIB, HDF und Esri CRF. Multidimensionale Mosaik-Datasets werden auch unterstützt.

  • Dieses Werkzeug generiert ein multidimensionales Raster-Dataset im Cloud-Raster-Format (CRF). Aktuell werden keine anderen Ausgabeformate unterstützt.

  • Standardmäßig wird die multidimensionale Raster-Ausgabe mit dem Komprimierungstyp LZ77 komprimiert. Es wird jedoch empfohlen, stattdessen den Komprimierungstyp LERC festzulegen und den Maximalfehler entsprechend Ihren Daten anzupassen. Wenn Sie zum Beispiel Analyseergebnisse mit einer Genauigkeit von drei Dezimalstellen erwarten, dann sollten Sie den Wert 0,001 für diesen Maximalfehler verwenden. Dies eignet sich am besten, um unnötige Anforderungen an die Genauigkeit zu vermeiden, da andernfalls Verarbeitungszeit und Speichergröße zu sehr ansteigen würden.

  • Es gibt drei Möglichkeiten der Anpassung eines Trends an die Variablenwerte entlang einer Dimension: linear, harmonisch und polynomisch. Diese drei Anpassungsoptionen für Trends werden nachfolgend beschrieben.

    Lineare und harmonische Trendtypen und polynomische Trendtypen zweiter und dritter Ordnung
    • Linear: Die lineare Trendlinie ist eine am besten passende gerade Linie, die zur Schätzung einfacher linearer Beziehungen verwendet wird. Ein linearer Trend kennzeichnet eine gleichbleibende Veränderung nach oben oder unten. Die Formel für lineare Trendlinien lautet wie folgt:
      Formel für lineare Trendlinien
      • y = Variablenwert des Pixels
      • x = Dimensionswert
      • ß0 = y-Schnittpunkt
      • ß1 = lineare Neigung oder Änderungsrate

        ß1 > 0 weist auf einen zunehmenden Trend hin

        ß1 < 0 weist auf einen abnehmenden Trend hin

    • Harmonisch: Die harmonische Trendlinie ist eine sich periodisch wiederholende geschwungene Linie; mit ihr lassen sich Daten beschreiben, die einem Zyklus folgen, z. B. saisonal bedingte Temperaturänderungen. Die Formel für harmonische Trendlinien lautet wie folgt:
      Formel für harmonische Trendlinien
      • y = Variablenwert des Pixels
      • t = Datum nach Julianischem Kalender
      • ß0 = y-Schnittpunkt
      • ß1 = Veränderungsrate
      • α, γ = Koeffizienten der Veränderungen innerhalb eines Jahres oder jahresübergreifend
      • ω = i
      • f = harmonische Frequenz
    • Polynomisch: Die polynomische Trendlinie ist eine geschwungene Linie, die gut zur Darstellung von Daten mit stärkerer Fluktuation geeignet ist. In diesem Fall wird die maximale Anzahl der auftretenden Fluktuationen durch eine Polynom-Ordnung angegeben. Die Formel für polynomische Trendlinien lautet wie folgt:
      Formel für polynomische Trendlinien
      • y = Variablenwert des Pixels
      • x = Dimensionswert
      • ß0, ß1, ß2, ß3, ... ßn = konstante Koeffizienten
  • Das mit diesem Werkzeug generierte Ausgabe-Trend-Raster wird als Eingabe für das Werkzeug Mit Trend-Raster vorhersagen verwendet. Die Ausgabe ist ein multidimensionales Raster, wobei jeder Ausschnitt ein Multiband-Raster darstellt und Informationen über die Trendlinie enthält. Wenn Sie den Trend für eine einzelne Variable eines Datasets analysieren, das nur eine Dimension (z. B. Zeit) enthält, enthält das Ausgabe-Dataset nur einen Ausschnitt. Wenn Sie eine einzelne Variable für ein Dataset analysieren, das mehrere Dimensionen enthält (z. B. Zeit und Tiefe), enthält jeder Ausschnitt Trendinformationen für alle Dimensionswerte entlang der Dimension, die nicht in der Analyse enthalten war.

    In der linearen Trendanalyse enthält die Ausgabe Dreiband-Raster. Hierbei gilt:

    • Band 1 = Neigung
    • Band 2 = Schnittpunkt
    • Band 3 = RMS-Fehler (Root Mean Square, quadratisches Mittel) oder Fehler um die am besten passende Linie herum

    In der harmonischen Trendanalyse hängt die Anzahl an Bändern in der Ausgabe von der harmonischen Frequenz ab. Bei der Frequenz 1 ist die Ausgabe ein Fünfband-Raster. Hierbei gilt:

    • Band 1 = Neigung
    • Band 2 = Schnittpunkt
    • Band 3 = Harmonic_sin1
    • Band 4 = Harmonic_cos1
    • Band 5 = RMSE

    Bei der Frequenz 2 ist die Ausgabe ein Siebenband-Raster. Hierbei gilt:

    • Band 1 = Neigung
    • Band 2 = Schnittpunkt
    • Band 3 = Harmonic_sin1
    • Band 4 = Harmonic_cos1
    • Band 5 = Harmonic_sin2
    • Band 6 = Harmonic_cos2
    • Band 7 = RMSE

    In der polynomischen Trendanalyse hängt die Anzahl an Bändern in der Ausgabe von der Polynom-Ordnung ab. Bei der Polynomanpassung zweiter Ordnung entsteht ein Vierband-Raster. Hierbei gilt:

    • Band 1 = Polynomial_2
    • Band 2 = Polynomial_1
    • Band 3 = Polynomial_0
    • Band 4 = RMSE

    Bei der Polynomanpassung dritter Ordnung entsteht ein Fünfband-Raster. Hierbei gilt:

    • Band 1 = Polynomial_3
    • Band 2 = Polynomial_2
    • Band 3 = Polynomial_1
    • Band 4 = Polynomial_0
    • Band 5 = RMSE

  • Mit dem Parameter Zykluslänge für die harmonische Trendanalyse wird die Anzahl und Länge der Zyklen angegeben, die Sie für die Daten in einem Tag oder Jahr erwarten. Wenn Sie beispielsweise für Ihre Daten zwei Variationszyklen pro Jahr erwarten, beträgt die Zykluslänge 182,5 Tage bzw. 0,5 Jahre. Wenn alle drei Stunden eine Erfassung von Temperaturdaten erfolgt und pro Tag ein Variationszyklus vorliegt, beträgt die Zykluslänge einen Tag.

  • Mit dem Parameter Häufigkeit für die harmonische Trendanalyse wird das harmonische Modell beschrieben, das an die Daten angepasst wird. Wird die Häufigkeit auf 1 festgelegt, wird eine Kombination aus linearer Kurve und harmonischer Kurve der ersten Ordnung für die Anpassung des Modells verwendet. Beträgt die Häufigkeit 2, wird eine Kombination aus linearer Kurve, harmonischer Kurve der ersten Ordnung und harmonischer Kurve der zweiten Ordnung für die Anpassung des Modells verwendet. Beträgt die Häufigkeit 3, wird zusätzlich eine harmonische Kurve der dritten Ordnung für die Modellierung der Daten verwendet und so weiter und so fort.

  • Modellstatistiken zur Qualität der Übereinstimmung können als optionale Ausgabe generiert werden. Der RMS-Fehler (Root Mean Square, quadratisches Mittel), R-Squared und der Trend für den p-Wert der Neigung können im Fenster Eigenschaften des Ausgabe-Rasters im Abschnitt Statistiken berechnet und angezeigt werden. Sie können die Statistiken auch anzeigen, indem Sie das Ausgabe-Trend-Raster mit der Symbolisierung RGB symbolisieren und die Statistiken als rote, grüne und blaue Bänder angeben.

Syntax

GenerateTrendRaster(in_multidimensional_raster, dimension, {variables}, {line_type}, {frequency}, {ignore_nodata}, {cycle_length}, {cycle_unit}, {rmse}, {r2}, {slope_p_value})
ParameterErklärungDatentyp
in_multidimensional_raster

Das als Eingabe verwendete multidimensionale Raster-Dataset.

Raster Dataset; Raster Layer; Mosaic Dataset; Mosaic Layer; Image Service; File
dimension

Die Dimension, für die anhand der in der Analyse ausgewählte(n) Variable(n) Trenddaten gewonnen werden sollen.

String
variables
[variables,...]
(optional)

Die Variable oder Variablen, für die Trends berechnet werden. Wenn keine Variable angegeben ist, wird die erste Variable im multidimensionalen Raster analysiert.

String
line_type
(optional)

Gibt den Linientyp für die Anpassung an die Pixelwerte in einer Dimension an.

  • LINEARVariable Pixelwerte werden entlang einer linearen Trendlinie angepasst. Dies ist die Standardeinstellung.
  • POLYNOMIALVariable Pixelwerte werden entlang einer polynomischen Trendlinie zweiter Ordnung angepasst.
  • HARMONICVariable Pixelwerte werden entlang einer harmonischen Trendlinie angepasst.
String
frequency
(optional)

Die für die Trendanpassung verwendete Häufigkeit oder Polynomordnung. Ist der Trendtyp polynomisch, wird mit diesem Parameter die Polynomordnung angegeben. Ist der Trendtyp harmonisch, wird mit diesem Parameter die Anzahl der für die Anpassung des Trends zu verwendenden Modelle angegeben.

Dieser Parameter ist nur in der Trendanalyse enthalten, wenn es sich bei der analysierten Dimension um Zeit handelt.

Wenn für den Parameter line_type die Option HARMONIC verwendet wird, beträgt der Standardwert 1; das bedeutet, dass für die Anpassung des Modells eine harmonische Kurve erster Ordnung verwendet wird.

Wenn für den Parameter line_type die Option POLYNOMIAL verwendet wird, lautet der Standardwert 2, was einem Polynom zweiter Ordnung entspricht.

Long
ignore_nodata
(optional)

Gibt an, ob NoData-Werte bei der Analyse ignoriert werden.

  • DATA Bei der Analyse werden alle gültigen Pixel entlang einer angegebenen Dimension einbezogen und alle NoData-Pixel ignoriert. Dies ist die Standardeinstellung.
  • NODATAWenn NoData-Werte für die Pixel entlang einer angegebenen Dimension vorhanden sind, wird bei der Analyse NoData zurückgegeben.
Boolean
cycle_length
(optional)

Die Länge der zu modellierenden periodischen Variation. Dieser Parameter ist erforderlich, wenn line_type auf HARMONIC gesetzt ist. Der Grünanteil bei Blättern beispielsweise weist pro Jahr einen starken Variationszyklus auf, sodass die Zykluslänge 1 Jahr beträgt. Stündlich erfasste Temperaturdaten weisen pro Tag einen starken Variationszyklus auf, sodass die Zykluslänge 1 Tag beträgt.

Für Daten, die eine Variation auf der Grundlage eines Jahreszyklus aufweisen, beträgt die Standardlänge 1 Jahr.

Double
cycle_unit
(optional)

Gibt die Zeiteinheit für die Länge eines harmonischen Zyklus an.

  • DAYSDie Einheit für die Länge des harmonischen Zyklus ist ein Tag.
  • YEARSDie Einheit für die Länge des harmonischen Zyklus ist ein Jahr. Dies ist die Standardeinstellung.
String
rmse
(optional)

Gibt an, ob der RMS-Fehler (Root Mean Square, quadratisches Mittel) der angepassten Trendlinie berechnet wird.

  • RMSEDer RMS-Fehler wird berechnet. Dies ist die Standardeinstellung.
  • NO_RMSEDer RMS-Fehler wird nicht berechnet.
Boolean
r2
(optional)

Gibt an, ob für die angepasste Trendlinie eine Statistik zur Qualität der Übereinstimmung von R-Squared berechnet wird.

  • R2Der R-Squared-Wert wird berechnet.
  • NO_R2Der R-Squared-Wert wird nicht berechnet. Dies ist die Standardeinstellung.
Boolean
slope_p_value
(optional)

Gibt an, ob die p-Wertstatistik für den Neigungskoeffizienten der Trendlinie berechnet wird.

  • SLOPEPVALUEDer p-Wert wird berechnet.
  • NO_SLOPEPVALUEDer p-Wert wird nicht berechnet. Dies ist die Standardeinstellung.
Boolean

Rückgabewert

NameErklärungDatentyp
out_multidimensional_raster

Das multidimensionale Ausgabe-Raster-Dataset im Cloud Raster Format (CRF).

Raster

Codebeispiel

GenerateTrendRaster – Beispiel 1 (Python-Fenster)

In diesem Beispiel wird die polynomische Trendanpassung für Niederschlagsdaten im Zeitverlauf berechnet.

# Import system modules
import arcpy
from arcpy.ia import *

# Check out the ArcGIS Image Analyst extension license
arcpy.CheckOutExtension("ImageAnalyst")

# Execute 
trendCoeffMultidim = arcpy.ia.GenerateTrendRaster("model_time_series.crf", 
	"StdTime", "precip", "POLYNOMIAL", 2, "DATA", None, '', "RMSE","R2", None)
	
# Save output
trendCoeffMultidim.save("C:/data/polynomial_trend_coefficients.crf")
GenerateTrendRaster – Beispiel 2 (eigenständiges Skript)

In diesem Beispiel wird die lineare Trendanpassung für Temperatur und Salzgehalt im Zeitverlauf berechnet.

# Import system modules
import arcpy
from arcpy.ia import *

# Check out the ArcGIS Image Analyst extension license
arcpy.CheckOutExtension("ImageAnalyst")

# Define input parameters

inFile = "C:/Data/ClimateVariables.crf"
dimensionName = "Depth"
variables = "salinity;temp"
trend_type = "LINEAR"
frequency = None
ignore_Nodata = "DATA"
cycle_length = None
cycle_unit = ''
rmse = "RMSE"
r2 = "R2"
slopeP = "NO_SLOPEPVALUE")

# Execute - fit a linear model for salinity and temperature
trendCoeffMultidim = GenerateTrendRaster(inFile, dimensionName, 
	variables, trend_type, frequency, ignore_nodata, cycle_length,
	cycle_unit, rmse, r2, slopeP)
	
# Save output
trendCoeffMultidim.save("C:/data/linear_trend_coefficients.crf")
GenerateTrendRaster – Beispiel 3 (eigenständiges Skript)

In diesem Beispiel wird die harmonische Trendanpassung entlang einer NDVI-Zeitserie berechnet.

# Import system modules
import arcpy
from arcpy.ia import *

# Check out the ArcGIS Image Analyst extension license
arcpy.CheckOutExtension("ImageAnalyst")

# Define input parameters

inFile = "C:/data/ndvi_time_series.crf"
dimensionName = "StdTime"
variables = "ndvi"
trend_model = "HARMONIC"
harmonic_frequency = 1
ignore_Nodata = "DATA"
length_of_cycle = 1
cycle_unit = "YEARS"
rmse = "RMSE"
r_square = "NO_R2"
p_value = "NO_SLOPEPVALUE"

# Execute 
trendCoeffMultidim = GenerateTrendRaster(inFile, dimensionName, 
	variables, trend_model, harmonic_frequency, ignore_nodata,
	length_of_cycle, cycle_unit, rmse,r_square,p_value)
	
# Save output
trendCoeffMultidim.save("C:/data/harmonic_trend_coefficients.crf")

Lizenzinformationen

  • Basic: Erfordert Image Analyst
  • Standard: Erfordert Image Analyst
  • Advanced: Erfordert Image Analyst

Verwandte Themen