Flächentabellen erstellen (Spatial Analyst)

Zusammenfassung

Berechnet tabellenübergreifende Flächen zwischen zwei Datasets und gibt eine Tabelle aus.

Abbildung

Abbildung: Flächentabellen erstellen
TabulateArea(ZoneRas, "VALUE", ClassRas, "VALUE", Tabarea1.dbf, 1)

Verwendung

Syntax

TabulateArea (in_zone_data, zone_field, in_class_data, class_field, out_table, {processing_cell_size})
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_class_data

Das Dataset, das die Klassen definiert, deren Fläche in den einzelnen Zonen zusammengefasst wird.

Die Klasseneingabe kann ein Ganzzahl-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 Ganzzahlfeld oder ein Zeichenfolgefeld der Eingabeklassendaten handeln.

Field
out_table

Ausgabetabelle, die die Zusammenfassung der Fläche jeder Klasse in jeder Zone enthält.

Table
processing_cell_size
(optional)

Die Verarbeitungszellengröße für den zonalen Vorgang.

Dies ist der Wert in der Umgebung, wenn dieser ausdrücklich festgelegt wurde. Wenn die Umgebungsvariable nicht festgelegt wird, wird die Standardeinstellung für die Zellengröße wie folgt anhand des Typs der Zonendaten bestimmt:

  • Wenn das Zonen-Dataset ein Raster ist, ist die Zellengröße die gleiche wie die des Zonen-Rasters.
  • Wenn das Zonen-Dataset ein Feature ist, entspricht die Zellengröße der Breite oder Höhe (der kleinere Wert von beiden) der Ausdehnung des Zonen-Feature-Datasets im Ausgabe-Raumbezug dividiert durch 250.

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

Verwandte Themen

Lizenzinformationen

ArcView: Erfordert Spatial Analyst
ArcEditor: Erfordert Spatial Analyst
ArcInfo: Erfordert Spatial Analyst

7/10/2012