描述
用最邻近点的值替换掩膜范围内的栅格像元的值。
插图
使用方法
此栅格分析门户工具将在您登录到 ArcGIS Enterprise 时可用,其中门户包含一个 ArcGIS Image Server ,此链接专为 Raster Analysis 配置。调用该工具后,ArcGIS Pro 将充当客户端,处理将在与 ArcGIS Enterprise 联合的服务器中进行。门户工具接受来自门户的图层作为输入,并在门户中创建输出。
输入栅格图层支持来自门户的图层、图像服务的 URI 或 URL 或创建影像服务器图层工具的输出。此工具不支持本地栅格数据或图层。
蚕食可将最近邻域的值分配给栅格中的所选区域。可将其用于将部分单个像元替换为附近的值。掩膜区域越大,可替换的带状像元越大。
输入掩膜栅格中值为 NoData 的像元定义哪些像元被蚕食。输入栅格中任何不在掩膜区域内的位置均不会被蚕食,因此,它们的输出值和输入值相同。
输入栅格中不在掩膜内的 NoData 像元不会被蚕食。无论两个 NoData 参数设置为何,它们都保持 NoData。
语法
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 值以形成由栅格掩膜定义的区域。
| Boolean |
nibbleNodata (可选) | 定义输入栅格中处于掩膜内的 NoData 像元在输出栅格中是否仍为 NoData 的关键字。
| Boolean |
inputZoneRaster (可选) | 输入区域栅格。在每个区域中,掩膜内的输入像元仅会被同一区域内的最近像元值替换。 区域是指栅格中具有相同值的所有像元,无论这些像元是否相连。输入区域图层定义了区域的形状、值和位置。区域栅格可以是整型,也可以是浮点型。 | Raster Layer; Image Service; String |
派生输出
名称 | 说明 | 数据类型 |
outputRaster | 输出栅格。 | 栅格图层 |
代码示例
此例使用由输入栅格的最邻近点确定的值来替换由输入掩膜所识别的像元。
import arcpy
arcpy.Nibble_ra(
"https://MyPortal.esri.com/server/rest/services/Hosted/in_raster/ImageServer",
"https://MyPortal.esri.com/server/rest/services/Hosted/in_mask/ImageServer",
"outnibbled1")
此例使用由输入栅格的最邻近点确定的值来替换由输入掩膜所识别的像元。
#-------------------------------------------------------------------------------
# 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.Nibble_ra(inputLayer, inputMaskLayer, outputName, nibbleValuesOpt,
nibbleNodataOpt, inputZoneLayer)
许可信息
- Basic: 需要 ArcGIS Image Server
- Standard: 需要 ArcGIS Image Server
- Advanced: 需要 ArcGIS Image Server