需要 Spatial Analyst 许可。
摘要
定义通过指定内、外圆半径(以地图单位或像元数为单位)创建的环形邻域。
插图
讨论
使用环形邻域对象的工具包括:块统计、焦点统计、点统计和点密度。
环由两个圆组成,一个圆位于另一个圆的内侧,从而构成圆环。中心落在小圆半径范围以外,但落在大圆半径范围以内的像元将包含在邻域处理范围内;因此,两个圆之间的区域便构成了环形邻域。
使用环形对象时,如未指定 innerRadius 或 outerRadius,则将使用默认值。
innerRadius 必须小于或等于 outerRadius。
半径用像元单位或地图单位标识并且沿着垂直于 x 轴或 y 轴的方向进行测量。采用地图单位指定半径时,会将其转换为以像元为单位的半径。所得的以像元为单位的半径会生成一个区域,该区域能够近似地表示出以原始的地图单位为半径时计算的区域。中心位于环形内的所有像元都将包括在邻域的处理范围内。
语法
NbrAnnulus ({innerRadius}, {outerRadius}, {units})
参数 | 说明 | 数据类型 |
innerRadius | The inner radius of an annulus neighborhood. (默认值为 1) | Double |
outerRadius | The outer radius of an annulus neighborhood. (默认值为 3) | Double |
units | Defines the units of the neighborhood.
(默认值为 CELL) | String |
属性
属性 | 说明 | 数据类型 |
innerRadius (读写) | 环形邻域的内半径。 | Double |
outerRadius (读写) | 环形邻域的外半径。 | Double |
units (读写) | Defines the units of the neighborhood. | String |
代码实例
NbrAnnulus 示例 1(Python 窗口)
演示如何创建 NbrAnnulus 类以及如何在 Python 窗口的 BlockStatistics 工具中使用该类。
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outNbrA = BlockStatistics("block", NbrAnnulus(1, 2, "CELL"))
outNbrA.save("C:/sapyexamples/output/blstatnbra2")
NbrAnnulus 示例 2(独立脚本)
使用 NbrAnnulus 类执行 BlockStatistics 工具。
# Name: NbrAnnulus_Ex_02.py
# Description: Uses the NbrAnnulus object to execute BlockStatistics tool.
# 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
inRaster = "block"
# Create the Neighborhood Object
innerRadius = 1
outerRadius = 3
myNbrAnnulus = NbrAnnulus(innerRadius, outerRadius, "MAP")
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute BlockStatistics
outBlkStats = BlockStatistics(inRaster, myNbrAnnulus, "MINIMUM", "DATA")
# Save the output
outBlkStats.save("C:/sapyexamples/output/blstat_Ann3")