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 の演算子の実装が呼び出され、出力 Raster オブジェクトが出力されます。
ステートメントに数値だけを入力する場合は、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")