% (Modulo) operator

Spatial Analyst のライセンスで利用可能。

Image Analyst ライセンスで利用できます。

概要

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

Modulo illustration
OutRas = Raster("InRas1") % Raster("InRas2")

ディスカッション

ラスター入力で演算子を使用すると、結果はラスターになります。ただし、すべての入力値が数字の場合、結果は数字になります。

複数の演算子が式に使用されている場合、それらは必ずしも左から右への順に実行されるわけではありません。優先順位値が最も高い演算子が最初に実行されます。演算子の優先順位に関する詳細については、「演算子の優先順位のテーブル」をご参照ください。実行順序の制御には、括弧が使用できます。

この演算子では、入力の順序が結果に影響します。

Any value modulated (divided) by zero is assigned NoData on the output; therefore, any location on the second input that is zero or NoData will return NoData for that location on the output.

The modulo operator 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.

Another way to perform the modulo operator is a %= b, which is an alternative way to write a = a % b.

両方の入力がシングル バンド ラスターの場合、または入力の片方が定数の場合は、出力はシングル バンド ラスターになります。

両方の入力がマルチバンド ラスターの場合、または入力の片方が定数の場合は、出力はマルチバンド ラスターになります。それぞれのマルチバンド入力で、バンドの数は同一の必要があります。

演算子は、1 つの入力に含まれる各バンドについて、他の入力に含まれる対応バンドに対して演算を実行します。入力の 1 つがマルチバンド ラスターで、もう 1 つの入力が定数の場合、演算子はマルチバンド入力に含まれる各バンドについて、定数値との演算を実行します。

構文

in_raster_or_constant1 % in_raster_or_constant2
オペランド説明データ タイプ
in_raster_or_constant1

The numerator input.

If the first input is a raster and the second is a scalar, an output raster is created with the remainder being calculated for each input raster value after being divided by the scalar value.

Raster Layer | Constant
in_raster_or_constant2

The denominator input.

If the first input is a scalar and the second is a raster, an output raster is created with the remainder being calculated for each input raster value after being divided into the scalar value.

Raster Layer | Constant

戻り値

名前説明データ タイプ
out_raster

出力ラスター オブジェクト。

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

Raster

コードのサンプル

% (Modulo) example 1 (Python window)

This sample 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.ia import *
env.workspace = "C:/iapyexamples/data"
outMod = Raster("degs") % Raster("negs")
outMod.save("C:/iapyexamples/output/outmod.tif")
% (Modulo) example 2 (stand-alone script)

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

# Name: Op_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: Image Analyst Extension

# Import system modules
import arcpy
from arcpy import env
from arcpy.ia import *

# Set environment settings
env.workspace = "C:/iapyexamples/data"

# Set local variables
inRaster1 = Raster("degs")
inRaster2 = Raster("negs")

# Execute Mod
outMod = inRaster1 % inRaster2

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

関連トピック