Mit der Spatial Analyst-Lizenz verfügbar.
Zusammenfassung
Führt eine Hauptkomponentenanalyse (Principal Component Analysis, PCA) für eine Gruppe von Raster-Bändern aus und generiert ein einzelnes Multiband-Raster als Ausgabe.
Weitere Informationen zur Funktionsweise des Werkzeugs "Hauptkomponentenanalyse"
Verwendung
Der für die Anzahl der Hauptkomponenten angegebene Wert bestimmt die Anzahl der Hauptkomponentenbänder im Ausgabe-Multiband-Raster. Die Zahl darf nicht größer sein als die Gesamtzahl der Raster-Bänder in der Eingabe.
Wenn ein Multiband-Raster als eines der Eingabe-Raster-Bänder (in_raster_bands in Python) angegeben wird, werden alle Bänder verwendet.
Wenn eine Auswahl von Bändern aus einem Multiband-Raster verarbeitet werden soll, können Sie zunächst mit dem Werkzeug Bänder zusammensetzen ein neues Raster-Dataset erstellen, das aus den betreffenden Bändern besteht, und das Ergebnis in der Liste der Eingabe-Raster-Bänder (in_raster_bands in Python) verwenden.
Die Raster-Bänder müssen einen gemeinsamen Schnittpunkt haben. Wenn dieser nicht vorhanden ist, tritt ein Fehler auf und es wird keine Ausgabe erzeugt.
Die prozentuale Varianz gibt die Größe der Varianz an, die von den einzelnen Eigenwerten erfasst wird. Dies kann für die Interpretation der PCA-Ergebnisse nützlich sein. Wenn wenige Eigenwerte (die jeweils Bändern im Ausgabe-Raster entsprechen) die Mehrheit der Varianz erfassen, kann es angebracht sein, diese Teilmenge von Bändern in einer nachfolgenden Analyse zu verwenden, da durch sie möglicherweise die Mehrheit der Interaktionen innerhalb des ursprünglichen Multiband-Datasets erfasst wird.
Bei der Bestimmung der prozentualen Varianz, die von den einzelnen Eigenwerten erfasst wird, ist die Summe der Eigenwerte in die folgende Formel einzugeben: (Eigenwert * 100)/Summe. Der erste Eigenwert (und dessen zugehöriges Band) erfasst die größte Varianz, und die nachfolgenden Eigenwerte erfassen eine immer geringere Varianz. Der kumulierte Prozentsatz der Varianz ergibt sich aus der Summe aller Varianzen, die von den einzelnen Eigenwerten erfasst werden.
Weitere Informationen zur Geoverarbeitung von Umgebungen mit diesem Werkzeug finden Sie unter Analyseumgebungen und Spatial Analyst.
Syntax
PrincipalComponents (in_raster_bands, {number_components}, {out_data_file})
Parameter | Erläuterung | Datentyp |
in_raster_bands [in_raster_band,...] | Die Eingabe-Raster-Bänder. Die Raster können den Typ "Integer" oder "Gleitkomma" haben. | Raster Layer |
number_components (optional) | Anzahl der Hauptkomponenten. Die Anzahl muss größer 0 und kleiner oder gleich der Gesamtzahl an Eingabe-Raster-Bändern sein. Die Standardvorgabe ist die Gesamtzahl der Raster in der Eingabe. | Long |
out_data_file (optional) | Ausgabe-ASCII-Datendatei zur Speicherung der Hauptkomponentenparameter. Die Ausgabedatei zeichnet die Korrelations- und Kovarianzmatrizen, die Eigenwerte und Eigenvektoren sowie die prozentuale Varianz durch die einzelnen Eigenwerte und die durch die Eigenwerte beschriebene kumulierte Varianz auf. Die Erweiterung für die Ausgabedatei kann .txt oder .asc sein. | File |
Rückgabewert
Name | Erläuterung | Datentyp |
out_multiband_raster | Das Ausgabe-Multiband-Raster-Dataset. Wenn alle Eingabe-Bänder ganzzahlig sind, sind auch die Ausgabe-Raster-Bänder ganzzahlig. Wenn eines der Eingabe-Bänder ein Gleitkomma-Raster ist, sind die Ausgabe-Raster ebenfalls Gleitkomma-Raster. Wenn die Ausgabe ein Esri Grid-Raster ist, muss der Dateiname weniger als 10 Zeichen umfassen. | Raster |
Codebeispiel
PrincipalComponents – Beispiel 1 (Python-Fenster)
In diesem Beispiel wird eine Hauptkomponentenanalyse (Principal Component Analysis, PCA) für ein Multiband-Raster als Eingabe ausgeführt und ebenfalls ein Multiband-Raster als Ausgabe generiert.
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outPrincipalComp = PrincipalComponents(["redlands"], 4,"pcdata.txt")
outPrincipalComp.save("C:/sapyexamples/output/outpc01")
PrincipalComponents – Beispiel 2 (eigenständiges Skript)
In diesem Beispiel wird eine Hauptkomponentenanalyse (Principal Component Analysis, PCA) für ein Multiband-Raster als Eingabe ausgeführt und ebenfalls ein Multiband-Raster als Ausgabe generiert.
# Name: PrincipalComponents_Ex_02.py
# Description: Performs principal components analysis on a set of raster bands.
# Requirements: Spatial Analyst Extension
# Import system modules
import arcpy
from arcpy import env
from arcpy.sa import *
# Set environment settings
env.workspace = "C:/sapyexamples/data"
# Set local variables
inRasterBand1 = "redlands/redlandsc1"
inRasterBand2 = "redlands/redlandsc3"
numberComponents = 2
outDataFile = "C:/sapyexamples/output/pcdatafile.txt"
# Check out the ArcGIS Spatial Analyst extension license
arcpy.checkOutExtension("Spatial")
# Execute PrincipalComponents
outPrincipalComp = PrincipalComponents([inRasterBand1, inRasterBand2], 2,
outDataFile)
# Save the output
outPrincipalComp.save("C:/sapyexamples/output/outpc01")
Umgebungen
Lizenzinformationen
- ArcGIS Desktop Basic: Erfordert Spatial Analyst
- ArcGIS Desktop Standard: Erfordert Spatial Analyst
- ArcGIS Desktop Advanced: Erfordert Spatial Analyst