RasterCalculator

Available with Image Analyst license.

Available with Spatial Analyst license.

Summary

Provides access to all existing math functions and returns a raster object with the mathematical operation applied.

Discussion

For more information about how this function works, see the Raster Calculator raster function.

The referenced raster dataset for the raster object is temporary. To make it permanent, you can call the raster object's save method.

Syntax

RasterCalculator (rasters, input_names, expression, {extent_type}, {cellsize_type})
ParameterExplanationData Type
rasters
[rasters,...]

The list of input rasters.

Raster
input_names
[input_names,...]

The user-defined variable names.

String
expression

Build an algebraic expression to perform spatial analysis on the input raster.

String
extent_type

The spatial extent used to create the output raster.

  • FirstOfThe extent of the first raster variable
  • IntersectionOfThe minimum area common to all input rasters
  • UnionOfThe combined extent of all input rasters
  • LastOfThe extent of the last raster variable

(The default value is FirstOf)

String
cellsize_type

The cell size used to create the output raster.

  • FirstOfThe cell size of the first raster variable
  • MinOfThe minimum cell size of the input rasters
  • MaxOfThe maximum cell size of the input rasters
  • MeanOfThe average cell size of the input rasters
  • LastOfThe cell size of the last raster variable

(The default value is FirstOf)

String
Return Value
Data TypeExplanation
Raster

The output raster.

Code sample

RasterCalculator example 1

Example of a map algebraic expression using a raster calculator.

from arcpy.sa import *
out_rc_multi_raster = RasterCalculator(["raster1.tif", "raster2.tif"],
                                       ["x", "y"], "x*y")
out_rc_multi_raster.save("C:/arcpyExamples/raster_rc_multi.tif")
RasterCalculator example 2

Example of a map algebraic expression using a raster calculator.

# Import system modules
import arcpy
from arcpy.sa import *

# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")

# Set the analysis environments
arcpy.env.workspace = "C:/arcpyExamples/data"

# Set local variables
in_raster1 = "raster1.tif"
in_raster2 = "raster2.tif"

# Excuate RasterCalculator(Minus) function
out_rc_minus_raster = RasterCalculator([in_raster1, in_raster2], ["x", "y"],
                                       "x-y", "", "FirstOf")

# Save the output
out_rc_minus_raster.save("C:/arcpyExamples/raster_rc_minus.tif")

Related topics