需要 Spatial Analyst 许可。
摘要
定义通过指定半径和两个角度(以地图单位或像元数为单位)而创建的楔形邻域。
插图
讨论
使用楔形邻域对象的工具包括:块统计、焦点统计、点统计以及点密度。
楔形由半径、起始角度、终止角度及单位进行指定。楔形按逆时针方向从起始角延伸到终止角。角度为算术度(基于 x 轴正向按逆时针方向进行测量)。也可使用负角度。
半径用像元单位或地图单位标识并且沿着垂直于 x 轴或 y 轴的方向进行测量。采用地图单位指定半径时,会将其转换为以像元为单位的半径。所得的以像元为单位的半径会生成一个区域,该区域能够近似地表示出使用原始的地图单位为半径时计算的区域。中心位于楔形内的所有像元都将包括在邻域的处理范围内。
语法
NbrWedge ({radius}, {startAngle}, {endAngle}, {units})
参数 | 说明 | 数据类型 |
radius | 半径是从楔形角到楔形外部界限的距离。半径是整数或浮点值。 (默认值为 3) | Double |
startAngle | startAngle 是从 0 到 360 的整数或浮点值。 按逆时针方向测量起始角(x 轴正向(3 点钟方向)到最近的楔形边)。 (默认值为 0) | Double |
endAngle | endAngle 是从 0 到 360 的整数或浮点值。 按逆时针方向测量终止角(x 轴正向(3 点钟方向)到外侧的楔形边)。 (默认值为 90) | Double |
units | 定义邻域单位。
(默认值为 CELL) | String |
属性
属性 | 说明 | 数据类型 |
radius (可读写) | 半径是从楔形角到楔形外部界限的距离。半径是整数或浮点值。 | Double |
startAngle (可读写) | startAngle表示一个范围为 0 到 360 的值。它可以是整型或浮点型。 按逆时针方向测量起始角(x 轴正向(3 点钟方向)到最近的楔形边)。 | Double |
endAngle (可读写) | endAngle 表示一个范围为 0 到 360 的值。它可以是整型或浮点型。 按逆时针方向测量 endAngle(x 轴正向(3 点钟方向)到楔形外边缘)。 | Double |
units (可读写) | 定义邻域单位。 | String |
代码示例
NbrWedge 示例 1(Python 窗口)
演示如何创建 NbrWedge 类以及如何在 Python 窗口的 BlockStatistics 工具中使用该类。
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outNbrWedge = BlockStatistics("block", NbrWedge(5, 10.5, 40, "MAP"))
outNbrWedge.save("C:/sapyexamples/output/blstatsnbrw2")
NbrWedge 示例 2(独立脚本)
使用 NbrWedge 类执行 BlockStatistics 工具。
# Name: NbrWedge_Ex_02.py
# Description: Uses the NbrWedge 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
radius = 5
startAngle = 5
endAngle = 10
myNbrWedge = NbrWedge(radius, startAngle, endAngle, "")
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute BlockStatistics
outBlkStats = BlockStatistics(inRaster, myNbrWedge, "MINIMUM", "DATA")
# Save the output
outBlkStats.save("C:/sapyexamples/output/blkst_wedge4")