需要 Spatial Analyst 许可。
摘要
按指定像元数目收缩所选区域,方法是用邻域中出现最频繁的像元值替换该区域的值。
插图
用法
将指定的区域值视为前景区域,而将其余的区域值视为背景区域。通过此工具,可用背景区域中的像元来替换前景区域中的像元。
当两个相邻区域都是要收缩的选定集合的一部分时,在这两个区域之间的边界上没有任何变化。
NoData 的优先级与将覆盖通过收缩选定值所腾空的区域的任何有效值相同。因此,如果所选值与 NoData 相邻,则其在收缩后可能变为 NoData。
有关适用于此工具的地理处理环境的详细信息,请参阅分析环境和 Spatial Analyst。
语法
Shrink (in_raster, number_cells, zone_values)
参数 | 说明 | 数据类型 |
in_raster | 要收缩已识别区域的输入栅格。 必须为整型。 | Raster Layer |
number_cells | 收缩每个指定区域时所依据的像元数。 该值必须为大于 0 的整数。 | Long |
zone_values [zone_value,...] | 要收缩的区域值列表。 区域值必须为整数。可以按任意顺序排列。 | Long |
返回值
名称 | 说明 | 数据类型 |
out_raster | 输出概化的栅格。 将按指定像元数目收缩的输入栅格的指定区域。 输出始终为整型。 | Raster |
代码示例
收缩示例 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")
收缩示例 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]
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute Shrink
outShrink = Shrink(inRaster, cellRemove, zoneSet)
# Save the output
outShrink.save("c:/sapyexamples/output/outshrink")
环境
许可信息
- ArcGIS Desktop Basic: 需要 Spatial Analyst
- ArcGIS Desktop Standard: 需要 Spatial Analyst
- ArcGIS Desktop Advanced: 需要 Spatial Analyst