Skip To Content

Zonale Statistiken als Tabelle

Mit der Spatial Analyst-Lizenz verfügbar.

Zusammenfassung

Summiert die Werte eines Rasters innerhalb der Zonen eines anderen Datasets und gibt die Ergebnisse in einer Tabelle aus.

Weitere Informationen zur Funktionsweise des Werkzeugs "Zonale Statistiken"

Abbildung

Abbildung "Zonale Statistiken als Tabelle"
ZonalStatisticsAsTable(ZoneRas, "Value", ValRas, OutTable, "ALL")

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.

  • Bei Abweichungen der Zellengröße zwischen den Eingabe-Raster- oder -Feature-Zonen-Daten (in_zone_data in Python) und dem Eingabe-Werte-Raster (in_value_raster in Python) 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-Werte-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 Werkzeugausführung wird dann kein internes Resampling durchgeführt.

  • Wenn es sich bei den Eingabe-Raster- oder -Feature-Zonen-Daten (in_zone_data in Python) um ein Raster handelt, muss dies ein Integer-Raster sein.

  • Wenn die Eingabe-Raster- oder -Feature-Zonen-Daten (in_zone_data in Python) 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.

  • Wenn die Eingabe-Raster- oder -Feature-Zonen-Daten (in_zone_data in Python) ein Punkt-Feature sind, ist es möglich, dass eine bestimmte Zelle des Eingabe-Werte-Rasters mehr als einen Punkt enthält. 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 (in_zone_data in Python) ü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.

  • Bei Angabe der Eingabe-Raster- oder -Feature-Zonen-Daten (in_zone_data in Python) 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).

  • Das Eingabe-Werte-Raster (in_value_raster in Python) kann entweder ein Ganzzahl- oder ein Gleitkomma-Raster sein. Bei Gleitkomma-Rastern sind jedoch die Optionen für die Berechnung von Mehrheit, Medianwert, Minderheit und Varianz nicht verfügbar.

  • Wenn es bei Mehrheits- und Minderheitsberechnungen zu einem Gleichstand kommt, basiert die Ausgabe für die Zone auf dem niedrigsten der verbundenen Werte. Weitere Informationen finden Sie im Abschnitt Funktionsweise von "Zonale Statistiken".

  • Ein Feld oder eine Reihe von Feldern wird in der Ausgabetabelle erstellt, abhängig von der Einstellung für Statistiktyp. Wenn die Werteingabe ganzzahlig ist, stehen sämtliche Statistiken (Minimum, Maximum, Bereich, Mittelwert, Standardabweichung, Summe, Varianz, Mehrheit, Minderheit und Medianwert) zur Berechnung zur Verfügung. Bei einer Eingabe in Form von Gleitkommawerten werden die Statistiken für "Mehrheit", "Minderheit", "Medianwert" und "Varianz" nicht berechnet.

  • Der Datentyp für jeden Wert unter den Elementen in der Ausgabetabelle ist abhängig von der zonalen Berechnung, die durchgeführt wird. Unter Funktionsweise von "Zonale Statistiken" finden Sie Informationen zum konkreten Verhalten der einzelnen Statistiken.

  • Die Anzahl der Zeilen in der Ausgabetabelle entspricht der Anzahl der Zonen.

  • Dieses Werkzeug nutzt standardmäßig Mehrkernprozessoren. Die maximale Anzahl der nutzbaren Kerne ist auf vier beschränkt.

    Wenn das Werkzeug weniger Kerne nutzen soll, verwenden Sie die Umgebungseinstellung Faktor für parallele Verarbeitung.

  • Weitere Informationen zur Geoverarbeitung von Umgebungen mit diesem Werkzeug finden Sie unter Analyseumgebungen und Spatial Analyst.

Syntax

ZonalStatisticsAsTable (in_zone_data, zone_field, in_value_raster, out_table, {ignore_nodata}, {statistics_type})
ParameterErläuterungDatentyp
in_zone_data

Das Dataset, das die Zonen definiert.

Die Zonen können durch ein Ganzzahl-Raster oder einen Feature-Layer definiert werden.

Raster Layer; Feature Layer
zone_field

Feld mit den Werten, die jede Zone definieren.

Es kann sich dabei um ein Ganzzahl- oder ein Zeichenfolgefeld des Zonen-Datasets handeln.

Field
in_value_raster

Raster, das die Werte für die Berechnung der Statistik enthält.

Raster Layer
out_table

Ausgabetabelle, die die Zusammenfassung der Werte in jeder Zone enthält.

Das Format der Tabelle wird durch das Ausgabeverzeichnis und den Ausgabepfad bestimmt. Die Ausgabe ist standardmäßig eine Geodatabase-Tabelle. Wenn der Pfad sich nicht in einer Geodatabase befindet, wird das Format durch die Erweiterung bestimmt. Wenn die Erweiterung .dbf lautet, erfolgt die Ausgabe im dBASE-Format. Wenn keine Ausdehnung angegeben wird, erfolgt die Ausgabe in einer INFO-Tabelle.

Table
ignore_nodata
(optional)

Gibt an, ob sich NoData-Werte in der Werteingabe auf die Ergebnisse der Zone auswirken, in der sie liegen.

  • DATAInnerhalb einer bestimmten Zone werden nur Zellen, die über einen Wert im Eingabe-Werte-Raster verfügen, verwendet, um den Ausgabewert für diese Zone zu bestimmen. NoData-Zellen im Werte-Raster werden bei der Statistikberechnung ignoriert. Dies ist die Standardeinstellung.
  • NODATAWenn innerhalb einer bestimmten Zone NoData-Zellen im Werte-Raster vorhanden sind, wird davon ausgegangen, dass nicht genügend Informationen vorhanden sind, um statistische Berechnungen für alle Zellen in dieser Zone durchzuführen. Aus diesem Grund erhält die gesamte Zone im Ausgabe-Raster den Wert "NoData".
Boolean
statistics_type
(optional)

Zu berechnender Statistiktyp.

  • ALLEs werden alle Statistikwerte berechnet. Dies ist die Standardeinstellung.
  • MEANBerechnet den Durchschnitt aller Zellen im Wert-Raster, die zur selben Zone gehören wie die Ausgabezelle.
  • MAJORITYErmittelt den am häufigsten vorkommenden Wert aus allen Zellen im Wert-Raster, die zur selben Zone gehören wie die Ausgabezelle.
  • MAXIMUMErmittelt den größten Wert aus allen Zellen im Wert-Raster, die zur selben Zone gehören wie die Ausgabezelle.
  • MEDIANErmittelt den Medianwert aus allen Zellen im Wert-Raster, die zur selben Zone gehören wie die Ausgabezelle.
  • MINIMUMErmittelt den kleinsten Wert aus allen Zellen im Wert-Raster, die zur selben Zone gehören wie die Ausgabezelle.
  • MINORITYErmittelt den am seltensten vorkommenden Wert aller Zellen im Wert-Raster, die zur selben Zone gehören wie die Ausgabezelle.
  • RANGEBerechnet die Differenz zwischen dem größten und kleinsten Wert aus allen Zellen im Wert-Raster, die zur selben Zone gehören wie die Ausgabezelle.
  • STDBerechnet die Standardabweichung aller Zellen im Wert-Raster, die zur selben Zone gehören wie die Ausgabezelle.
  • SUMBerechnet den Gesamtwert aller Zellen im Wert-Raster, die zur selben Zone gehören wie die Ausgabezelle.
  • VARIETYBerechnet die Anzahl der eindeutigen Werte für alle Zellen im Wert-Raster, die zur selben Zone gehören wie die Ausgabezelle.
  • MIN_MAXMinimum- und Maximum-Statistiken werden berechnet.
  • MEAN_STDDie Statistiken "Mittelwert" und "Standardabweichung" werden berechnet.
  • MIN_MAX_MEANDie Statistiken "Minimum", "Maximum" und "Mittelwert" werden berechnet.
String

Codebeispiel

ZonalStatisticsAsTable – Beispiel 1 (Python-Fenster)

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")
ZonalStatisticsAsTable – Beispiel 2 (eigenständiges Skript)

In diesem Beispiel werden die Werte eines Rasters innerhalb der von einem Polygon-Shapefile definierten Zonen zusammengefasst und die Ergebnisse in einer .dbf-Datei 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")

Lizenzinformationen

  • ArcGIS Desktop Basic: Erfordert Spatial Analyst
  • ArcGIS Desktop Standard: Erfordert Spatial Analyst
  • ArcGIS Desktop Advanced: Erfordert Spatial Analyst

Verwandte Themen