Bitwise Left Shift 関数

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

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

概要

2 つの入力ラスターのバイナリ値に対してビット単位の左シフト演算を行います。

Bitwise Left Shift の図
Bitwise Left Shift InRas1 (1 の定数で動作)

備考

この関数を実行するには、2 つの入力値が必要です。

この関数に、入力の順序は関係ありません。

入力値が浮動小数点データ タイプの場合は、ビット単位の演算を実行する前に値を切り捨てて整数値に変換されます。

すべてのビット単位の演算は、次の点が共通しています。

  • バイナリ値は 2 の補数として格納されます。
  • ツールは 32 ビット整数を対象とします。
  • 最左端のビット位置は値の符号 (正または負) のために予約されています。 整数が正の値である場合、そのビット位置の値は 0 で、負の値である場合、そのビット位置の値は 1 です。

Bitwise Left Shift 演算は、ビットをラッピングしません。 左端のビットは切り落とされます。

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

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

一方の入力がマルチバンド ラスターで、他方の入力が定数である場合、関数は、マルチバンド入力内の各バンドの定数値に対して演算を実行し、出力はマルチバンド ラスターになります。

両方の入力が、同数の変数を含む多次元ラスターの場合、この関数は、ディメンション値が同じすべてのスライスについて演算を実行し、出力は多次元ラスターになります。 入力に含まれる変数には、同じディメンションまたは一般的なディメンションを指定する必要があり、一般的でないディメンションを指定してはなりません。

一方の入力が多次元ラスターで、他方の入力が定数である場合、関数は、すべての変数のすべてのスライスについて、その定数値に対する演算を実行し、出力は多次元ラスターになります。

パラメーター

パラメーター名説明

ラスター

シフト処理の実行対象となる入力。

他のパラメーターでラスターが指定されている場合、定数値をこのパラメーターの入力として使用できます。

ラスター 2

ビットのシフト回数を定義する入力。

他のパラメーターでラスターが指定されている場合、定数値をこのパラメーターの入力として使用できます。

範囲タイプ

出力ラスターで使用する範囲を選択します。

  • 最初のラスターに一致 - 最初の入力ラスターの範囲を使用して、処理対象範囲を決定します。

  • 共通の範囲 - 重複するピクセルの範囲を使用して、処理対象範囲を決定します。 これがデフォルトです。
  • すべての範囲 - すべてのラスターの範囲を使用して、処理対象範囲を決定します。
  • 最後のラスターに一致 - 最後の入力ラスターの範囲を使用して、処理対象範囲を決定します。

セル サイズ タイプ

出力ラスターで使用するセル サイズを選択します。 すべての入力セル サイズが同じである場合、すべてのオプションは同じ結果を生成します。

  • 最初のラスターに一致 - 入力ラスターの最初のセル サイズを使用します。
  • 最小 - すべての入力ラスターのうちの最小セル サイズを使用します。
  • 最大 - すべての入力ラスターのうちの最大セル サイズを使用します。 これがデフォルトです。
  • 平均 - すべての入力ラスターの平均セル サイズを使用します。
  • 最後のラスターに一致 - 入力ラスターの最後のセル サイズを使用します。

ビット単位の詳細

ビット演算ツールは、入力値のバイナリ表現をピクセル単位で評価します。 バイナリ表記の各ビットについて、ブール演算が実行されます。

この後のセクションでは、各種ビット演算ツールについて具体的に説明します。 例で使用されている矢印は、入力値をバイナリ表記 (base2) に変換し、解析した後、再び 10 進値 (base10) に変換する処理フローを示しています。

Bitwise Left Shift 関数の詳細

次の例では、矢印が示すように、まず 2 つの入力値をバイナリ表記に変換しています。次に、バイナリ変換した値を表す各ビットのペアにビット演算を実行し、最後に 10 進表記へ戻しています。

Bitwise Left Shift では、2 番目の入力で指定されたビット位置だけ、各ビットの値を左へシフトします。 その際、左端ビットに割り当てられている値は失われます。 1 ビット位置だけ左へシフトすると、2 を乗算した場合と同じ結果が得られます。

Bitwise Left Shift と Bitwise Right Shift の例
これは、Bitwise Left Shift と Bitwise Right Shift の例です。

注意:

入力ピクセルのいずれかの値が NoData の場合、出力値は NoData になります。

関連トピック