^ (Boolean XOr)
サマリ
Performs a Boolean Exclusive Or operation on the cell values of two input rasters.
図
説明
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.
構文
オペランド | 説明 | データ タイプ |
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 |
リターン
名前 | 説明 | データ タイプ |
out_raster |
出力ラスタ オブジェクト。 出力値は 0 または 1 です。 | Raster |
コードのサンプル
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")
This sample performs a Boolean XOr operation on two input rasters.
# Name: Op_BooleanXOr_Ex_02.py # Description: Performs a Boolean Exclusive 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") # Check out the ArcGIS Spatial Analyst extension license arcpy.CheckOutExtension("Spatial") # Execute BooleanXOr outBooleanXOr = inRaster1 ^ inRaster2 # Save the output outBooleanXOr.save("C:/sapyexamples/output/outboolxor")