需要 Spatial Analyst 许可。
摘要
为数据集中的各个区域计算几何测量值(面积、周长、厚度和椭圆的特征值)并以表的形式来显示结果。
插图
VALUE AREA PERIMETER THICKNESS XCENTROID YCENTROID MAJORAXIS MINORAXIS ORIENTATION 0 5.0 14.0 0.5 2.300 2.100 2.338 0.681 60.714 1 5.0 14.0 0.5 1.900 2.100 2.668 0.596 126.061 2 3.0 8.0 0.5 3.167 2.167 1.286 0.743 135.000 4 2.0 6.0 0.5 0.500 1.000 1.128 0.564 90.000
用法
-
区域定义为输入中具有相同值的所有区。各区无需相连。栅格和要素数据集都可用于区域输入。
如果输入区域数据为要素数据集,则必须通过处理像元大小或在像元大小环境中设置像元大小。
各个区域的计算结果将记录在输出表中。
在指定输入区域数据时,默认区域字段将为第一个可用的有效字段。如果不存在其他有效字段,则 ObjectID 字段(例如,OID 或 FID)将成为默认字段。
如果为区域字段选择保留字段(例如,OBJECTID、FID 或 OID),则这可能导致结果中存在一些不明确现象。结果包括特定输出格式类型以及指定区域字段所必需的特定保留字段名称。如果对于特定输出格式,指定字段具有与保留字段相同的名称,则在输出中更改区域字段的名称,使结果中所有字段名均唯一。
在输出表中,值字段始终位于包含分区输出计算结果的字段之前。值字段包含了区域数据集定义的区域的值。
分区计算结果的值将为浮点型。
除 ORIENTATION 项以外,输出表中的所有结果均使用地图单位进行表示(取值范围为 0 至 180 度)。方向定义为 x 轴与椭圆长轴之间的角度。方向的角度值以逆时针方向增加,起始 0 度值位置为东方(右侧水平位置),在长轴垂直时达到 90 度。
如果某个特定区域仅由一个像元组成,或者该区域为单个像元方块,那么会将椭圆(在此情况下为圆)的方向设置为 90 度。
有关适用于此工具的地理处理环境的详细信息,请参阅分析环境和 Spatial Analyst。
语法
ZonalGeometryAsTable (in_zone_data, zone_field, out_table, {processing_cell_size})
参数 | 说明 | 数据类型 |
in_zone_data | 定义区域的数据集。 可通过整型栅格或要素图层来定义区域。 | Raster Layer | Feature Layer |
zone_field | 保存定义每个区域的值的字段。 该字段必须是区域数据集的整型字段。 | Field |
out_table | 将包含每个区域中值的汇总的输出表。 表的格式由输出位置和路径确定。默认情况下,输出为一张地理数据库表。如果路径不在地理数据库中,则格式将由表达式确定。如果扩展名为 .dbf,则将采用 dBASE 格式。如果未指定扩展名,则输出将为 INFO 表。 | Table |
processing_cell_size (可选) | 用于分区操作的处理像元大小。 如果专门进行设置,则是环境中的值。如果未设置环境,则默认的像元大小将由区域数据类型确定,如下所示:
| Analysis Cell Size |
代码示例
ZonalGeometryAsTable 示例 1(Python 窗口)
本示例为输入面 shapefile 定义的各个区域确定几何测量值。
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outZonalGeometryAsTable = ZonalGeometryAsTable("zones.shp", "Classes", "zonalgeomout", 0.2)
ZonalGeometryAsTable 示例 2(独立脚本)
本示例为输入面 shapefile 定义的各个区域确定几何测量值。
# Name: ZonalGeometryAsTable_Ex_02.py
# Description:Calculates for each zone in a dataset the specified geometry
# measure (area, perimeter, thickness, or the characteristics
# of ellipse) and reports the results as a table.
# 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"
# Set local variables
inZoneData = "zones.shp"
zoneField = "Classes"
outTable = "zonalgeomout02.dbf"
processingCellSize = 0.2
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute ZonalGeometryAsTable
outZonalGeometryAsTable = ZonalGeometryAsTable(inZoneData, zoneField, "AREA", cellSize)
环境
许可信息
- ArcGIS Desktop Basic: 需要 Spatial Analyst
- ArcGIS Desktop Standard: 需要 Spatial Analyst
- ArcGIS Desktop Advanced: 需要 Spatial Analyst