面积制表 (空间分析)

摘要

计算两个数据集之间交叉制表的区域并输出表。

插图

Tabulate Area illustration
TabulateArea(ZoneRas, "VALUE", ClassRas, "VALUE", Tabarea1.dbf, 1)

用法

语法

TabulateArea (in_zone_data, zone_field, in_class_data, class_field, out_table, {processing_cell_size})
参数说明数据类型
in_zone_data

定义区域的数据集。

可通过整型栅格或要素图层来定义区域。

Raster Layer | Feature Layer
zone_field

保存定义每个区域的值的字段。

该字段可以是区域数据集的整型字段或字符串型字段。

Field
in_class_data

定义类的数据集将在各个区域内对类的面积进行汇总。

类输入可以是整型栅格图层或要素图层。

Raster Layer | Feature Layer
class_field

用于保存类值的字段。

该字段可以是输入类数据的整型或字符串型字段。

Field
out_table

将包含各区域中各个类面积的汇总的输出表。

Table
processing_cell_size
(可选)

用于分区操作的处理像元大小。

如果专门进行设置,则是环境中的值。如果未设置环境,则默认的像元大小将由区域数据类型确定,如下所示:

  • 如果区域数据集为栅格,则像元大小将与区域栅格相同。
  • 如果区域数据集为要素,则像元大小为输出空间参考中区域要素数据集范围的宽度或高度较小值除以 250。

Analysis Cell Size

代码示例

面积制表 (TabulateArea) 示例 1(Python 窗口)

本例返回包含各区域中各个类值面积的表。

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 示例 2(独立脚本)

本例返回包含各区域中各个类值面积的表。

# 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)

环境

相关主题

许可信息

ArcView: 需要 Spatial Analyst
ArcEditor: 需要 Spatial Analyst
ArcInfo: 需要 Spatial Analyst

7/10/2012