Korrelation von multidimensionalen Rastern (Image Analyst)

Mit der Image Analyst-Lizenz verfügbar.

Zusammenfassung

Analysiert können Korrelationen zwischen zwei Variablen in einem oder zwei multidimensionalen Rastern.

Das Werkzeug akzeptiert zwei multidimensionale Raster als Eingaben, vergleicht zwei Variablen mit der Korrelationsmethode "Pearson", "Kendall" oder "Spearman" und gibt ein Korrelations-Raster aus, bei dem jedes Pixel die Korrelationswerte der entsprechenden Pixel-Arrays darstellt. Das Ausgabe-Raster kann darstellen, wo die beiden Variablen korreliert sind und wo nicht.

Zudem kann das Werkzeug die Kreuzkorrelation berechnen, wenn die Entfernungsstufe ein Wert ungleich Null ist, und die Autokorrelation berechnen, wenn die beiden Eingaben identisch sind.

Sie können Korrelationen zwischen zwei Variablen in einem oder zwei multidimensionalen Rastern analysieren. Die Ausgabe ist ein Korrelations-Raster, bei dem jedes Pixel die Korrelation der beiden Zeitserien der beiden Variablen ist. Das Werkzeug kann verwendet werden, um die Korrelation mit einer Entfernungsstufe, eine Kreuzkorrelation oder eine Autokorrelation zu berechnen. Das Korrelations-Raster in der folgenden Abbildung wurde beispielsweise mit einer Variablen für die Bodenfeuchte im Zeitverlauf und einer Variablen für Niederschlag im Zeitverlauf berechnet.

Abbildung

Abbildung des Werkzeugs "Korrelation von multidimensionalen Rastern"
Ein Korrelations-Raster wird anhand der Bodenfeuchte je Monat und des monatlichen Niederschlags berechnet.

Verwendung

  • Für jede Pixelposition in den beiden multidimensionalen Rastern verwendet das Werkzeug zwei entsprechende Pixel-Arrays der beiden Variablen und berechnet einen Korrelationswert. Das Werkzeug vergleicht die beiden sortierten Arrays auf überlappende Pixel und entfernt unnötige Daten. Wenn sich die Längen der Pixel-Arrays unterscheiden, wird das Ende des längeren gekürzt.

  • Die beiden multidimensionalen Raster müssen die gleiche Zellengröße, räumliche Ausdehnung und Projektion aufweisen. Sie müssen nicht den gleichen Zeitraum oder das gleiche Intervall abdecken.

  • Verwenden Sie das Werkzeug Multidimensionales Raster aggregieren oder die Funktion Raster nach Dimension interpolieren, um ein Resampling für das dimensionale Intervall auszuführen, wenn identische Intervalle erforderlich sind.

  • Verwenden Sie das Werkzeug Teilmenge eines multidimensionalen Rasters oder die Funktion Multidimensionaler Filter, um eine identische dimensionale Ausdehnung zu definieren.

  • Alternativ können Sie mit dem Parameter Entfernungsstufe steuern, wie die beiden Variablen dimensional ausgerichtet werden, um den Korrelationswert zu berechnen, indem das Pixel-Array um den angegebenen Schritt verschoben wird. Der Wert 0 bedeutet keine Verschiebung. Der Wert 2 bedeutet, dass die erste Variable für die Berechnung zwei Indizes (Schritte) nach vorn verschoben wird. Der Wert -2 bedeutet, dass die erste Variable für die Berechnung zwei Schritte nach hinten verschoben wird.

    Beispiel: Ein Pixel-Array im ersten Raster ist 0, 1, 2, 3, und das Pixel-Array im zweiten Raster ist 4, 5, 6, 7, 8, 9.

    Verwenden des Parameters "Entfernungsstufe" zum Filtern multidimensionaler Daten
    Zwei Variablen werden mit dem Parameter "Entfernungsstufe" dimensional ausgerichtet. Für den Wert 0: 0, 1, 2, 3 bzw. 4, 5, 6, 7 werden berechnet. Für den Wert 2: 0, 1, 2, 3 bzw. 6, 7, 8, 9 werden berechnet. Für den Wert -1: 1, 2, 3 bzw. 4, 5, 6 werden berechnet.

  • Eine Entfernungsstufe beschreibt die Situation, in der eine (führende) Variable mit den Werten einer anderen (verzögerten) Variablen zu späteren Zeitpunkten kreuzkorreliert und synchronisiert wird.

  • Bei der Kreuzkorrelation wird ein Korrelations-Raster für jede Entfernungsstufe im angegebenen Bereich berechnet. Die resultierenden Korrelations-Raster werden als Multiband-Raster gespeichert. Wenn der Parameter P-Wert berechnen aktiviert ist, werden zusätzliche Bänder zur Ausgabe hinzugefügt. Gestalten Sie Ihren Workflow so, dass die Erstellung unnötiger Ausgabebänder vermieden wird.

  • Legen Sie zum Berechnen der Autokorrelation für die erste und zweite Eingabe die gleichen Werte für das multidimensionale Raster, den Dimensionsnamen und die Variable fest.

Parameter

BeschriftungErläuterungDatentyp
Multidimensionales Eingabe-Raster 1

Das als Eingabe verwendete multidimensionale Raster-Dataset.

Das erste multidimensionale Raster in einem unterstützten Format.

Raster Dataset; Raster Layer; Mosaic Dataset; Mosaic Layer; Image Service
Multidimensionales Eingabe-Raster 2

Das zweite multidimensionale Raster, das mit der ersten Eingabe korreliert wird. Die Autokorrelation wird berechnet, wenn der Parameterwert Multidimensionales Eingabe-Raster 1 mit dem Parameterwert Multidimensionales Eingabe-Raster 2 identisch ist. Autokorrelation bezieht sich auf den Grad der Korrelation der gleichen Variablen zwischen zwei aufeinander folgenden Zeitintervallen.

Raster Dataset; Raster Layer; Mosaic Dataset; Mosaic Layer; Image Service
Dimensionsname von Raster 1
(optional)

Ein Dimensionsname im ersten Dataset, an dem das Pixel-Array definiert wird. Wenn die Eingabe zwei nichträumliche Dimensionen aufweist, muss eine Dimension angegeben werden. Die Länge der in der Berechnung verwendeten Dimension muss größer als 2 sein.

String
Variable 1
(optional)

Ein Variablenname aus dem ersten Eingabe-Raster.

String
Dimensionsname von Raster 2
(optional)

Ein Dimensionsname im zweiten Dataset. Die Länge der in der Berechnung verwendeten Dimension muss größer als 2 sein.

String
Variable 2
(optional)

Ein Variablenname aus dem zweiten Eingabe-Raster.

String
Korrelationsmethode
(optional)

Gibt die verwendete Methode zur Berechnung der Korrelation an.

  • PearsonDie Korrelationsmethode ist Pearson. Dies ist die Standardeinstellung.
  • SpearmanDie Korrelationsmethode ist Spearman.
  • KendallDie Korrelationsmethode ist Kendall.
String
Entfernungsstufe
(optional)

Berechnen Sie einen Korrelationswert, indem Sie das Pixel-Array um den angegebenen Schritt verschieben, je nach Zeitverzögerung von 0 zu Dimension/2. Die Standardeinstellung ist 0.

Long
Kreuzkorrelation auf Entfernungsstufen berechnen
(optional)

Gibt an, ob die Kreuzkorrelation auf Entfernungsstufen berechnet wird.

Wenn aktiviert, werden die Korrelationen auf jeder Entfernungsstufe innerhalb eines Bereichs berechnet, der durch den entsprechenden Wert definiert ist. Beispiel: Wenn der Wert 2 ist, werden Korrelationen von -2, -1, 0, 1 und 2 berechnet und als Bänder im Ausgabe-Raster gespeichert.

  • Aktiviert: Die Kreuzkorrelation wird auf Entfernungsstufen berechnet.
  • Deaktiviert: Die Kreuzkorrelation wird nicht auf Entfernungsstufen berechnet. Dies ist die Standardeinstellung.

Boolean
P-Wert berechnen
(optional)

Gibt an, ob der P-Wert auf Entfernungsstufen berechnet wird. Der P-Wert ist ein Konfidenzwert, der beschreibt, wie gut zwei Variablen korreliert sind.

  • Aktiviert: Der P-Wert wird auf Entfernungsstufen berechnet. Die Ausgabe enthält zusätzliche Bänder, in denen P-Werte gespeichert sind.
  • Deaktiviert: Der P-Wert wird nicht auf Entfernungsstufen berechnet. Dies ist die Standardeinstellung.

Boolean
Ausgabe-Raster der maximalen Korrelation
(optional)

Ein 2-Band-Raster mit maximalen Korrelationswerten und die Entfernungsstufen, bei denen die maximalen Korrelationen auftreten. Das Raster wird erstellt, wenn der Parameter Kreuzkorrelation auf Entfernungsstufen berechnen aktiviert ist.

Ein 2-Band-Raster mit maximalen Korrelationswerten und die Entfernungsstufen, bei denen die maximalen Korrelationen auftreten. Das Raster wird erstellt, wenn der Parameter calculate_xcorr als ALL_CROSS_CORRELATION angegeben ist.

Raster Dataset

Rückgabewert

BeschriftungErläuterungDatentyp
Ausgabe-Raster

Das Ausgabe-Raster-Dataset. Wenn der Parameterwert lag nicht 0 ist, wird eine Kreuzkorrelation auf jeder Entfernungsstufe berechnet und als Bänder in der Ausgabe gespeichert.

Raster Dataset

MultidimensionalRasterCorrelation(in_mdim_raster1, in_mdim_raster2, {dimension1}, {variable1}, {dimension2}, {variable2}, {corr_method}, {lag}, {calculate_xcorr}, {calculate_pvalue}, {out_max_corr_raster})
NameErläuterungDatentyp
in_mdim_raster1

Das als Eingabe verwendete multidimensionale Raster-Dataset.

Das erste multidimensionale Raster in einem unterstützten Format.

Raster Dataset; Raster Layer; Mosaic Dataset; Mosaic Layer; Image Service
in_mdim_raster2

Das zweite multidimensionale Raster, das mit der ersten Eingabe korreliert wird. Die Länge der in der Berechnung verwendeten Dimension muss größer als 2 sein. Die Autokorrelation wird berechnet, wenn der Parameterwert in_mdim_raster1 mit dem Parameterwert in_mdim_raster2 identisch ist. Autokorrelation bezieht sich auf den Grad der Korrelation der gleichen Variablen zwischen zwei aufeinander folgenden Zeitintervallen.

Raster Dataset; Raster Layer; Mosaic Dataset; Mosaic Layer; Image Service
dimension1
(optional)

Ein Dimensionsname im ersten Dataset, an dem das Pixel-Array definiert wird. Wenn die Eingabe zwei nichträumliche Dimensionen aufweist, muss eine Dimension angegeben werden. Die Länge der in der Berechnung verwendeten Dimension muss größer als 2 sein.

String
variable1
(optional)

Ein Variablenname aus dem ersten Eingabe-Raster.

String
dimension2
(optional)

Ein Dimensionsname im zweiten Dataset. Die Länge der in der Berechnung verwendeten Dimension muss größer als 2 sein.

String
variable2
(optional)

Ein Variablenname aus dem zweiten Eingabe-Raster.

String
corr_method
(optional)

Gibt die verwendete Methode zur Berechnung der Korrelation an.

  • PEARSONDie Korrelationsmethode ist Pearson. Dies ist die Standardeinstellung.
  • SPEARMANDie Korrelationsmethode ist Spearman.
  • KENDALLDie Korrelationsmethode ist Kendall.
String
lag
(optional)

Berechnen Sie einen Korrelationswert, indem Sie das Pixel-Array um den angegebenen Schritt verschieben, je nach Zeitverzögerung von 0 zu Dimension/2. Die Standardeinstellung ist 0.

Long
calculate_xcorr
(optional)

Gibt an, ob die Kreuzkorrelation auf Entfernungsstufen berechnet wird.

Wenn ALL_CROSS_CORRELATION angegeben ist, werden die Korrelationen auf jeder Entfernungsstufe innerhalb eines Bereichs berechnet, der durch den entsprechenden Wert definiert ist. Beispiel: Wenn der Wert 2 ist, werden Korrelationen von -2, -1, 0, 1 und 2 berechnet und als Bänder im Ausgabe-Raster gespeichert.

  • ALL_CROSS_CORRELATIONDie Kreuzkorrelation wird auf Entfernungsstufen berechnet.
  • NO_CROSS_CORRELATIONDie Kreuzkorrelation wird nicht auf Entfernungsstufen berechnet. Dies ist die Standardeinstellung.
Boolean
calculate_pvalue
(optional)

Gibt an, ob der P-Wert auf Entfernungsstufen berechnet wird. Der P-Wert ist ein Konfidenzwert, der beschreibt, wie gut zwei Variablen korreliert sind.

  • CALCULATE_P_VALUEDer P-Wert wird auf Entfernungsstufen berechnet. Die Ausgabe enthält zusätzliche Bänder, in denen P-Werte gespeichert sind.
  • NO_P_VALUEDer P-Wert wird nicht auf Entfernungsstufen berechnet. Dies ist die Standardeinstellung.
Boolean
out_max_corr_raster
(optional)

Ein 2-Band-Raster mit maximalen Korrelationswerten und die Entfernungsstufen, bei denen die maximalen Korrelationen auftreten. Das Raster wird erstellt, wenn der Parameter calculate_xcorr als ALL_CROSS_CORRELATION angegeben ist.

Raster Dataset

Rückgabewert

NameErläuterungDatentyp
out_raster

Das Ausgabe-Raster-Dataset. Wenn der Parameterwert lag nicht 0 ist, wird eine Kreuzkorrelation auf jeder Entfernungsstufe berechnet und als Bänder in der Ausgabe gespeichert.

Raster Dataset

Codebeispiel

MultidimensionalRasterCorrelation: Beispiel 1 (Python-Fenster)
# Import system modules 
import arcpy 
from arcpy.ia import * 

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

# Execute 
arcpy.env.workspace = r"c:\data" 
output=arcpy.ia.MultidimensionalRasterCorrelation("soil2022.crf", "weather2022.crf", "StdTime", "soilm", "StdTime", "temperature", "PEARSON", 0, "NO_CROSS_CORRELATION", "NO_P_VALUE", None)
output.save("correlationraster.crf")
MultidimensionalRasterCorrelation: Beispiel 2 (eigenständiges Skript)
# Import system modules 
import arcpy 
from arcpy.ia import * 

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

# Define input parameters
raster1=r"E:\data\soil2022.crf"
raster2=r"E:\data\weather2022.crf"
dimension1="StdTime"
variable1="soilm"
dimension2="StdTime"
variable2="temperature"
correlation_method="PEARSON"
lag=3
calculate_cross_correlation="ALL_CROSS_CORRELATION"
calculate_pvalue="CACULATE_P_VALUE"
out_max_correlation_raster=r"E:\data\max_correlation.crf"

# Execute 
output = arcpy.ia.MultidimensionalRasterCorrelation(raster1, raster2, dimension1, variable1, dimension2, variable2, correlation _method, lag, calculate_cross_correlatio, calculate_pvalue, out_max_ correlation_raster)
output.save(r"E:\data\cross_correlation_raster.crf")

Verwandte Themen