Skip To Content

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, polynomisch und harmonisch. 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

    • 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
    • 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
      • ω = 1 / i
      • f = harmonische Frequenz
  • 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 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

    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

Syntax

GenerateTrendRaster(in_multidimensional_raster, dimension, {variables}, {line_type}, {frequency}, {ignore_nodata})
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.

  • LINEARPasst die Pixelwerte für eine Variable entlang einer linearen Trendlinie an. Dies ist die Standardeinstellung.
  • POLYNOMIALPasst die Pixelwerte für eine Variable entlang einer polynomischen Trendlinie an.
  • HARMONICPasst die Pixelwerte für eine Variable entlang einer harmonischen Trendlinie an.
String
frequency
(optional)

Wenn für den Parameter line_type die Option HARMONIC verwendet wird, lautet der Standardwert 1, was einem harmonischen Zyklus pro Jahr entspricht.

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

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 = GenerateTrendRaster("C:/data/model_time_series.crf", 
	"StdTime", "precip", "POLYNOMIAL", 2, "NODATA")
	
# 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_model = "LINEAR"
ignore_Nodata = "DATA"

# Execute - fit a linear model for salinity and temperature
trendCoeffMultidim = GenerateTrendRaster(inFile, dimensionName, 
	variables, trend_model, None, ignore_nodata)
	
# 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 = 2
ignore_Nodata = "DATA"

# Execute 
trendCoeffMultidim = GenerateTrendRaster(inFile, dimensionName, 
	variables, trend_model, harmonic_frequency, ignore_nodata)
	
# 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