Zonal Fill (Spatial Analyst)
Summary
Fills zones using the minimum cell value from a weight raster along the zone boundary.
Usage
-
The input zone raster can be integer or floating point. Note that this is an exception to the other zonal tools, which require the zone input to be integer type.
-
The data type of the output is the same as that of the input weight raster. If the values on the weight raster are floating point, the resultant output raster will be floating point. If the weight raster is integer, the output will be integer.
-
Zonal Fill can be used as part of a hydrological analysis to fill sinks to the minimum elevation of their watershed boundary.
Syntax
Parameter | Explanation | Data Type |
in_zone_raster |
The input raster that defines the zones to be filled. | Raster Layer |
in_weight_raster |
Weight, or value, to be assigned to each zone. | Raster Layer |
Return Value
Name | Explanation | Data Type |
out_raster |
The output raster for which the zones have been filled. | Raster |
Code Sample
This example fills the zones in a raster with the minimum value from the weight raster along the zone boundary.
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outZonalFill = ZonalFill("inzone", "zoneweight")
outZonalFill.save("C:/sapyexamples/output/zonefillout")
This example fills the zones in a raster with the minimum value from the weight raster along the zone boundary.
# Name: ZonalFill_Ex_02.py
# Description: Fills zones using the minimum cell value from a weight
# raster, along the zone boundary.
# 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
inZoneRaster = "inzone"
zoneWeightRaster = "zoneweight"
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute ZonalStatistics
outZonalFill = ZonalFill(inZoneRaster, zoneWeightRaster)
# Save the output
outZonalFill.save("C:/sapyexamples/output/zonefillout3")