Skip to main content

RasterCalculator

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})

Parameter Explanation Data Type

rasters

The list of input rasters.

Raster

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.

  • FirstOf—The extent of the first raster variable

  • IntersectionOf—The minimum area common to all input rasters

  • UnionOf—The combined extent of all input rasters

  • LastOf—The extent of the last raster variable

The default value is FirstOf.

String

cellsize_type

The cell size used to create the output raster.

  • FirstOf—The cell size of the first raster variable

  • MinOf—The minimum cell size of the input rasters

  • MaxOf—The maximum cell size of the input rasters

  • MeanOf—The average cell size of the input rasters

  • LastOf—The cell size of the last raster variable

The default value is FirstOf.

String

Return value

Data Type Explanation

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 *

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

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

# Run the 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")