マップ代数演算の構文とコンポーネント

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

すべての言語と同様、マップ代数演算には、言語コンポーネントを組み合わせるために特定の規則があります。

マップ代数演算のステートメントの一般的な構造は、代入演算子 (=) を使用して、右にアクション、左に出力名 (Raster オブジェクト) を記述します。 ステートメントは次のような代数演算形式で表されます。

Output_Name = Action

マップ代数演算のコンポーネント

マップ代数演算式は、5 つのコンポーネント、すなわちツールと関数、演算子、入力、ツール パラメーター、出力データで構成されています。

ツールと関数

マップ代数演算式には、ジオプロセシング ツールおよび関数 ([Sin][傾斜角 (Slope)][再分類 (Reclassify)] など) が使用されます。

たとえば、ラスター内の各セルの傾斜方向を計算するには、[傾斜方向 (Aspect)] ツールを使用します。

outRas = Aspect("C:/Data/inraster.tif")

演算子

演算子は、入力に適用する数学演算を表すシンボルです。

たとえば、2 つのラスターを加算するには以下を使用します。

outRas = Raster("inraster1.tif") + Raster("inraster2.tif")

マップ代数演算と Python の両方で多くの演算子が使用され、演算子はオーバーロードされます。 ラスター データセットに演算子を適用する場合、上に示したように、Raster を使用してデータセットをキャストする必要があります。 ラスターをキャストすると、その操作をラスターに適用しようとするため、演算子の Spatial Analyst 実装が呼び出され、出力ラスター オブジェクトが生成されます。

ステートメントに数字のみが入力された場合、演算子の Python 実装が使用され、数字の出力が生成されます。 以下の例をご参照ください。

# In the following statement outVar will be set to 15
outVar = 6 + 9

Spatial Analyst に使用できる演算子の完全なリストについては、「マップ代数演算子の概要」をご参照ください。

入力エレメント

ラスター、フィーチャ、数値、定数、オブジェクト、変数などの入力エレメントは、ステートメントに適用されるコンポーネントです。

たとえば、入力ラスターの各セルに正弦 (sine) 計算を適用するには、以下を使用します。

outRas = Sin("inraster.tif")

ツール パラメーター

ツール パラメーターは、ツールの実行方法を定義します。 ツールによってパラメーター セットは固有です。 一部のパラメーターは必須であり、ツールを実行するには値を設定する必要があります。 その他のパラメーターは任意であり、空白のままにするか、デフォルト値を使用することができます。

たとえば、ラスターの傾斜角を計算するには、オプションの出力計測パラメーターを PERCENT_RISE キーワードで設定します。

outRas = Slope("inraster.tif", "PERCENT_RISE")

出力データ

マップ代数演算式の出力は、テンポラリ ラスター データを参照する Raster オブジェクトです。

たとえば、以下は傾斜角の計算結果を outRas という Raster オブジェクトとして保存します。

outRas = Slope("inraster.tif")
注意:

すべてのジオプロセシング ツールと同様に、マップ代数演算ステートメントでは、環境設定と選択セットが優先されます。

Python と同様、各入力パラメーター間にはカンマが必要です。 引数間のスペースは任意ですが、読みやすくするために入れることをお勧めします。 行の頭にシャープ記号 (#) を付けることで、スクリプトにコメントを追加できます。

# The following statement takes the slope of the input elevation in degrees.
outRas = Slope("elevation.tif", "DEGREE", 0.3043)

関連トピック


このトピックの内容
  1. マップ代数演算のコンポーネント