Spatial Analyst のライセンスで利用可能。
すべての言語と同様、マップ代数演算には、言語コンポーネントを組み合わせるために特定の規則があります。
マップ代数演算のステートメントの一般的な構造は、代入演算子 (=) を使用して、右にアクション、左に出力名 (Raster オブジェクト) を記述します。 ステートメントは次のような代数演算形式で表されます。
Output_Name = Action
マップ代数演算のコンポーネント
マップ代数演算式は、5 つのコンポーネントで構成されています。 ツールと関数、演算子、入力、ツール パラメーター、および出力データです。
ツールと関数
マップ代数演算式には、ジオプロセシング ツールおよび関数 (Sin、[傾斜角 (Slope)]、[再分類 (Reclassify)] など) が使用されます。
たとえば、ラスター内の各セルの傾斜方向を計算するには、[傾斜方向 (Aspect)] ツールを使用します。
outRas = Aspect("C:/Data/inraster")
演算子
演算子は、入力に適用する数学演算を表すシンボルです。
たとえば、2 つのラスターを加算するには以下を使用します。
outRas = Raster("inraster1") + Raster("inraster2")
マップ代数演算と Python の両方で多くの演算子が使用され、演算子はオーバーロードされます。 ラスター データセットに演算子を適用する場合、上に示したように、Raster を使用してデータセットをキャストする必要があります。 ラスターをキャストすると、その操作をラスターに適用しようとするため、演算子の Spatial Analyst 実装が呼び出され、出力ラスター オブジェクトが生成されます。
ステートメントに数字のみが入力された場合、演算子の Python 実装が使用され、数字の出力が生成されます。 以下の例をご参照ください。
# In the following statement outVar will be set to 15
outVar = 6 + 9
Spatial Analyst に使用できる演算子の完全なリストについては、「マップ代数演算子の概要」をご参照ください。
入力エレメント
ラスター、フィーチャ、数値、定数、オブジェクト、変数などの入力エレメントは、ステートメントに適用されるコンポーネントです。
たとえば、入力ラスターの各セルに正弦 (sine) 計算を適用するには、以下を使用します。
outRas = Sin("inraster")
ツール パラメーター
ツール パラメーターは、ツールの実行方法を定義します。 ツールによってパラメーター セットは固有です。 一部のパラメーターは必須であり、ツールを実行するには値を設定する必要があります。 その他のパラメーターは任意であり、空白のままにするか、デフォルト値を使用することができます。
たとえば、ラスターの傾斜角を計算するには、オプションの出力計測パラメーターを PERCENT_RISE キーワードで設定します。
outRas = Slope("inraster", "PERCENT_RISE")
出力データ
マップ代数演算式の出力は、テンポラリ ラスター データを参照する Raster オブジェクトです。
たとえば、以下は傾斜角の計算結果を outRas という Raster オブジェクトとして保存します。
outRas = Slope("inraster")
注意:
すべてのジオプロセシング ツールと同様に、マップ代数演算ステートメントでは、環境設定と選択セットが優先されます。
Python と同様、各入力パラメーター間にはカンマが必要です。引数間のスペースは任意ですが、読みやすくするために入れることをお勧めします。 行の頭にシャープ記号 (#) を付けることで、スクリプトにコメントを追加できます。
# The following statement takes the slope of the input elevation
outRas = Slope("elevation")