Mod (Spatial Analyst)

Available with Spatial Analyst license.

Available with Image Analyst license.

Summary

Finds the remainder (modulo) of the first raster when divided by the second raster on a cell-by-cell basis.

Illustration

Mod illustration
OutRas = Mod(InRas1, InRas2)

Usage

  • The order of inputs is relevant for this tool.

  • Mod assumes both its inputs are integers. If any inputs are not integer, those inputs will be converted to integers through truncation. Output values are always integers.

  • Any value modulated (divided) by 0 is assigned NoData on the output. Therefore, any location on the second input that is either 0 or NoData will return NoData for that location on the output.

  • If the second input value (the divisor) is larger than the first input value (the dividend), the output will be the same value as the first input. For example, if you were to divide a value of 8 by value 10, the integer division calculation will return the input value 8 for the remainder.

  • If both inputs are single-band rasters or one of the inputs is a constant, the output will be a single-band raster.

  • If both inputs are multiband rasters, the tool will perform the operation on each band from one input, and the output will be a multiband raster. The number of bands in each multiband input must be the same.

  • If one of the inputs is a multiband raster and the other input is a constant, the tool will perform the operation using the constant value for each band in the multiband input, and the output will be a multiband raster.

  • If both inputs are multidimensional raster data with the same number of variables, the tool will perform the operation for all slices with the same dimension value. The output will be a multidimensional raster in CRF format. The variables in the inputs must have at least one common dimension and one common dimensional value for this tool to process; otherwise, an error will occur.

    If both inputs have one variable but different names, uncheck the Match Multidimensional Variable geoprocessing environment (set arcpy.env.matchMultidimensionalVariable = False in Python) before running the tool.

    If one of the inputs is a multidimensional raster and the other input is a constant, the tool will perform the operation for all slices for all variables using the constant value, and the output will be a multidimensional raster.

  • In map algebra, the equivalent operator symbol for this tool is "%" (link).

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

Parameters

LabelExplanationData Type
Input raster or constant value 1

The numerator input.

A number can be used as an input for this parameter, provided a raster is specified for the other parameter. To specify a number for both inputs, the cell size and extent must first be set in the environment.

Raster Layer; Constant
Input raster or constant value 2

The denominator input.

A number can be used as an input for this parameter, provided a raster is specified for the other parameter. To specify a number for both inputs, the cell size and extent must first be set in the environment.

Raster Layer; Constant

Return Value

LabelExplanationData Type
Output raster

The output raster.

The cell values are the remainder of the division of the values in the first input by the second input.

Raster

Mod(in_raster_or_constant1, in_raster_or_constant2)
NameExplanationData Type
in_raster_or_constant1

The numerator input.

A number can be used as an input for this parameter, provided a raster is specified for the other parameter. To specify a number for both inputs, the cell size and extent must first be set in the environment.

Raster Layer; Constant
in_raster_or_constant2

The denominator input.

A number can be used as an input for this parameter, provided a raster is specified for the other parameter. To specify a number for both inputs, the cell size and extent must first be set in the environment.

Raster Layer; Constant

Return Value

NameExplanationData Type
out_raster

The output raster.

The cell values are the remainder of the division of the values in the first input by the second input.

Raster

Code sample

Mod example 1 (Python window)

This example returns the value of the remainder (modulus) of dividing the cells in the first raster by the second.

import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outMod = Mod("degs", "negs")
outMod.save("C:/sapyexamples/output/outmod.tif")
Mod example 2 (stand-alone script)

This example returns the value of the remainder (modulus) of dividing the cells in the first raster by the second.

# Name: Mod_Ex_02.py
# Description: Finds the remainder of the first raster when divided by
#              the second raster on a cell-by-cell basis
# 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
inRaster1 = "degs"
inRaster2 = "negs"

# Execute Mod
outMod = Mod(inRaster1, inRaster2)

# Save the output 
outMod.save("C:/sapyexamples/output/outmod")

Related topics