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, das die Werte enthält, für die eine Statistik berechnet wird. | Raster Layer |
Ausgabetabelle | Die Ausgabetabelle, in der die Zusammenfassung der Werte in jeder Zone enthalten sein sollen. 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. | Table |
NoData-Werte in Berechnungen ignorieren (optional) | Gibt an, ob NoData-Werte in der Werteingabe in den Ergebnissen der Zone, in der sie liegen, ignoriert werden.
| Boolean |
Statistiktyp (optional) | Gibt den zu berechnenden Statistiktyp an.
| String |
Als multidimensional verarbeiten (optional) | Gibt an, wie die Eingabe-Raster berechnet werden, wenn sie multidimensional sind.
| Boolean |
Perzentilwerte (optional) | Das Perzentil wird berechnet. Der Standardwert ist 90 und steht für das 90. Perzentil. Zulässige Werte können zwischen 0 und 100 liegen. Grundsätzlich entspricht der Perzentilwert 0 statistisch gesehen dem Minimum und der Perzentilwert 100 dem Maximum. Der Wert 50 ergibt im Wesentlichen dasselbe Ergebnis wie der Medianwert der Statistik. Dieser Parameter ist nur verfügbar, wenn für den Parameter Statistiktyp die Option Perzentil oder Alle festgelegt wurde. | Double |
Perzentil-Interpolationstyp (optional) | Gibt die Interpolationsmethode an, die verwendet wird, wenn der Perzentilwert zwischen zwei Zellenwerte aus dem Eingabe-Werte-Raster fällt.
| String |
Zirkuläre Statistiken berechnen (optional) | Gibt an, wie das Eingabe-Raster für zirkuläre Daten verarbeitet wird.
| Boolean |
Umbruchwert für Verteilung auf Einheitskreis (optional) | Der Wert, der verwendet wird, um einen linearen Wert auf den Bereich einer bestimmten zirkulären Statistik zu runden. Der Wert muss als positive Ganzzahl oder als Gleitkommawert vorliegen. Der Standardwert beträgt 360 Grad. Dieser Parameter wird nur unterstützt, wenn der Parameter Zirkuläre Statistiken berechnen aktiviert ist. | Double |
Ausgabe-Join-Layer (optional) | Der Ausgabe-Layer, der durch Verbinden der Ausgabetabelle mit den Eingabezonendaten erstellt werden soll. | Raster Layer; Feature Layer |
Zusammenfassung
Summiert die Werte eines Rasters innerhalb der Zonen eines anderen Datasets und gibt die Ergebnisse als Tabelle aus.
Weitere Informationen zur Funktionsweise der Werkzeuge für Zonenstatistiken
Abbildung
Verwendung
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 es sich bei den Eingabe-Raster- oder Feature-Zonen-Daten um ein Feature handelt, werden Zonen, bei denen die Zonen-Features keinen der Zellenmittelpunkte des Werte-Rasters überlappen, nicht in das interne Zonen-Raster konvertiert. Diese Zonen sind daher nicht in der Ausgabe dargestellt. Dies können Sie verwalten, indem Sie einen angemessenen Wert für die Umgebung "Zellengröße" festlegen, wodurch die gewünschte Detaillierungsebene der Feature-Zonen beibehalten werden kann. Geben Sie dies in der Analyseumgebung an.
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 die Eingabe-Raster- oder -Feature-Zonen-Daten überlappende Features aufweisen, wird die zonale Analyse für jedes einzelne Feature durchgeführt.
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).
Der unterstützte Statistikwert hängt von dem Datentyp des Wertes für Eingabe-Werte-Raster und dem Typ der Statistikberechnung ab, der durch den Parameter Zirkuläre Statistiken berechnen angegeben wird.
Wenn der Datentyp "Integer" ist, unterstützt die Berechnung von arithmetischen Statistiken die Optionen Mittelwert, Mehrheit, Mehrheit als Anzahl, Mehrheit als Prozentsatz, Maximum, Medianwert, Minimum, Minderheit, Minderheit als Anzahl, Minderheit als Prozentsatz, Perzentil, Bereich, Standardabweichung, Summe und Varianz. Die Berechnung von zirkulären Statistiken unterstützt die Optionen Mittelwert, Mehrheit, Minderheit, Standardabweichung und Varianz.
Wenn der Datentyp "Float" ist, unterstützt die Berechnung von arithmetischen Statistiken die Optionen Mittelwert, Maximum, Medianwert, Minimum, Perzentil, Bereich, Standardabweichung und Summe. Die Berechnung von zirkulären Statistiken unterstützt die Optionen Mittelwert und Standardabweichung.
Bei Mehrheits- und Minderheitsberechnungen wird bei einem Gleichstand der niedrigste der beiden Werte ausgegeben.
Aktivieren Sie zur Berechnung von zirkulären Statistiken den Parameter Zirkuläre Statistiken berechnen (circular_calculation = "CIRCULAR" in Python), und geben Sie einen Wert für den Parameter Umbruchwert für Verteilung auf Einheitskreis (circular_wrap_value in Python) an.
Zu den unterstützten Typen von multidimensionalen Raster-Datasets zählen multidimensionale Raster-Layer, Mosaik, Image-Service und das Cloud-Raster-Format (CRF) von Esri.
Je nach der Einstellung des Parameters Statistiktyp (statisticType in Python) wird ein Feld oder eine Reihe von Feldern in der Ausgabetabelle erstellt.
Für die Berechnung von arithmetischen Statistiken ist der Name des Feldes mit dem Statistiktyp identisch. Dies ist die Standardeinstellung.
Für die Berechnung von zirkulären Statistiken beginnt der Name des Feldes mit C_ und der angegebenen Statistik. Zum Beispiel wird für die arithmetische Statistik "Medianwert" der Feldname Median und für die zirkuläre Statistik "Medianwert" der Feldname C_Median verwendet.
Der Datentyp für jeden Wert der Elemente in der Ausgabetabelle ist abhängig von der zonalen Berechnung, die durchgeführt wird. Unter Funktionsweise der Werkzeuge für Zonenstatistiken finden Sie Informationen zum konkreten Verhalten einer Statistik.
Die Anzahl der Zeilen in der Ausgabetabelle entspricht der Anzahl der Zonen.
Dieses Werkzeug verwendet standardmäßig Mehrkernprozessoren, wenn diese verfügbar sind. Es können maximal vier Kerne verwendet werden.
Wenn Sie weniger Kerne verwenden möchten, verwenden Sie die Umgebungseinstellung Faktor für parallele Verarbeitung.
Weitere Informationen zu den Geoverarbeitungsumgebungen für dieses Werkzeug finden Sie unter Analyseumgebungen und Spatial Analyst.
Parameter
ZonalStatisticsAsTable(in_zone_data, zone_field, in_value_raster, out_table, {ignore_nodata}, {statistics_type}, {process_as_multidimensional}, {percentile_values}, {percentile_interpolation_type}, {circular_calculation}, {circular_wrap_value}, {out_join_layer})
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, das die Werte enthält, für die eine Statistik berechnet wird. | Raster Layer |
out_table | Die Ausgabetabelle, in der die Zusammenfassung der Werte in jeder Zone enthalten sein sollen. 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. | Table |
ignore_nodata (optional) | Gibt an, ob NoData-Werte in der Werteingabe in den Ergebnissen der Zone, in der sie liegen, ignoriert werden.
| Boolean |
statistics_type (optional) | Gibt den zu berechnenden Statistiktyp an.
| String |
process_as_multidimensional (optional) | Gibt an, wie die Eingabe-Raster berechnet werden, wenn sie multidimensional sind.
| Boolean |
percentile_values [percentile_values,...] (optional) | Das Perzentil wird berechnet. Der Standardwert ist 90 und steht für das 90. Perzentil. Zulässige Werte können zwischen 0 und 100 liegen. Grundsätzlich entspricht der Perzentilwert 0 statistisch gesehen dem Minimum und der Perzentilwert 100 dem Maximum. Der Wert 50 ergibt im Wesentlichen dasselbe Ergebnis wie der Medianwert der Statistik. Dieser Parameter wird nur unterstützt, wenn der Parameter statistics_type auf PERCENTILE oder ALL festgelegt wurde. | Double |
percentile_interpolation_type (optional) | Gibt die Interpolationsmethode an, die verwendet wird, wenn der Perzentilwert zwischen zwei Zellenwerte aus dem Eingabe-Werte-Raster fällt.
| String |
circular_calculation (optional) | Gibt an, wie das Eingabe-Raster für zirkuläre Daten verarbeitet wird.
| Boolean |
circular_wrap_value (optional) | Der Wert, der verwendet wird, um einen linearen Wert auf den Bereich einer bestimmten zirkulären Statistik zu runden. Der Wert muss als positive Ganzzahl oder als Gleitkommawert vorliegen. Der Standardwert beträgt 360 Grad. Dieser Parameter wird nur unterstützt, wenn der Parameter circular_calculation auf CIRCULAR festgelegt wurde. | Double |
out_join_layer (optional) | Der Ausgabe-Layer, der durch Verbinden der Ausgabetabelle mit den Eingabezonendaten erstellt werden soll. | Raster Layer; Feature Layer |
Codebeispiel
In diesem Beispiel werden die Werte eines Rasters innerhalb der von einem Polygon-Shapefile definierten Zonen zusammengefasst und die Ergebnisse in einer Tabelle aufgezeichnet.
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outZSaT = ZonalStatisticsAsTable("zones.shp", "Classes", "valueforzone",
"zonalstattblout", "NODATA", "SUM")
In diesem Beispiel werden die Werte eines Rasters innerhalb der von einem Polygon-Shapefile definierten Zonen zusammengefasst und die Ergebnisse in einer Tabelle aufgezeichnet.
# Name: ZonalStatisticsAsTable_Ex_02.py
# Description: Summarizes values of a raster within the zones of
# another dataset and reports the results to a table.
# 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
inZoneData = "zones.shp"
zoneField = "Classes"
inValueRaster = "valueforzone"
outTable = "zonalstattblout02.dbf"
# Execute ZonalStatisticsAsTable
outZSaT = ZonalStatisticsAsTable(inZoneData, zoneField, inValueRaster,
outTable, "NODATA", "MEAN")