Zusammenfassung
Berechnet die Werte eines Rasters innerhalb der Zonen eines anderen Datasets und gibt die Ergebnisse in einer Tabelle aus.
Abbildung
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 -Portal mit einem konfigurierten ArcGIS Image Server für die Raster Analysis 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})
Parameter | Erklärung | Datentyp |
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.
| 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.
| 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.
| 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.
| String |
Abgeleitete Ausgabe
Name | Erklärung | Datentyp |
outputTable | Dies ist die Ausgabetabelle. | Feature-Service ohne Geometrie |
Codebeispiel
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')
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)
Umgebungen
Lizenzinformationen
- Basic: Erfordert ArcGIS Image Server
- Standard: Erfordert ArcGIS Image Server
- Advanced: Erfordert ArcGIS Image Server