需要 Spatial Analyst 许可。
摘要
定义通过指定以地图单位或像元数为单位的高度和宽度而创建的矩形邻域。
插图
说明
使用邻域矩形对象的工具包括:块统计、焦点统计、点统计和点密度。
通过提供以像元或地图单元为单位的宽度和高度值,指定矩形邻域。
当在焦点统计工具中使用矩形时,通过以下方程确定邻域范围内待处理像元相对于邻域左上角的 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 (可读写) | The width of the rectangle neighborhood. If only the width is specified, the height will default to the same as the width, resulting in a square neighborhood. | Double |
height (可读写) | The height of the rectangle neighborhood. If only the height is specified, the width will default to the same as the height, resulting in a square neighborhood. | Double |
units (可读写) | Defines the units of the neighborhood. | String |
代码示例
NbrRectangle 示例 1(Python 窗口)
演示如何创建 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 示例 2(独立脚本)
使用 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")
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute BlockStatistics
outBlkStat = BlockStatistics(inRaster, myNbrRec, "MINIMUM", "DATA")
# Save the output
outBlkStat.save("C:/sapyexamples/output/blstat_rec3")