NbrRectangle

需要 Spatial Analyst 许可。

获得 Image Analyst 许可后可用。

描述

定义通过指定以地图单位或像元数为单位的高度和宽度而创建的矩形邻域。

插图

FocalStatistics 函数的 NbrRectangle 邻域
FocalStatistics 函数的 NbrRectangle 邻域示例。
BlockStatistics 函数的 NbrRectangle 邻域
BlockStatistics 函数的 NbrRectangle 邻域示例(宽度 = 6 像元,高度 = 4 像元)。

讨论

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

许可:

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

通过提供以像元或地图单元为单位的 widthheight,指定矩形邻域。

当在焦点统计工具中使用矩形时,通过以下方程确定邻域范围内待处理像元相对于邻域左上角的 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测量单位采用像元。
  • MAP单位位于地图坐标中。

(默认值为 CELL)

String

属性

属性说明数据类型
width
(可读写)

矩形邻域的宽度。

如果仅指定宽度,则高度将默认为与宽度相同,从而形成一个正方形邻域。

Double
height
(可读写)

矩形邻域的高度。

如果仅指定高度,则宽度将默认为与高度相同,从而形成一个正方形邻域。

Double
units
(可读写)

定义邻域单位。

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")

# Execute BlockStatistics
outBlkStat =  BlockStatistics(inRaster, myNbrRec, "MINIMUM", "DATA")

# Save the output 
outBlkStat.save("C:/sapyexamples/output/blstat_rec3")

相关主题