^ (Boolean XOr) operator

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

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

サマリー

Performs a Boolean Exclusive Or operation on the cell values of two input rasters.

Boolean XOr illustration
OutRas = Raster("InRas1") ^ Raster("InRas2")

説明

The ^ operator will perform a Boolean XOr operation when one or more input (operand) is a raster. If both inputs (operands) are numbers, then the ^ operator will perform a Bitwise XOr operation. For more information on how to work with operators, see Working with operators.

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

ブール (~&^|) 演算子には、関係 (<<=>>===!=) 演算子よりも高い優先度があります。 したがって、ブール演算子が関係演算子と同じ式に使用されている場合、ブール演算子が最初に実行されます。 実行の順序を変更するには、括弧を使用します。

複数の関係および (または) ブール演算子が 1 つの式で連続して使用されているときは、場合によっては実行されない可能性があります。 このような問題を避けるために、式に適切な括弧を使用して、演算の実行順序を明示的に定義します。 詳細については、「複雑なステートメントの構築」の複雑なステートメントのルールに関するセクションをご参照ください。

ブール型の評価を実行するには、2 つの入力値が必要です。

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

入力値が浮動小数点数値の場合は、ブール演算を実行する前に値を切り捨てて整数値に変換されます。 出力値は、必ず整数になります。

Another way to perform the Boolean XOr operation is a ^= b, which is an alternative way to write a = a ^ b.

両方の入力がシングルバンド ラスターである場合、またはいずれかの入力が定数である場合、出力はシングルバンド ラスターになります。

両方の入力がマルチバンド ラスターである場合、演算子は 1 つの入力に含まれるバンドごとに演算を実行し、出力はマルチバンド ラスターになります。 各マルチバンド入力のバンド数は同一である必要があります。

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

両方の入力が多次元ラスターであり、変数の数が同じである場合、演算子は同じディメンション値を持つすべてのスライスに対して演算を実行し、出力は多次元ラスターになります。 入力に含まれる変数には同じディメンションまたは共通のディメンションが必要です。共通でないディメンションが存在してはなりません。

両方の入力に 1 つの変数が含まれているが、名前が異なっている場合は、演算を実行するために、matchMultidimensionalVariable ジオプロセシング環境を False に設定します。

入力のうちの 1 つが多次元ラスターであり、もう 1 つが定数である場合、演算子は定数値に対してすべての変数に含まれるすべてのスライスの演算を実行し、出力は多次元ラスターになります。

パラメーター

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

The first input to use in the Boolean XOr operation.

入力値の 1 つがラスターで、もう 1 つがスカラーである場合は、入力ラスターの各セルに実行される評価を持った出力ラスターが作成されます。

Raster Layer | Constant
in_raster_or_constant2

The second input to use in the Boolean XOr operation.

入力値の 1 つがラスターで、もう 1 つがスカラーである場合は、入力ラスターの各セルに実行される評価を持った出力ラスターが作成されます。

Raster Layer | Constant

コードのサンプル

^ (Boolean XOr) example 1 (Python window)

This sample performs a Boolean XOr operation on two input rasters.

import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outBooleanXOr = Raster("degs") ^ Raster("negs")
outBooleanXOr.save("C:/sapyexamples/output/outboolxor.tif")
^ (Boolean XOr) example 2 (stand-alone script)

This sample performs a Boolean XOr operation on two input rasters.

# Name: Op_BooleanOr_Ex_02.py
# Description: Performs a Boolean Or operation on the cell values of
#              two input rasters
# 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 = Raster("degs")
inRaster2 = Raster("negs")

# Execute BooleanOr
outBooleanOr = inRaster1 | inRaster2

# Save the output 
outBooleanOr.save("C:/sapyexamples/output/outboolor")

関連トピック