收缩 (Spatial Analyst)

需要 Spatial Analyst 许可。

描述

按指定像元数目收缩所选区域,方法是用邻域中出现最频繁的像元值替换该区域的值。

了解有关收缩工作原理的详细信息

插图

收缩图示
OutRas = Shrink(InRas1, 1, [5])

使用方法

  • 将指定的区域值视为前景区域,而将其余的区域值视为背景区域。通过此工具,可用背景区域中的像元来替换前景区域中的像元。

  • 当两个相邻区域都是要收缩的选定集合的一部分时,在这两个区域之间的边界上没有任何变化。

  • NoData 的优先级与将覆盖通过收缩选定值所腾空的区域的任何有效值相同。因此,如果所选值与 NoData 相邻,则其在收缩后可能变为 NoData。

  • 有关适用于此工具的地理处理环境的详细信息,请参阅分析环境和 Spatial Analyst

语法

Shrink(in_raster, number_cells, zone_values, {shrink_method})
参数说明数据类型
in_raster

要收缩已识别区域的输入栅格。

必须为整型。

Raster Layer
number_cells

收缩每个指定区域时所依据的像元数。

该值必须为大于 0 的整数。

Long
zone_values
[zone_value,...]

要收缩的区域值列表。

区域值必须为整数。可以按任意顺序排列。

Long
shrink_method
(可选)

用于收缩所选区域的方法。

  • MORPHOLOGICAL使用数学形态学方法收缩区域。这是默认设置。
  • DISTANCE使用基于距离的方法收缩区域。

DISTANCE 选项支持并行处理,可以使用 parallelProcessingFactor 环境设定进行控制。

String

返回值

名称说明数据类型
out_raster

输出概化的栅格。

将按指定像元数目收缩的输入栅格的指定区域。

输出始终为整型。

Raster

代码示例

Shrink 示例 1(Python 窗口)

此示例按两个像元收缩通过值列表指定的区域。

import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outShrink = Shrink("land", 2, [1, 3, 7])
outShrink.save("c:/sapyexamples/output/shrinkout")
Shrink 示例 2(独立脚本)

此示例按两个像元收缩通过值列表指定的区域。

# Name: Shrink_Ex_02.py
# Description: Shrinks the selected zones by a 
#              specified number of cells.
# 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"
cellRemove = 2
zoneSet = [1,3,7,9]

# Execute Shrink
outShrink = Shrink(inRaster, cellRemove, zoneSet)

# Save the output 
outShrink.save("c:/sapyexamples/output/outshrink")

许可信息

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

相关主题