NbrAnnulus (arcpy.sa)

摘要

定义通过指定内、外圆半径(以地图单位或像元数为单位)创建的环形邻域。

插图

FocalStatistics 的 NbrAnnulus 邻域
FocalStatistics 函数的 NbrAnnulus 邻域示例
FocalStatistics 的 NbrAnnulus 邻域
BlockStatitistcs 函数的 NbrAnnulus 邻域示例

讨论

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

环由两个圆组成,一个圆位于另一个圆的内侧,从而构成圆环。中心落在小圆半径范围以外,但落在大圆半径范围以内的像元将包含在邻域处理范围内;因此,两个圆之间的区域便构成了环形邻域。

使用环形对象时,如未指定 innerRadiusouterRadius,则将使用默认值。

innerRadius 必须小于或等于 outerRadius

半径用像元单位或地图单位,并且沿着垂直于 x 轴或 y 轴的方向进行测量。采用地图单位指定半径时,会将其转换为以像元为单位的半径。所得的以像元为单位的半径会生成一个区域,该区域能够近似地表示出以原始的地图单位为半径时计算的区域。中心位于环形内的所有像元都将包括在邻域的处理范围内。

语法

NbrAnnulus ({innerRadius}, {outerRadius}, {units})
参数说明数据类型
innerRadius

The inner radius of an annulus neighborhood.

(默认值为 1)

Double
outerRadius

The outer radius of an annulus neighborhood.

(默认值为 3)

Double
units

Defines the units of the neighborhood.

  • CELLThe unit of measurement is in cells.
  • MAPThe units are in map coordinates.

(默认值为 CELL)

String

属性

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

The inner radius of the annulus neighborhood.

Double
outerRadius
(读写)

The outer radius of the annulus neighborhood.

Double
units
(读写)

Defines the units of the neighborhood.

String

代码实例

NbrAnnulus 示例 1(Python 窗口)

演示如何创建 NbrAnnulus 类以及如何在 Python 窗口的 BlockStatistics 工具中使用该类。

import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outNbrA = BlockStatistics("block", NbrAnnulus(1, 2, "CELL"))
outNbrA.save("C:/sapyexamples/output/blstatnbra2")
NbrAnnulus 示例 2(独立脚本)

使用 NbrAnnulus 类执行 BlockStatistics 工具。

# Name: NbrAnnulus_Ex_02.py
# Description: Uses the NbrAnnulus 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
innerRadius = 1
outerRadius = 3
myNbrAnnulus = NbrAnnulus(innerRadius, outerRadius, "MAP")

# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")

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

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

相关主题

5/10/2014