NbrWedge

需要 Spatial Analyst 许可。

获得 Image Analyst 许可后可用。

描述

定义通过指定半径和两个角度(以地图单位或像元数为单位)而创建的楔形邻域。

插图

FocalStatistics 函数的 NbrWedge 邻域
FocalStatistics 函数的 NbrWedge 邻域示例(半径 3 像元,起始角度 0,终止角度 90)。
BlockStatistics 函数的 NbrWedge 邻域
BlockStatistics 函数的 NbrWedge 邻域示例(半径 = 3 像元,起始角度 = 0,终止角度 = 270)。

讨论

使用楔形邻域对象的工具包括:块统计焦点统计点统计以及点密度

许可:

如果具有 Image Analyst 扩展模块许可,也可以使用该类,但仅限于焦点统计工具。

楔形由 radiusstartAngleendAngleunits 进行指定。楔形按逆时针方向从起始角延伸到终止角。角度为算术度(基于 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测量单位采用像元。
  • MAP单位位于地图坐标中。

(默认值为 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, "")

# Execute BlockStatistics
outBlkStats =  BlockStatistics(inRaster, myNbrWedge, "MINIMUM", "DATA")

# Save the output 
outBlkStats.save("C:/sapyexamples/output/blkst_wedge4")

相关主题