蚕食 (Spatial Analyst)

需要 Spatial Analyst 许可。

摘要

将掩膜对应的栅格像元替换为最邻近像元的值。

了解有关蚕食工作原理的详细信息

插图

蚕食工具图示
OutRas = Nibble(InRas1, Mask_Ras)

使用情况

  • 您可以使用蚕食工具选择栅格区域并为它们分配最近邻居的值。 可使用该工具将几个单独的像元替换为紧邻的值。 掩膜区域越大,可替换的带状像元越大。

    通用应用程序用于编辑某栅格中已知数据存在错误的区域。

  • 输入掩膜栅格中值为 NoData 的像元定义哪些像元被替换。 输入栅格中任何不在掩膜区域内的位置均不会被替换,因此,它们的输出值和输入值相同。

    输入栅格中不在掩膜内的 NoData 像元不会被替换。 无论两个 NoData 参数设置为何,这些像元都将保持为 NoData。

  • 该工具支持并行处理。 如果您的计算机具有多个处理器或处理器具有多个内核,则会获得更好的性能,特别是处理较大数据集时。 使用 Spatial Analyst 进行并行处理帮助主题提供了有关此功能及其配置方法的详细信息。

    使用并行处理时,将写入临时数据以管理正在处理的数据区段。 默认的临时文件夹位于您的本地 C 驱动器上。 您可以通过设置名为 TempFolders 的系统环境变量并指定要使用的文件夹路径(例如,E:\RasterCache),来控制此文件夹的位置。 如果您具有计算机管理权限,还可以使用注册表项(例如,[HKEY_CURRENT_USER\SOFTWARE\ESRI\ArcGISPro\Raster])。

    默认情况下,此工具将使用可用内核数的 50%。 如果输入数据大小小于 5,000 * 5,000 个像元,则会使用更少的内核。 您可以控制该工具用于并行处理因子环境的内核数。

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

参数

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

具有掩膜位置的输入栅格将替换为其最邻近像元值的栅格。

输入栅格可以是整型,也可以是浮点型。

Raster Layer
输入栅格掩膜

栅格标识输入栅格中可以替换的位置。

值为 NoData 的像元视为在掩膜区域内。 在输出栅格中,这些位置将替换为其输入栅格值中最近邻的值。

掩膜栅格可以是整型,也可以是浮点型。

Raster Layer
如果 NoData 值是最近的相邻要素,则使用这些值
(可选)

指定输入栅格中的 NoData 像元是否可以替换掩膜区域中的像元(如果它们是最邻近像元)。

  • 选中 - NoData 和数据值均可替换掩膜区域中的像元。 也就是说如果输入栅格中的 NoData 值是最邻近点,则可使用其替换掩膜中定义的区域。 这是默认设置。
  • 未选中 - 仅数据值可替换掩膜区域中的像元。 输入栅格中的 NoData 值无法替换掩膜栅格中定义的区域,即使它们是最近邻区域也是如此。
Boolean
蚕食 NoData 像元
(可选)

用于指定掩膜区域中输入栅格内的 NoData 像元是保留还是替换。

  • 未选中 - 将在输出中保留输入栅格中位于掩膜区域内的任意 NoData 像元(保留为 NoData)。 这是默认设置。
  • 选中 - 掩膜区域中输入栅格内的 NoData 像元可替换为为掩膜区域外的最邻近像元值。
Boolean
输入区域栅格数据
(可选)

输入区域栅格。 在每个区域中,掩膜内的输入像元仅会被同一区域内的最近像元值替换。

区域是指栅格中具有相同值的所有像元,无论这些像元是否相连。 输入区域图层定义了区域的形状、值和位置。 区域栅格可以是整型,也可以是浮点型。

Raster Layer

返回值

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

具有替换像元的输出栅格。

识别的输入像元将被用其最邻近点的值进行替换。

如果 in_raster 值为整型,那么输出栅格也为整型。 如果输入栅格为浮点型,则输出栅格也为浮点型。

Raster

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 像元是否可以替换掩膜区域中的像元(如果它们是最邻近像元)。

  • ALL_VALUESNoData 和数据值均可替换掩膜区域中的像元。 也就是说如果输入栅格中的 NoData 值是最邻近点,则可使用其替换掩膜中定义的区域。 这是默认设置。
  • DATA_ONLY仅数据值可替换掩膜区域中的像元。 输入栅格中的 NoData 值无法替换掩膜栅格中定义的区域,即使它们是最近邻区域也是如此。
Boolean
nibble_nodata
(可选)

用于指定掩膜区域中输入栅格内的 NoData 像元是保留还是替换。

  • PRESERVE_NODATA将在输出中保留输入栅格中位于掩膜区域内的任意 NoData 像元(保留为 NoData)。 这是默认设置。
  • PROCESS_NODATA掩膜区域中输入栅格内的 NoData 像元可替换为为掩膜区域外的最邻近像元值。
Boolean
in_zone_raster
(可选)

输入区域栅格。 在每个区域中,掩膜内的输入像元仅会被同一区域内的最近像元值替换。

区域是指栅格中具有相同值的所有像元,无论这些像元是否相连。 输入区域图层定义了区域的形状、值和位置。 区域栅格可以是整型,也可以是浮点型。

Raster Layer

返回值

名称说明数据类型
out_raster

具有替换像元的输出栅格。

识别的输入像元将被用其最邻近点的值进行替换。

如果 in_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"

# Execute Nibble
nibbleOut = Nibble(inRaster, inMask, "ALL_VALUES")

# Save the output 
nibbleOut.save("C:/sapyexamples/output/outnibble")

相关主题