需要 Spatial Analyst 许可。
摘要
为数据集中的各个区域计算指定的几何测量值(面积、周长、厚度或者椭圆的特征值)。
插图
用法
区域定义为输入中具有相同值的所有区。各区域无需相连。栅格和要素都可用于区域输入。
如果输入栅格或要素区域数据(Python 中的 in_zone_data)具有重叠面,则无法针对每个单独的面执行区域分析。因为要素输入已转换为栅格,所以每个位置只能拥有一个值。
另一种方法就是要为每个面区域反复进行区域操作并核对结果。
在指定输入栅格或要素区域数据(Python 中的 in_zone_data)时,默认区域字段将为第一个可用的整型或文本字段。如果不存在其他有效字段,则 ObjectID 字段(如 OID 或 FID)将成为默认字段。
各几何类型的输出栅格的数据类型将为浮点型。
如果某个特定区域仅由一个像元组成,或者该区域为单个像元方块,那么会将椭圆(在此情况下为圆)的方向设置为 90 度。
有关适用于此工具的地理处理环境的详细信息,请参阅分析环境和 Spatial Analyst。
语法
ZonalGeometry (in_zone_data, zone_field, {geometry_type}, {cell_size})
参数 | 说明 | 数据类型 |
in_zone_data | 定义区域的数据集。 可通过整型栅格或要素图层来定义区域。 | Raster Layer; Feature Layer |
zone_field | 保存定义每个区域的值的字段。 该字段必须是区域数据集的整型字段。 | Field |
geometry_type (可选) | 要计算的几何类型。
| String |
cell_size (可选) | 用于分区操作的处理像元大小。 如果特别设置,则为环境中的值。如果未设置环境,则默认的像元大小将由区域数据类型确定,如下所示:
| Analysis Cell Size |
返回值
名称 | 说明 | 数据类型 |
out_raster | 输出分区几何栅格。 | Raster |
代码示例
ZonalGeometry 示例 1(Python 窗口)
本示例为输入面要素定义的各个区域确定面积。
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outZonalGeometry = ZonalGeometry("zones.shp", "Classes", "AREA", 0.2)
outZonalGeometry.save("C:/sapyexamples/output/zonegeomout3")
ZonalGeometry 示例 2(独立脚本)
本示例为输入面要素定义的各个区域确定面积。
# Name: ZonalGeometry_Ex_02.py
# Description:Calculates for each zone in a dataset the specified geometry
# measure (area, perimeter, thickness, or the characteristics
# of ellipse).
# 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"
cellSize = 0.2
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute ZonalStatistics
outZonalGeometry = ZonalGeometry(inZoneData, zoneField, "AREA", cellSize)
# Save the output
outZonalGeometry.save("C:/sapyexamples/output/zonegeomout2")
环境
许可信息
- ArcGIS Desktop Basic: 需要 Spatial Analyst
- ArcGIS Desktop Standard: 需要 Spatial Analyst
- ArcGIS Desktop Advanced: 需要 Spatial Analyst