Mit der Spatial Analyst-Lizenz verfügbar.
Zusammenfassung
Berechnet tabellenübergreifende Flächen zwischen zwei Datasets und gibt eine Tabelle aus.
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 eine der Eingaben als Raster angegeben wird, muss es sich um ein Integer-Raster handeln.
Wenn es sich bei beiden Eingaben um Raster handelt, deren Zellen nicht ausgerichtet sind, wird während der Analyse ein Resampling für die Eingaben durchgeführt. Wenn die Umgebung Fang-Raster nicht explizit angegeben wurde, werden die Zellen mit Eingabe-Raster oder -Feature-Class-Daten (in_class_data in Python) intern ausgerichtet. Wenn beide Raster dieselbe Zellengröße aufweisen und die Zellen ausgerichtet sind, wird kein Resampling durchgeführt.
Wenn es sich bei einem der Eingabe-Datasets um eine Feature-Class handelt, wird sie vor der Analyse intern in ein Raster konvertiert.
Wenn es sich bei den Eingabe-Raster- oder -Feature-Zonen-Daten (in_zone_data in Python) um ein Feature handelt, werden Zonen, bei denen die Zonen-Features keinen der Zellenmittelpunkte des Klassen-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 Punkt- oder Liniendaten als Eingabe-Raster oder -Feature-Class-Daten (in_class_data in Python) verwendet werden, wird die durch diese Features geschnittene Fläche gemeldet.
Wenn die Eingaben überlappende Polygone aufweisen, wird die Analyse nicht für jedes einzelne Polygon im Überlappungsbereich 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.
Beim Festlegen der Eingabezone oder der Klassendaten entspricht das Standardfeld 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).
Die Ausgabe dieses Werkzeugs ist eine Tabelle.
Diese Tabelle enthält:
- Jeweils einen Datensatz für jeden Einzelwert des Zonen-Datasets.
- Jeweils ein Feld für jeden Einzelwert des Klassen-Datasets.
- In jedem Datensatz ist die Fläche jeder Klasse innerhalb jeder Zone gespeichert.
Die Verarbeitungszellengröße kann über einen numerischen Wert definiert oder aus einem vorhandenen Raster-Dataset abgerufen werden. Wird die Zellengröße nicht explizit über den Parameterwert angegeben, wird sie aus der Umgebung Zellengröße abgeleitet, falls diese angegeben wurde. Wenn die Zellengröße nicht im Parameter oder in der Umgebung angegeben wurde, wird die standardmäßige Ausgabezellengröße basierend auf dem Typ des Eingabe-Datasets bestimmt. Dabei wird folgendermaßen vorgegangen:
- Wenn es sich bei dem Eingabe-Dataset um ein Raster handelt, wird die Zellengröße des Datasets verwendet.
- Wenn das Eingabe-Dataset ein Feature ist und die Umgebung Fang-Raster festgelegt wurde, wird die Zellengröße des Fang-Rasters verwendet. Wenn kein Fang-Raster festgelegt wurde, wird die Zellengröße aus der Breite oder Höhe der Ausdehnung (je nachdem was kürzer ist) berechnet, indem der Wert durch 250 dividiert wird. Dabei wird die Ausdehnung in der Umgebung in Ausgabekoordinatensystem angegeben.
Wenn die Zellengröße mit einem numerischen Wert angegeben wird, wird dieser vom Werkzeug direkt für das Ausgabe-Raster verwendet.
Wenn die Zellengröße mit einem Raster-Dataset angegeben wird, zeigt der Parameter anstelle des Zellengrößenwerts den Pfad des Raster-Datasets an. Die Zellengröße dieses Raster-Datasets wird direkt in der Analyse verwendet, vorausgesetzt der Raumbezug stimmt mit dem Ausgabe-Raumbezug überein. Wenn der Raumbezug des Datasets nicht mit dem Ausgabe-Raumbezug übereinstimmt, wird er basierend auf der ausgewählten Projektionsmethode für Zellengröße projiziert.
Weitere Informationen zur Geoverarbeitung von Umgebungen mit diesem Werkzeug finden Sie unter Analyseumgebungen und Spatial Analyst.
Syntax
TabulateArea(in_zone_data, zone_field, in_class_data, class_field, out_table, {processing_cell_size})
Parameter | Erklärung | Datentyp |
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_class_data | Das Dataset, das die Klassen definiert, deren Fläche in den einzelnen Zonen zusammengefasst wird. Die Klasseneingabe kann ein Integer-Raster-Layer oder ein Feature-Layer sein. | Raster Layer; Feature Layer |
class_field | Das Feld, das die Klassenwerte enthält. Es kann sich dabei um ein ganzzahliges Feld oder ein Zeichenfolgefeld der Eingabeklassendaten handeln. | Field |
out_table | Ausgabetabelle, die die Zusammenfassung der Fläche jeder Klasse 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 |
processing_cell_size (optional) | Die Zellengröße des Ausgabe-Rasters, das erstellt wird. Dieser Parameter kann über einen numerischen Wert definiert oder aus einem vorhandenen Raster-Dataset abgerufen werden. Wenn die Zellengröße nicht explizit als Parameterwert angegeben wurde, wird der Zellengrößenwert der Umgebung verwendet, sofern dieser angegeben wurde. Andernfalls werden zusätzliche Regeln verwendet, um ihn aus anderen Eingaben zu berechnen. Weitere Informationen finden Sie in den Verwendungsmöglichkeiten. | Analysis Cell Size |
Codebeispiel
TabulateArea – Beispiel 1 (Python-Fenster)
In diesem Beispiel wird eine Tabelle mit der Fläche jedes Klassenwertes zurückgegeben, der innerhalb jeder Zone enthalten ist.
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
TabulateArea("zonedata.shp", "IDStr", "valueraster", "VALUE",
"C:/sapyexamples/output/areatable.dbf", 2)
TabulateArea – Beispiel 2 (eigenständiges Skript)
In diesem Beispiel wird eine Tabelle mit der Fläche jedes Klassenwertes zurückgegeben, der innerhalb jeder Zone enthalten ist.
# Name: TabulateArea_Ex_02.py
# Description: Calculates cross tabulated areas between two datasets.
# 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"
env.extent = "classgrid"
env.snapRaster = "classgrid"
# Set local variables
inZoneData = "zonedata.shp"
zoneField = "IDStr"
inClassData = "valueraster"
classField = "VALUE"
outTable = "C:/sapyexamples/output/areatable02.dbf"
processingCellSize = 2
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute TabulateArea
TabulateArea(inZoneData, zoneField, inClassData, classField, outTable,
processingCellSize)
Umgebungen
Lizenzinformationen
- Basic: Erfordert Spatial Analyst
- Standard: Erfordert Spatial Analyst
- Advanced: Erfordert Spatial Analyst