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")