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.
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.
Wenn die Eingabe ein Layer ist, der aus einem Multiband-Raster mit mehr als drei Bändern erstellt wurde, berücksichtigt der Vorgang alle mit dem Quellen-Dataset verknüpften Bänder und nicht nur die drei vom Layer geladenen (symbolisierten) Bänder.
Sie haben verschiedene Möglichkeiten, eine Teilmenge von Bändern eines Multiband-Rasters als Eingabe für das Werkzeug festzulegen.
- Wechseln Sie bei Verwendung des Werkzeugdialogfelds in das Multiband-Raster mithilfe der Schaltfläche "Durchsuchen" neben dem Eintrag Eingabe-Raster-Bänder verwenden. Öffnen Sie das Raster, und wählen Sie die gewünschten Bänder aus.
- Wenn es sich bei dem Multiband-Raster um einen Layer im Inhaltsverzeichnis handelt, können Sie mit dem Werkzeug Raster-Layer erstellen einen neuen Multiband-Layer erstellen, der nur die gewünschten Bänder enthält.
- Sie können auch mithilfe der Option Bänder zusammensetzen ein neues Dataset erstellen, das nur die gewünschten Bänder enthält, und dieses als Eingabe für das Werkzeug verwenden.
- In Python können die gewünschten Bänder direkt als Liste im Werkzeugparameter festgelegt 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 "Ganzzahl" 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")
Umgebung
Lizenzierungsinformationen
- ArcGIS for Desktop Basic: Erfordert Spatial Analyst
- ArcGIS for Desktop Standard: Erfordert Spatial Analyst
- ArcGIS for Desktop Advanced: Erfordert Spatial Analyst