Raster-Bänder-Statistiken (Spatial Analyst)
Zusammenfassung
Berechnet die Statistiken für eine Gruppe von Raster-Bändern.
Weitere Informationen zur Funktionsweise von "Raster-Bänder-Statistiken"
Verwendung
-
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.
-
Wenn die Ausdehnungen der Raster-Bänder nicht gleich sind, wird die Statistik auf der allgemeinen räumlichen Ausdehnung aller Eingabe-Raster-Bänder berechnet. Die Zellengröße ist standardmäßig die des Maximums der Eingabe-Raster; andernfalls hängt sie von den Umgebungseinstellungen zur Raster-Analyse ab.
-
Bei der Standardeinstellung des Parameters Kovarianz- und Korrelationsmatrizen berechnen (BRIEF in Skripterstellung, im Werkzeugdialogfeld deaktiviert) werden nur Minimum, Maximum, Mittelwert und Standardabweichung der Eingabe-Raster-Bänder berechnet. Um diese Statistiken und zusätzlich die Kovarianz- und Korrelationsmatrizen zu berechnen, setzen Sie den Parameter bei der Skripterstellung auf DETAILED, bzw. aktivieren Sie ihn im Werkzeugdialogfeld. Eine Kovarianzmatrix enthält die Varianzen aller Raster-Bänder entlang der Diagonale von links oben nach rechts unten und die Kovarianzen zwischen allen Raster-Bändern in den restlichen Einträgen. Die Korrelationsmatrix stellt die Korrelationskoeffizienten zwischen den einzelnen Kombinationen zweier Eingabebänder bereit.
-
In der Berechnung der Kovarianzmatrix wird der Mittelwert des Bandes für alle Eingabezellen verwendet, die einen NoData-Wert haben.
-
Die Statistiken werden im ASCII-Textformat in die Ausgabedatei geschrieben. Die Erweiterung für die Ausgabe muss .txt lauten.
-
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 Werkzeugdialogfeldes in das Multiband-Raster, indem Sie die 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.
Syntax
Parameter | Erläuterung | Datentyp |
in_raster_bands [in_raster_band,...] |
Die Eingabe-Raster-Bänder. | Raster Layer |
out_stat_file |
Die Ausgabe-ASCII-Datei, die die Statistiken enthält. Die Erweiterung .txt ist erforderlich. | File |
compute_matrices (optional) |
Gibt an, ob Kovarianz- und Korrelationsmatrizen berechnet werden.
| Boolean |
Codebeispiel
In diesem Beispiel werden die Statistiken für eine Gruppe von Raster-Bändern berechnet.
import arcpy from arcpy import env from arcpy.sa import * env.workspace = "C:/sapyexamples/data" BandCollectionStats("redlands", "c:/sapyexamples/output/redbandstats.txt", "BRIEF")
In diesem Beispiel werden die Statistiken für eine Gruppe von Raster-Bändern berechnet.
# Name: BandCollectionStats_Ex_02.py # Description: Calculates the statistics for 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 = "sb/sbc1" inRasterBand2 = "sb/sbc2" outStatFile = "C:/sapyexamples/output/bandstatfile.txt" # Check out the ArcGIS Spatial Analyst extension license arcpy.checkOutExtension("Spatial") # Execute BandCollectionStats BandCollectionStats([inRasterBand1, inRasterBand2], outStatFile, "DETAILED")