『公告』 预祝您龙年大吉,万事如意, 过节期间, 大家如需数据服务,请拨打400 或直接添加客服微信,再祝大家龙年,心想事成。
关注我们 新浪 腾讯

ArcGIS教程:分区几何统计

ArcGIS教程:分区几何统计
为数据集中的各个区域计算指定的几何测量值(面积、周长、厚度或者椭圆的特征值)。

摘要

    为数据集中的各个区域计算指定的几何测量值(面积、周长、厚度或者椭圆的特征值)。

插图


用法

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

·      在指定输入区域数据时,默认区域字段将为第一个可用的有效字段。如果无其他有效字段存在,则 ObjectID 字段(如 OID FID)将为默认字段。

·      如果为区域字段选择保留字段(例如,OBECTIDFID OID),则这可能导致结果中存在一些不明确现象。结果包括特定输出格式类型以及指定区域字段所必需的特定保留字段名称。如果对于特定输出格式,指定字段具有与保留字段相同的名称,则在输出中以结果中所有字段名均唯一的方式更改区域字段的名称。

·      各几何类型的输出栅格的数据类型将为浮点型。

·      如果某个特定区域仅由一个像元组成,或者该区域为单个像元方块,那么会将椭圆(在此情况下为圆)的方向设置为 90 度。

语法

    ZonalGeometry (in_zone_data, zone_field, {geometry_type}, {cell_size})

参数

说明

数据类型

in_zone_data

定义区域的数据集。

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

Raster Layer | Feature Layer

zone_field

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

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

Field

geometry_type

(可选)

要计算的几何类型。

·         AREA — 各个区域的面积。

·         PERIMETER — 各个区域的周长。

·         THICKNESS — 区域中最深(或最厚)的点距其周围像元的距离。

·         CENTROID — 定位各个区域的质心。

String

cell_size

(可选)

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

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

·         如果区域数据集为栅格,则像元大小将与区域栅格相同。

·         如果区域数据集为要素,则像元大小为输出空间参考中区域要素数据集范围的宽度或高度较小值除以 250

Analysis Cell Size

返回值

名称

说明

数据类型

out_raster

输出分区几何栅格。

Raster

代码实例

    ZonalGeometry 示例 1Python 窗口)

    本示例为输入面要素定义的各个区域确定面积。

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

      京ICP备2025132830号-1 京公网安备 号