Beschriftung | Erläuterung | Datentyp |
Eingabe-Raster- oder -Feature-Zonen-Daten | Das Dataset, das die Zonen definiert. Die Zonen können durch ein Integer-Raster oder einen Feature-Layer festgelegt werden. | Raster Layer; Feature Layer |
Zonenfeld | Das Feld, das die Werte enthält, die die einzelnen Zonen definieren. Es kann sich dabei um ein Ganzzahl- oder ein Zeichenfolgefeld des Zonen-Datasets handeln. | Field |
Eingabe-Werte-Raster | Das Raster mit den Werten, die zum Erstellen des Histogramms verwendet werden. | Raster Layer |
Ausgabetabelle | Die Ausgabetabellendatei. Das Format der Tabelle wird durch das Ausgabeverzeichnis und den Ausgabepfad bestimmt. Standardmäßig handelt es sich bei der Ausgabe um eine Geodatabase-Tabelle in einem Geodatabase-Workspace bzw. um eine dBASE-Tabelle in einem Datei-Workspace. Die optionale Diagrammausgabe wird aus den Informationen in der Tabelle erstellt. | Table |
Name des Ausgabediagramms (optional) | Der Name des anzuzeigenden Ausgabediagramms. Das Diagramm wird im Bereich Inhalt unter Standalone-Tabellen aufgeführt. | Graph |
Zonen als Zeilen in der Ausgabetabelle (optional) | Gibt an, wie die Werte aus dem Eingabe-Werte-Raster in der Ausgabetabelle dargestellt werden.
| Boolean |
Zusammenfassung
Erstellt eine Tabelle und ein Histogramm-Diagramm, in denen die Häufigkeitsverteilung der Zellenwerte für die Eingabe "Wert" für jede eindeutige Zone angezeigt wird.
Verwendung
Mit einem zonalen Histogramm können Sie die Häufigkeitsverteilung der Werte in einem Dataset innerhalb Klassen eines anderen Datasets untersuchen. Beispiele hierfür sind die Neigungsverteilung innerhalb der Landnutzungsklassen, die Niederschlagsverteilung innerhalb der Höhenklassen oder die Verbrechensverteilung nach Polizeibezirken.
Die Anzahl der Klassen in einem zonalen Histogramm ist davon abhängig, wie das Eingabe-Werte-Raster (in_value_raster in Python) angegeben wird.
Erfolgt die Angabe als ein Raster-Dataset, gelten die folgenden Bedingungen:
- Bei einem Integer-Raster mit weniger als 25 Einzelwerten entspricht die Anzahl der Klassen der Anzahl der Einzelwerte aus dem Wert-Raster.
- Bei einem Integer-Raster mit mehr als 25 Einzelwerten werden die Werte in 256 Klassen eingeteilt (von 1 bis 256). Ist die Anzahl der Einzelwerte geringer als 256, weisen einige Klassen eine Häufigkeit von 0 auf.
- Bei einem Gleitkomma-Raster werden die Werte in 256 Klassen eingeteilt (von 1 bis 256).
Bei Angabe als Raster-Layer gelten die folgenden Bedingungen:
- Für die Symbolisierung Streckung wird der Streckungstyp verwendet, und die Werte werden in 256 Klassen eingeteilt (von 1 bis 256).
- Bei der Symbolisierung Klassifizieren oder Einzelwerte entspricht die Anzahl der Klassen den Klassen oder Einzelwerten aus der Symbolisierung.
- Die Zonenanalyse wird innerhalb des Wertebereichs durchgeführt, der durch die Symbolisierung Streckung, Klassifizieren oder Einzelwerte angegeben wird. Nicht in der Symbolisierung angezeigte Werte aus dem Wert-Raster werden in der Berechnung ignoriert.
- Die Zonenanalyse ignoriert die Symbolisierung bei der Symbolisierung Diskontinuierlich oder Vektorfeld. Die Analyse wird nur unter Berücksichtigung des Datentyps und der Anzahl der Einzelwerte im Wert-Raster genau so durchgeführt wie bei Angabe des Eingabe-Werte-Rasters als Raster-Dataset.
- In dem zonalen Histogramm werden die Klassenwerte aus den Symbolisierungsbeschriftungen des Wert-Raster-Layers angezeigt.
Eine Zone wird durch alle Flächen in der Eingabe definiert, die den gleichen Wert aufweisen. Die Flächen müssen nicht zusammenhängend sein. Sowohl Raster als auch Features können als Zoneneingabe verwendet werden.
Wenn der Wert Eingabe-Raster- oder -Feature-Zonen-Daten (in_zone_data in Python) ein Raster ist, muss es sich um eine Integer-Raster-Eingabe handeln.
Wenn die Eingabe-Raster- oder Feature-Zonen-Daten ein Feature sind, werden sie intern in ein Raster konvertiert, wobei die Zellengröße und die Zellenausrichtung aus dem Eingabe-Werte-Raster (in_value_raster in Python) verwendet werden.
Bei Abweichungen der Zellengröße zwischen den Eingabe-Raster- oder Feature-Zonen-Daten und dem Eingabe-Werte-Raster entspricht die Ausgabezellengröße dem Maximum der Eingabedaten. In diesem Fall wird das Eingabe-Werte-Raster intern als Fang-Raster verwendet. Wenn die Zellengröße übereinstimmt, die Zellen jedoch nicht ausgerichtet sind, wird das Eingabe-Wert-Raster intern als Fang-Raster verwendet. In beiden Fällen wird ein internes Resampling ausgelöst, bevor die zonale Operation ausgeführt wird.
Wenn die Zonen- und Werteingaben jeweils Raster mit derselben Zellengröße sind und die Zellen ausgerichtet sind, werden sie direkt in dem Werkzeug verwendet. Während der Werkzeugverarbeitung wird dann kein internes Resampling durchgeführt.
Wenn für Eingabe-Raster- oder Feature-Zonen-Daten ein Punkt-Feature festgelegt wurde, kann mehr als ein Punkt in einer bestimmten Zelle des Eingabe-Werte-Rasters enthalten sein. Für derartige Zellen wird der Zonenwert durch den Punkt mit dem niedrigsten ObjectID-Feld (z. B. OID oder FID) bestimmt.
Wenn der Wert Eingabe-Raster- oder Feature-Zonen-Daten überlappende Polygone aufweisen, wird die zonale Analyse nicht für jedes einzelne Polygon ausgeführt. Da die Feature-Eingabe in ein Raster konvertiert wird, kann jede Position über nur einen Wert verfügen.
Eine alternative Methode besteht darin, die zonale Operation für jede der Polygonzonen iterativ zu verarbeiten und die Ergebnisse zu sortieren.
Der Wert des Parameters Zonenfeld (zone_field in Python) muss eine ganze Zahl (Datentyp "Integer") oder einen Text (Datentyp "Text") aufweisen.
Bei Angabe des Wertes Eingabe-Raster- oder Feature-Zonen-Daten entspricht das Standard-Zonenfeld dem ersten verfügbaren Ganzzahl- oder Textfeld. Sind keine anderen gültigen Felder vorhanden, wird das ObjectID-Feld als Standardfeld verwendet (z. B. OID oder FID).
Ein Diagramm für ein zonales Histogramm wird nicht standardmäßig generiert. Aktivieren Sie den Parameter Zonen als Zeilen in der Ausgabetabelle (legen Sie für den Parameter zones_as_rows die Option ZONES_AS_ROWS in Python fest), und geben Sie einen Wert für Ausgabe-Diagrammname (Parameter out_graph in Python) an, um das Diagramm zu erstellen. Das Diagramm für ein zonales Histogramm kann nur in der Anwendung ArcGIS AllSource erstellt werden und wird nicht von eigenständigen Skripten unterstützt.
Wenn die Ausgabetabelle durch Deaktivieren des Parameters Zonen als Zeilen in der Ausgabetabelle erstellt wird, enthält das Beschriftungsfeld die Werte aus dem Werte-Raster-Dataset oder den Symbolisierungsbeschriftungen des Layers, je nach dem, wie das Eingabe-Werte-Raster angegeben wird.
Wird die Ausgabetabelle durch Aktivieren des Parameters Zonen als Zeilen in der Ausgabetabelle erstellt, enthält das Beschriftungsfeld die Werte aus dem Zonen-Raster.
Weitere Informationen zu den Geoverarbeitungsumgebungen für dieses Werkzeug finden Sie unter Analyseumgebungen und Spatial Analyst.
Parameter
ZonalHistogram(in_zone_data, zone_field, in_value_raster, out_table, {out_graph}, {zones_as_rows})
Name | Erläuterung | Datentyp |
in_zone_data | Das Dataset, das die Zonen definiert. Die Zonen können durch ein Integer-Raster oder einen Feature-Layer festgelegt werden. | Raster Layer; Feature Layer |
zone_field | Das Feld, das die Werte enthält, die die einzelnen Zonen definieren. Es kann sich dabei um ein Ganzzahl- oder ein Zeichenfolgefeld des Zonen-Datasets handeln. | Field |
in_value_raster | Das Raster mit den Werten, die zum Erstellen des Histogramms verwendet werden. | Raster Layer |
out_table | Die Ausgabetabellendatei. Das Format der Tabelle wird durch das Ausgabeverzeichnis und den Ausgabepfad bestimmt. Standardmäßig handelt es sich bei der Ausgabe um eine Geodatabase-Tabelle in einem Geodatabase-Workspace bzw. um eine dBASE-Tabelle in einem Datei-Workspace. Die optionale Diagrammausgabe wird aus den Informationen in der Tabelle erstellt. | Table |
out_graph (optional) | Der Name des anzuzeigenden Ausgabediagramms. | Graph |
zones_as_rows (optional) | Gibt an, wie die Werte aus dem Eingabe-Werte-Raster in der Ausgabetabelle dargestellt werden.
| Boolean |
Codebeispiel
In diesem Beispiel werden eine .dbf-Tabelle für das zonale Histogramm und eine Diagrammdatei erstellt.
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outZonalHist = ZonalHistogram("zoneras", "zonfield", "valueras", "znhist_tbl.dbf",
"znhist_graphl", "ZONES_AS_ROWS")
In diesem Beispiel wird eine .dbf-Tabelle für das zonale Histogramm erstellt.
# Name: ZonalHistogram_Ex_02.py
# Description: Creates a zonal histogram output table
# showing the amount of value cells
# for each unique input zone.
# Requirements: Spatial Analyst Extension
# Import system modules
import arcpy
from arcpy import env
from arcpy.sa import *
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Set environment settings
env.workspace = "C:/sapyexamples/data"
# Set local variables
inZoneData = "zonras"
zoneField = "zonfield"
inValueRaster = "valueras"
outTable = "C:/sapyexamples/output/zonehist_tb2.dbf"
# Execute ZonalHistogram
ZonalHistogram(inZoneData, zoneField, inValueRaster, outTable)