以表格显示分区几何统计 (空间分析)

需要 Spatial Analyst 许可。

摘要

为数据集中的各个区域计算几何测量值(面积、周长、厚度和椭圆的特征值),并以表的形式来显示结果。

了解有关“分区几何统计”工作原理的详细信息

插图

以表格显示分区几何图示
ZonalGeometryAsTable(InRas1,"VALUE",Out_Geom,1)
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

使用情况

  • 区域定义为输入中具有相同值的所有区域。 各区域无需相连。 栅格和要素都可用于区域输入。

  • 处理像元大小参数可以通过数值进行定义,也可以从现有栅格数据集获取。 如果没有将像元大小明确指定为参数值,则将从像元大小环境获取相应值(前提是已指定环境)。 如果参数像元大小和环境像元大小均未指定,则默认的输出像元大小会根据输入数据集的类型并按照如下方式进行确定。

    • 如果输入数据集是栅格,则使用数据集的像元大小。
    • 如果输入数据集为要素,且设置了捕捉栅格环境,则使用捕捉栅格的像元大小。 如果未设置捕捉栅格,则像元大小会通过使用范围的宽度或高度中的较小值除以 250 来计算,其中范围位于在环境中指定的输出坐标系内。
  • 如果使用数值指定像元大小,则工具会直接将其用于输出栅格。

    如果使用栅格数据集指定像元大小,则该参数将显示栅格数据集的路径而不是像元大小的值。 如果数据集的空间参考与输出空间参考相同,则栅格数据集的像元大小将直接用于分析。 如果数据集的空间参考与输出空间参考不同,则将基于所选的像元大小投影方法进行投影。

  • 各个区域的计算结果将记录在输出表中。

  • 如果输入栅格或要素区域数据的值具有重叠面,则无法为每一个单独的面执行区域分析。 因为要素输入已转换为栅格,所以每个位置只能拥有一个值。

    另一种方法就是要为每个面区域反复进行区域操作并核对结果。

  • 在指定输入栅格或要素区域数据值时,默认区域字段将为第一个可用的整型或文本字段。 如果不存在其他有效字段,则 ObjectID 字段(如 OIDFID)将成为默认字段。

  • 在输出表中,值字段始终位于包含分区输出计算结果的字段之前。 值字段包含了区域数据集定义的区域的值。

  • 分区计算结果的值将为浮点型。

  • ORIENTATION 项以外,输出表中的所有结果均使用地图单位进行表示(取值范围为 0 至 180 度)。 方向定义为 x 轴与椭圆长轴之间的角度。 方向的角度值以逆时针方向增加,起始 0 度值位置为东方(右侧水平位置),在长轴垂直时达到 90 度。

  • 如果特定区域仅由一个像元组成,或者该区域是单个方形像元块,则椭圆(在本例中为圆)的方向设置为 90 度。

  • 有关适用于此工具的地理处理环境的详细信息,请参阅分析环境和 Spatial Analyst

参数

标注说明数据类型
输入栅格数据或要素区域数据

定义区域的数据集。

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

Raster Layer; Feature Layer
区域字段

包含定义每个区域的值的字段。

必须是区域数据集的整型字段。

Field
输出表

将包含每个区域中值的汇总的输出表。

表的格式由输出位置和路径确定。 默认情况下,输出为一张地理数据库表。 如果路径不在地理数据库中,则格式将由表达式确定。 如果扩展名为 .dbf,则将采用 dBASE 格式。 如果未指定扩展名,则输出将为 INFO 表。 不支持将 INFO 表作为 AllSource 中的输入且无法显示 INFO 表。

Table
处理像元大小
(可选)

将创建的输出栅格的像元大小。

此参数可以通过数值进行定义,也可以从现有栅格数据集获取。 如果未将像元大小明确指定为参数值,则将使用环境像元大小值(如果已指定);否则,将使用其他规则通过其他输出计算像元大小。 有关详细信息,请参阅用法部分。

Analysis Cell Size

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 表。 不支持将 INFO 表作为 AllSource 中的输入且无法显示 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

# Execute ZonalGeometryAsTable
outZonalGeometryAsTable = ZonalGeometryAsTable(inZoneData, zoneField, "AREA", cellSize)