边界清理 (Spatial Analyst)

需要 Spatial Analyst 许可。

摘要

平滑栅格中区域之间的边界。

了解有关边界清理工作原理的详细信息

插图

边界清理工具图示
OutRas = BoundaryClean(InRas1)

参数

标注说明数据类型
输入栅格

将平滑区域之间边界的输入栅格。

必须为整型。

Raster Layer
排序类型
(可选)

指定要在平滑处理中使用的排序类型。将由排序确定像元可扩展到相邻像元的优先级。

排序可以基于区域值或区域大小。

  • 不排序优先级将由区域值确定。不考虑区域的大小。值较大的区域优先级较高,可以扩展到平滑输出中值较小的区域中。这是默认设置。
  • 降序区域按大小降序排列。总面积较大的区域具有较高的优先级,可以扩展到总面积较小的若干区域。此选项倾向于消除或减少平滑输出中较小区域的像元分布。
  • 升序区域按大小升序排列。总面积较小的区域具有较高的优先级,可以扩展到总面积较大的若干区域。此选项倾向于保留或增加平滑输出中较小区域的像元分步。
String
运行两次扩展与收缩
(可选)

指定平滑过程的执行次数:两次或一次。

  • 选中 - 扩展与收缩操作执行两次。第一次,将根据指定的排序类型执行操作。第二次,按照相反的优先级额外执行一次收缩和扩展操作。这是默认设置。
  • 未选中 - 将根据排序类型执行一次扩展和收缩操作。
Boolean

返回值

标注说明数据类型
输出栅格

输出概化的栅格。

将对输入中的区域间边界进行平滑处理。

输出始终为整型。

Raster

BoundaryClean(in_raster, {sort_type}, {number_of_runs})
名称说明数据类型
in_raster

将平滑区域之间边界的输入栅格。

必须为整型。

Raster Layer
sort_type
(可选)

指定要在平滑处理中使用的排序类型。将由排序确定像元可扩展到相邻像元的优先级。

排序可以基于区域值或区域大小。

  • NO_SORT优先级将由区域值确定。不考虑区域的大小。值较大的区域优先级较高,可以扩展到平滑输出中值较小的区域中。这是默认设置。
  • DESCEND区域按大小降序排列。总面积较大的区域具有较高的优先级,可以扩展到总面积较小的若干区域。此选项倾向于消除或减少平滑输出中较小区域的像元分布。
  • ASCEND区域按大小升序排列。总面积较小的区域具有较高的优先级,可以扩展到总面积较大的若干区域。此选项倾向于保留或增加平滑输出中较小区域的像元分步。
String
number_of_runs
(可选)

指定平滑过程的执行次数:两次或一次。

  • TWO_WAY扩展和收缩操作执行两次。第一次,将根据指定的排序类型执行操作。第二次,按照相反的优先级额外执行一次收缩和扩展操作。这是默认设置。
  • ONE_WAY根据排序类型执行一次扩展和收缩操作。
Boolean

返回值

名称说明数据类型
out_raster

输出概化的栅格。

将对输入中的区域间边界进行平滑处理。

输出始终为整型。

Raster

代码示例

BoundaryClean 示例 1(Python 窗口)

本示例执行双向处理以降序顺序对区域间边界进行平滑处理。

import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
OutBndCln = BoundaryClean("land", "DESCEND", "TWO_WAY")
OutBndCln.save("c:/sapyexamples/output/bndcln_des2")
BoundaryClean 示例 2(独立脚本)

本示例执行双向处理以降序顺序对区域间边界进行平滑处理。

# Name: BoundaryClean_Ex_02.py
# Description: Smoothes the boundary between zones 
#              by expanding and shrinking it.
# 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 = "land"

# Execute BoundaryClean
OutBndCln = BoundaryClean(inRaster, "ASCEND", "TWO_WAY")

# Save the output 
OutBndCln.save("c:/sapyexamples/output/bndcln_asc2")

许可信息

  • Basic: 需要 Spatial Analyst
  • Standard: 需要 Spatial Analyst
  • Advanced: 需要 Spatial Analyst

相关主题