Expand (Spatial Analyst)

Available with Spatial Analyst license.

Summary

Expands specified zones of a raster by a specified number of cells.

Learn more about how Expand works

Illustration

Expand illustration
OutRas = Expand(InRas1, 1, [5])

Usage

  • The specified zone values are considered to be foreground zones, while the remaining zone values are considered to be background zones. With this tool the foreground zones are allowed to expand into the background zones.

  • When two foreground zones compete to expand into the same background zone, the conflict is resolved based on the value of the majority of surrounding cells.

  • NoData cells are always considered background cells; therefore, neighboring cells of any value can expand into NoData cells. NoData cells will never expand into their neighbors.

  • See Analysis environments and Spatial Analyst for additional details on the geoprocessing environments that apply to this tool.

Syntax

Expand(in_raster, number_cells, zone_values, {expand_method})
ParameterExplanationData Type
in_raster

The input raster for which the identified zones are to be expanded

It must be of integer type.

Raster Layer
number_cells

The number of cells to expand each specified zone by.

The value must be an integer greater than 1.

Long
zone_values
[zone_value,...]

The list of zone values to expand.

The zone values must be integers. They can be in any order.

Long
expand_method
(Optional)

The method used to expand the selected zones.

  • MORPHOLOGICALUses a mathematical morphology method to expand the zones. This is the default.
  • DISTANCEUses a distance-based method to expand the zones.

The DISTANCE option supports parallelization, and can be controlled with the parallelProcessingFactor environment setting.

String

Return Value

NameExplanationData Type
out_raster

The output generalized raster.

The specified zones of the input raster will be expanded by the specified number of cells.

The output is always of integer type.

Raster

Code sample

Expand example 1 (Python window)

This example expands the zone specified by a list of values by two cells.

import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outExpand = Expand("filter", 2, [0, 6, -3])
outExpand.save("C:/sapyexamples/output/outexpand.img")
Expand example 2 (stand-alone script)

This example expands the zone specified by a list of values by two cells.

# Name: Expand_Ex_02.py
# Description: Expands specified zones of a raster 
#              by a specified number of cells.
# 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 = "filter"
numberCells = 2
zoneValues = [0, 6, -3]

# Execute Expand
outExpand = Expand(inRaster, numberCells, zoneValues)

# Save the output 
outExpand.save("C:/sapyexamples/output/outexpand")

Licensing information

  • Basic: Requires Spatial Analyst
  • Standard: Requires Spatial Analyst
  • Advanced: Requires Spatial Analyst

Related topics