Summary
Replaces cells of a raster corresponding to a mask with the values of the nearest neighbors.
Illustration
Usage
This raster analysis portal tool is available when you are signed in to an ArcGIS Enterprise portal that has an ArcGIS Image Server configured for Raster Analysis . When the tool is invoked, ArcGIS Pro serves as a client and the processing occurs in the servers federated with ArcGIS Enterprise. The portal tool accepts layers from your portal as input and creates output in your portal.
The input raster layer supports a layer from the portal, a URI or URL to an image service, or the output from the Make Image Server Layer tool. This tool does not support local raster data or layers.
Nibble allows selected areas of a raster to be assigned the value of their nearest neighbor. It can be used to replace a replace a few individual cells with the values immediately nearby. With larger mask areas, larger swaths of cells can be replaced.
Cells that are NoData in the input mask raster define which cells will be nibbled. Any locations in the input raster that are not within the mask area will not be nibbled, and so the output value for them will be the same as the input value.
NoData cells in the input raster that are not within the mask are not nibbled. They will remain NoData regardless of the settings of the two NoData parameters.
Syntax
arcpy.ra.Nibble(inputRaster, inputMaskRaster, outputName, {nibbleValues}, {nibbleNodata}, {inputZoneRaster})
Parameter | Explanation | Data Type |
inputRaster | The input raster that will be nibbled. The raster can be either integer or floating point type. | Raster Layer; Image Service; String |
inputMaskRaster | The raster used as the mask. The cells that are NoData define the cells that will be nibbled, or replaced, by the value of the closest nearest neighbour. | Raster Layer; Image Service; String |
outputName | The name of the output nibble raster service. The default name is based on the tool name and the input layer name. If the layer name already exists, you will be prompted to provide another name. | String |
nibbleValues (Optional) | Keywords defining if NoData values in the input raster are allowed to nibble into the area defined by the mask raster.
| Boolean |
nibbleNodata (Optional) | Keywords defining if NoData cells in the input raster that are within the mask will remain NoData in the output raster.
| Boolean |
inputZoneRaster (Optional) | The input zone raster. For each zone, input cells that are within the mask will be replaced only by the nearest cell values within that same zone. A zone is all the cells in a raster that have the same value, whether or not they are contiguous. The input zone layer defines the shape, values, and locations of the zones. The zone raster can be either integer or floating point type. | Raster Layer; Image Service; String |
Derived Output
Name | Explanation | Data Type |
outputRaster | The output raster. | Raster Layer |
Code sample
This example replaces cells identified by the mask input with values determined by the nearest neighbors of the input raster.
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")
This example replaces cells identified by the mask input with values determined by the nearest neighbors of the input raster.
#-------------------------------------------------------------------------------
# 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)
Environments
Licensing information
- Basic: Requires ArcGIS Image Server
- Standard: Requires ArcGIS Image Server
- Advanced: Requires ArcGIS Image Server