需要 Spatial Analyst 许可。
获得 Image Analyst 许可后可用。
描述
定义通过指定以地图单位或像元数为单位的高度和宽度而创建的矩形邻域。
插图
讨论
使用矩形邻域对象的工具包括:块统计、焦点统计、点统计以及点密度。
许可:
如果具有 Image Analyst 扩展模块许可,也可以使用该类,但仅限于焦点统计工具。
通过提供以像元或地图单元为单位的 width 和 height,指定矩形邻域。
当在焦点统计工具中使用矩形时,通过以下方程确定邻域范围内待处理像元相对于邻域左上角的 x,y 位置:
x = (width of the neighborhood + 1)/2 y = (height of the neighborhood + 1)/2
如果输入像元数为偶数,则可通过截断操作来计算 x,y 坐标。
仅将中心在定义对象内的像元作为矩形邻域的一部分进行处理。
语法
NbrRectangle ({width}, {height}, {units})
参数 | 说明 | 数据类型 |
width | 矩形邻域的宽度。 如果仅指定宽度,则生成的邻域为方形。 (默认值为 3) | Double |
height | 矩形邻域的高度。 如果仅指定高度,则生成的邻域为方形。 (默认值为 3) | Double |
units | 定义邻域单位。
(默认值为 CELL) | String |
属性
属性 | 说明 | 数据类型 |
width (可读写) | 矩形邻域的宽度。 如果仅指定宽度,则高度将默认为与宽度相同,从而形成一个正方形邻域。 | Double |
height (可读写) | 矩形邻域的高度。 如果仅指定高度,则宽度将默认为与高度相同,从而形成一个正方形邻域。 | Double |
units (可读写) | 定义邻域单位。 | String |
代码示例
演示如何创建 NbrRectangle 类以及如何在 Python 窗口的 BlockStatistics 工具中使用该类。
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outNbrRec = BlockStatistics("block", NbrRectangle(4, 5, "MAP"))
outNbrRec.save("C:/sapyexamples/output/blstatsnbrr2")
使用 NbrRectangle 类执行 BlockStatistics 工具。
# Name: NbrRectangle_Ex_02.py
# Description: Uses the NbrRectangle 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
width = 5
height = 6
myNbrRec = NbrRectangle(width, height, "MAP")
# Execute BlockStatistics
outBlkStat = BlockStatistics(inRaster, myNbrRec, "MINIMUM", "DATA")
# Save the output
outBlkStat.save("C:/sapyexamples/output/blstat_rec3")