需要 Spatial Analyst 许可。
描述
用最邻近点的值替换掩膜范围内的栅格像元的值。
插图
使用
蚕食可将最近邻域的值分配给栅格中的所选区域。可将其用于将部分单个像元替换为附近的值。掩膜区域越大,可替换的带状像元越大。
通用应用程序用于编辑某栅格中已知数据存在错误的区域。
输入掩膜栅格中值为 NoData 的像元定义哪些像元被蚕食。输入栅格中任何不在掩膜区域内的位置均不会被蚕食,因此,它们的输出值和输入值相同。
输入栅格中不在掩膜内的 NoData 像元不会被蚕食。无论两个 NoData 参数设置为何,它们都保持 NoData。
该工具支持并行处理。如果您的计算机具有多个处理器或处理器具有多个内核,则会获得更好的性能,特别是处理较大数据集时。使用 Spatial Analyst 进行并行处理帮助主题提供了有关此功能及其配置方法的详细信息。
使用并行处理时,将写入临时数据以管理正在处理的数据区段。默认的临时文件夹位于您的本地 C 驱动器上。您可以通过设置名为 TempFolders 的系统环境变量并指定要使用的文件夹路径(例如,E:\RasterCache),来控制此文件夹的位置。如果您具有计算机管理权限,还可以使用注册表键(例如,[HKEY_CURRENT_USER\SOFTWARE\ESRI\Desktop10.7\Raster])。
默认情况下,此工具将使用可用内核数的 50%。如果输入数据大小小于 5,000 * 5,000 个像元,则会使用更少的内核。您可以控制该工具用于并行处理因子环境的内核数。
有关适用于此工具的地理处理环境的详细信息,请参阅分析环境和 Spatial Analyst。
语法
Nibble(in_raster, in_mask_raster, {nibble_values}, {nibble_nodata}, {in_zone_raster})
参数 | 说明 | 数据类型 |
in_raster | 将被蚕食的输入栅格。 输入栅格可以是整型,也可以是浮点型。 | Raster Layer |
in_mask_raster | 用作掩膜的栅格。 掩膜栅格中的 NoData 像元能够识别 in_raster 中将被蚕食或被最近邻域的值替换的像元。 掩膜栅格可以是整型,也可以是浮点型。 | Raster Layer |
nibble_values (可选) | 关键字定义是否允许一点点地除去输入栅格中的 NoData 值以形成由栅格掩膜定义的区域。
| Boolean |
nibble_nodata (可选) | 定义输入栅格中的 NoData 像元是否在输出栅格中仍为 NoData 的关键字。
| Boolean |
in_zone_raster (可选) | 输入区域栅格。在每个区域中,掩膜内的输入像元仅会被同一区域内的最近像元值替换。 区域是指栅格中具有相同值的所有像元,无论这些像元是否相连。输入区域图层定义了区域的形状、值和位置。区域栅格可以是整型,也可以是浮点型。 | Raster Layer |
返回值
名称 | 说明 | 数据类型 |
out_raster | 输出已蚕食的栅格。 识别的输入像元将被用其最邻近点的值进行替换。 如果输入栅格为整型,那么输出栅格也为整型。如果输入栅格为浮点型,则输出栅格也为浮点型。 | Raster |
代码示例
Nibble 示例 1(Python 窗口)
此例使用由输入栅格的最邻近点确定的值来替换由输入掩膜所识别的像元。
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
nibbleOut = Nibble("land", "snow", "DATA_ONLY")
nibbleOut.save("C:/sapyexamples/output/nibbleout")
Nibble 示例 2(独立脚本)
此例使用由输入栅格的最邻近点确定的值来替换由输入掩膜所识别的像元。
# Name: Nibble_Ex_02.py
# Description: Replaces cells of a raster corresponding to a mask
# with the values of the nearest neighbors.
# 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"
inMask = "snow"
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute Nibble
nibbleOut = Nibble(inRaster, inMask, "ALL_VALUES")
# Save the output
nibbleOut.save("C:/sapyexamples/output/outnibble")
环境
许可信息
- Basic: 需要 Spatial Analyst
- Standard: 需要 Spatial Analyst
- Advanced: 需要 Spatial Analyst