Zonale Statistiken als Tabelle (Raster Analysis)

Zusammenfassung

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

Abbildung

Zonale Statistiken als Tabelle (Werkzeugbild)

Verwendung

  • Eine Zone wird durch alle Flächen in der Eingabe mit demselben Wert definiert. Die Flächen müssen nicht zusammenhängend sein. Sowohl Raster als auch Features können als Zoneneingabe verwendet werden.

  • Dieses Portal-Werkzeug für die Raster-Analyse ist verfügbar, wenn Sie bei einem ArcGIS Enterprise Link zur Erläuterung der Analyse in ArcGIS Enterprise-Portal mit einem konfigurierten ArcGIS Image Server Link zu "Was ist ArcGIS Image Server?" für die Raster Analysis Link zu "Konfigurieren und Bereitstellen von Raster-Analysen" angemeldet sind. Beim Aufruf des Werkzeugs dient ArcGIS Pro als Client. Die Verarbeitung erfolgt auf den Servern, die mit ArcGIS Enterprise verbunden sind. Das Portal-Werkzeug akzeptiert Layer aus dem Portal als Eingabe und erstellt die Ausgabe im Portal.

    Als Eingabe-Raster-Layer kann ein Layer aus dem Portal, ein URI bzw. eine URL zu einem Image-Service oder die Ausgabe des Werkzeugs Image Server-Layer erstellen verwendet werden. Bei dem Eingabe-Feature-Layer kann es sich um einen Layer aus dem Portal oder ein URI bzw. eine URL zu einem Feature-Service handeln. Lokale Raster-Daten oder -Layer werden von diesem Werkzeug nicht unterstützt. Obwohl Sie lokale Feature-Daten und Layer als Eingabe für dieses Portal verwenden können, empfiehlt es sich, Layer aus Ihrem Portal als Eingabe zu nutzen.

  • Wenn es sich bei der Eingabe unter Eingabe-Zonen-Raster oder -Features (inputZoneRasterOrFeatures in Python) um ein Raster handelt, muss dies ein Integer-Raster sein.

    Wenn die Zone ein Feature ist, wird sie intern in ein Raster konvertiert, wobei die Zellengröße und die Zellenausrichtung aus dem Eingabe-Werte-Raster (inputValueRaster in Python) verwendet werden.

  • Bei Abweichungen der Zellengröße zwischen Eingabe-Zonen-Raster oder -Features und dem Eingabe-Werte-Raster entspricht die Ausgabezellengröße dem Maximum der Eingabedaten. In diesem Fall wird der Image-Service des Werte-Rasters intern als Fang-Raster verwendet. Wenn die Zellengröße übereinstimmt, die Zellen jedoch nicht ausgerichtet sind, wird das 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 Werkzeugausführung wird dann kein internes Resampling durchgeführt.

  • Wenn es sich bei Eingabe-Zonen-Raster oder -Features um ein Feature handelt, werden Zonen, bei denen die Zonen-Features mit keinem 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. Die Angabe einer kleineren Zellengröße hat ein größeres Ausgabe-Raster zur Folge. Die Ausgabe in einer höheren Auflösung ergibt nicht zwangsläufig ein qualitativ so hochwertiges Ergebnis wie gedacht, da das zusätzliche Detail tatsächlich nicht im Eingabe-Werte-Raster vorhanden ist.

  • Wenn Eingabe-Zonen-Raster oder -Features überlappende Features aufweist, wird die Zonenanalyse für jedes einzelne Feature ausgeführt.

  • Wenn es sich bei dem Eingabe-Zonen-Raster oder den -Features um ein Punkt-Feature handelt, 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.

  • Beim Festlegen des Werts unter Eingabe-Zonen-Raster oder -Features 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 kann entweder ein Ganzzahl- oder ein Gleitkomma-Raster sein. Bei Gleitkomma-Rastern sind jedoch die Optionen für die Berechnung von Mehrheit, 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.

  • Ein Feld oder eine Reihe von Feldern wird in der Ausgabetabelle erstellt, abhängig von der Einstellung für den Parameter Statistiktyp (statisticType in Python). Die Anzahl der Zeilen in der Ausgabetabelle stellt die Anzahl der Zonen dar.

Syntax

arcpy.ra.ZonalStatisticsAsTable(inputZoneRasterOrFeatures, inputValueRaster, outputTableName, zoneField, {ignoreNodata}, {statisticType}, {percentileValues}, {processAsMultidimensional}, {percentileInterpolationType})
ParameterErklärungDatentyp
inputZoneRasterOrFeatures

Die Eingabe, die die Zonen definiert.

Sowohl Raster- als auch Feature-Daten können als Zoneneingabe verwendet werden.

Raster Layer; Feature Layer
inputValueRaster

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

Raster Layer
outputTableName

Der Name der Ausgabetabelle.

Wenn die Tabelle bereits vorhanden ist, werden Sie aufgefordert, einen anderen Namen einzugeben.

String
zoneField

Das Feld, das jede Zone definiert.

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

String
ignoreNodata
(optional)

Gibt an, ob NoData-Werte in der Werteingabe in den Ergebnissen der Zone, in der sie liegen, ignoriert werden.

  • 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 es in einer bestimmten Zone NoData-Zellen im Wert-Raster gibt, werden diese nicht ignoriert. Ihr Vorhandensein weist darauf hin, dass es nicht genügend Informationen zum Durchführen statistischer Berechnungen für alle Zellen in der Zone gibt. Entsprechend erhält die gesamte Zone den NoData-Wert für das Ausgabe-Raster.
Boolean
statisticType
(optional)

Gibt den zu berechnenden Statistiktyp an.

Wenn das Wert-Raster ganze Zahlen enthält, sind folgende Optionen verfügbar: Alle, Durchschnitt, Mehrheit, Maximum, Medianwert, Minimum, Minderheit, Perzentil, Bereich, Standardabweichung, Summe, Varianz, Minimum und Maximum, Mittelwert und Standardabweichung und Minimum, Maximum und Mittelwert.

Wenn das Wert-Raster Gleitkommazahlen enthält, sind folgende Optionen verfügbar: Alle, Durchschnitt, Maximum, Medianwert, Perzentil, Minimum, Bereich, Standardabweichung und Summe.

  • ALLAlle Statistiken werden für ein ganzzahliges Wert-Raster berechnet. Alle Statistiken mit Ausnahme von Medianwert und Perzentil werden für ein Gleitkomma-Wert-Raster berechnet. Dies ist die Standardeinstellung.
  • MEANDer Mittelwert aus allen Zellen im zusammenzufassenden Raster-Layer, die zur selben Zone gehören wie die Ausgabezelle, wird berechnet.
  • MAJORITYDer am häufigsten vorkommende Wert aus allen Zellen im zusammenzufassenden Raster-Layer, die zur selben Zone gehören wie die Ausgabezelle, wird berechnet.
  • MAXIMUMDer Gesamtwert aus allen Zellen im zusammenzufassenden Raster-Layer, die zur selben Zone gehören wie die Ausgabezelle, wird berechnet.
  • MEDIANDer Medianwert aus allen Zellen im zusammenzufassenden Raster-Layer, die zur selben Zone gehören wie die Ausgabezelle, wird berechnet.
  • MINIMUMDer kleinste Wert aus allen Zellen im zusammenzufassenden Raster-Layer, die zur selben Zone gehören wie die Ausgabezelle, wird berechnet.
  • MINORITYDer am seltensten vorkommende Wert aus allen Zellen im zusammenzufassenden Raster-Layer, die zur selben Zone gehören wie die Ausgabezelle, wird berechnet.
  • PERCENTILEDas Perzentil aller Zellen im Wert-Raster, die zur selben Zone gehören wie die Ausgabezelle, wird berechnet. Standardmäßig wird das 90. Perzentil berechnet. Sie können andere Werte (von 0 bis 100) mit dem Parameter Perzentilwerte angeben.
  • RANGEDie Differenz zwischen dem größten und kleinsten Wert aus allen Zellen im zusammenzufassenden Raster-Layer, die zur selben Zone gehören wie die Ausgabezelle, wird berechnet.
  • STDDie Standardabweichung aus allen Zellen im zusammenzufassenden Raster-Layer, die zur selben Zone gehören wie die Ausgabezelle, wird berechnet.
  • SUMDer Gesamtwert aus allen Zellen im zusammenzufassenden Raster-Layer, die zur selben Zone gehören wie die Ausgabezelle, wird berechnet.
  • VARIETYDie Anzahl der eindeutigen Werte für alle Zellen im zusammenzufassenden Raster-Layer, die zur selben Zone gehören wie die Ausgabezelle, wird berechnet.
  • MIN_MAXDie Statistiken "Minimum" und "Maximum" werden berechnet.
  • MEAN_STDDie Statistiken "Mittelwert" und "Standardabweichung" werden berechnet.
  • MIN_MAX_MEANDie Statistiken "Minimum", "Maximum" und "Mittelwert" werden berechnet.
String
percentileValues
[percentileValues,...]
(optional)

Das zu berechnende Perzentil. 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.

Diese Option ist nur verfügbar, wenn für den Parameter statisticType die Option PERCENTILE oder ALL festgelegt wurde.

Double
processAsMultidimensional
(optional)

Gibt an, wie die Eingabe-Werte-Raster verarbeitet werden, wenn sie multidimensional sind.

  • CURRENT_SLICEStatistiken werden anhand des aktuellen Segments eines mehrdimensionalen Eingabe-Datasets berechnet. Dies ist die Standardeinstellung.
  • ALL_SLICESStatistiken werden für alle Dimensionen des multidimensionalen Eingabe-Datasets berechnet.
Boolean
percentileInterpolationType
(optional)

Gibt die Perzentil-Interpolationsmethode an, die verwendet werden soll, wenn die Anzahl der Werte aus dem zu berechnenden Eingabe-Raster gerade ist.

  • AUTO_DETECTWeist das Eingabe-Werte-Raster einen ganzzahligen Pixeltyp auf, wird die Methode NEAREST verwendet. Weist das Eingabe-Werte-Raster einen Gleitkomma-Pixeltyp auf, wird die Methode LINEAR verwendet. Dies ist die Standardeinstellung.
  • NEARESTEs wird der dem gewünschten Perzentil am nächsten liegende verfügbare Wert verwendet.
  • LINEAREs wird der gewichtete Durchschnitt der beiden umgebenden Werte aus dem gewünschten Perzentil verwendet.
String

Abgeleitete Ausgabe

NameErklärungDatentyp
outputTable

Dies ist die Ausgabetabelle.

Feature-Service ohne Geometrie

Codebeispiel

ZonalStatisticsAsTable – Beispiel 1 (Python-Fenster)

In diesem Beispiel wird für jede Zone der Mittelwert von Zellwerten im Raster-Layer bestimmt, der zusammengefasst werden soll.

import arcpy
arcpy.ra.ZonalStatisticsAsTable('https://MyPortal.esri.com/server/rest/services/Hosted/landuse/ImageServer',
                           	'https://MyPortal.esri.com/server/rest/services/Hosted/elevation/ImageServer',
    				'outTable', 'Landuse', '', 'MEAN')
ZonalStatisticsAsTable – Beispiel 2 (eigenständiges Skript)

In diesem Beispiel werden für jede Zone die Statistikwerte im Raster-Layer bestimmt, der zusammengefasst werden soll.

#-------------------------------------------------------------------------------
# Name: ZonalStatisticsAsTable_Ex_02.py
# Description: Calculates all statistics with defined percentile values  
#              for sea-surface temperature defined by ecological zones.
# Requirements: ArcGIS Image Server

# Import system modules
import arcpy

# Set local variables
inputZoneRasterOrFeatures = 'https://MyPortal.esri.com/server/rest/services/Hosted/zones/ImageServer'
inputValueRaster = 'https://MyPortal.esri.com/server/rest/services/Hosted/seaSurfaceTemperature/ImageServer'
outputTableName = 'outZSAT'
zoneField = 'temperature'
ignoreNodata = '' 
statisticType = 'PERCENTILE'
percentileValues = [25,75,90]
processAsMultidimensional = 'ALL_SLICES'
percentileInterpolationType = 'NEAREST'

# Execute Multidimensional Zonal Statistics as Table
arcpy.ra.ZonalStatisticsAsTable(inputZoneRasterOrFeatures, inputValueRaster, outputTableName, zoneField,
                                ignoreNodata, statisticType, percentileValues, processAsMultidimensional, 
                                percentileInterpolationType)

Lizenzinformationen

  • Basic: Erfordert ArcGIS Image Server
  • Standard: Erfordert ArcGIS Image Server
  • Advanced: Erfordert ArcGIS Image Server

Verwandte Themen