蚕食 (栅格分析)

摘要

用最邻近点的值替换掩膜范围内的栅格像元的值。

插图

蚕食工具图示

使用情况

  • 当您登录到已针对 Raster Analysis 配置 ArcGIS Image ServerArcGIS Enterprise 门户时,可以使用栅格分析门户工具。 调用该工具后,ArcGIS Pro 将充当客户端,处理将在与 ArcGIS Enterprise 联合的服务器中进行。 门户工具接受来自门户的图层作为输入,并在门户中创建输出。

    输入栅格图层支持来自门户的图层、影像服务的 URI 或 URL 或创建影像服务器图层工具的输出。 此工具不支持本地栅格数据或图层。

  • 蚕食可将最近邻域的值分配给栅格中的所选区域。 可将其用于将部分单个像元替换为附近的值。 掩膜区域越大,可替换的带状像元越大。

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

    输入栅格中不在掩膜内的 NoData 像元不会被蚕食。 无论两个 NoData 参数设置为何,它们都保持 NoData。

参数

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

将被蚕食的输入栅格。

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

Raster Layer; Image Service; String
输入掩膜栅格

用作掩膜的栅格。

NoData 像元能够定义将被蚕食或被最近邻域的值替换的像元。

Raster Layer; Image Service; String
输出名称

输出蚕食栅格服务的名称。

默认名称基于工具名称以及输入图层名称。 如果该图层名称已存在,则系统将提示您提供其他名称。

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

定义是否允许一点点地除去输入栅格中的 NoData 值以形成由栅格掩膜定义的区域。

  • 选中 - 指定使用最邻近点值,无论其在输入栅格中是 NoData 还是其他数据值。 如果输入栅格中的 NoData 值是最邻近点,则可自由地将其蚕食掉为掩膜中定义的区域。 这是默认设置。
  • 未选中 - 指定仅可自由地将数据值蚕食为掩膜栅格中定义的区域。 即使输入栅格中的 NoData 值是最邻近点,也不允许将其蚕食为掩膜栅格中定义的区域。
Boolean
蚕食 NoData 像元
(可选)

定义输入栅格中处于掩膜内的 NoData 像元在输出栅格中是否仍为 NoData。

  • 未选中 - 指定输入栅格中且处于掩膜内的 NoData 像元在输出中仍为 NoData。 这是默认设置。
  • 选中 - 指定输入栅格中处于掩膜内的 NoData 像元可以被蚕食为有效的输出像元值。
Boolean
输入区域栅格
(可选)

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

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

Raster Layer; Image Service; String

派生输出

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

输出栅格。

Raster Layer

arcpy.ra.Nibble(inputRaster, inputMaskRaster, outputName, {nibbleValues}, {nibbleNodata}, {inputZoneRaster})
名称说明数据类型
inputRaster

将被蚕食的输入栅格。

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

Raster Layer; Image Service; String
inputMaskRaster

用作掩膜的栅格。

NoData 像元能够定义将被蚕食或被最近邻域的值替换的像元。

Raster Layer; Image Service; String
outputName

输出蚕食栅格服务的名称。

默认名称基于工具名称以及输入图层名称。 如果该图层名称已存在,则系统将提示您提供其他名称。

String
nibbleValues
(可选)

关键字定义是否允许将输入栅格中的 NoData 值蚕食为栅格掩膜定义的区域。

  • ALL_VALUES指定最邻近点值在输入栅格中是 NoData 还是其他数据值时将被使用。 如果输入栅格中的 NoData 值是最邻近点,则可自由地将其蚕食掉为掩膜中定义的区域。 这是默认设置。
  • DATA_ONLY指定仅可自由地将数据值一点点地除去,以形成掩膜栅格中定义的区域。 即使输入栅格中的 NoData 值是最邻近点,也不允许将其蚕食为掩膜栅格中定义的区域。
Boolean
nibbleNodata
(可选)

定义输入栅格中处于掩膜内的 NoData 像元在输出栅格中是否仍为 NoData 的关键字。

  • PRESERVE_NODATA指定输入栅格中且处于掩膜内的 NoData 像元在输出中仍为 NoData。 这是默认设置。
  • PROCESS_NODATA指定输入栅格中处于掩膜内的 NoData 像元可以被蚕食为有效的输出像元值。
Boolean
inputZoneRaster
(可选)

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

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

Raster Layer; Image Service; String

派生输出

名称说明数据类型
outputRaster

输出栅格。

Raster Layer

代码示例

Nibble 示例 1(Python 窗口)

本示例将掩膜输入标识的像元替换为由输入栅格的最邻近点确定的值。

import arcpy
arcpy.ra.Nibble(
    "https://MyPortal.esri.com/server/rest/services/Hosted/in_raster/ImageServer",
    "https://MyPortal.esri.com/server/rest/services/Hosted/in_mask/ImageServer",
    "outnibbled1")
Nibble 示例 2(独立脚本)。

本示例将掩膜输入标识的像元替换为由输入栅格的最邻近点确定的值。

#-------------------------------------------------------------------------------
# Name: Nibble_Ex_02.py
# Description: Replaces cells of a raster corresponding to a mask 
#              with the values of the nearest neighbors within defines zones.
#
# Requirements: ArcGIS Image Server

# Import system modules
import arcpy

# Set local variables
inputLayer      = "https://MyPortal.esri.com/server/rest/services/Hosted/inras/ImageServer"
inputMaskLayer  = "https://MyPortal.esri.com/server/rest/services/Hosted/inmask/ImageServer"
outputName      = "outnibbled2"
nibbleValuesOpt = "DATA_ONLY"
nibbleNodataOpt = "PROCESS_NODATA"
inputZoneLayer  = "https://MyPortal.esri.com/server/rest/services/Hosted/inzones/ImageServer"

arcpy.ra.Nibble(inputLayer, inputMaskLayer, outputName, nibbleValuesOpt, 
                nibbleNodataOpt, inputZoneLayer)

许可信息

  • Basic: 需要 ArcGIS Image Server
  • Standard: 需要 ArcGIS Image Server
  • Advanced: 需要 ArcGIS Image Server

相关主题