收缩 (Spatial Analyst)

需要 Spatial Analyst 许可。

摘要

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

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

插图

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

使用情况

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

  • 当两个相邻区域是要收缩的选定集的一部分时,它们之间的边界不会发生变化。

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

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

参数

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

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

该字段必须为整型。

Raster Layer
像元数目

每个指定区域要收缩的像元数。

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

Long
区域值

要收缩的区域值列表。

区域值必须为整数。 这些值可以采用任意顺序。

Long
收缩方法
(可选)

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

距离选项支持并行处理,可以使用并行处理因子环境设定进行控制。

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

返回值

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

概化的输出栅格。

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

输出始终为整型。

Raster

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

相关主题