ラスタ演算(Raster Calculator) (Spatial Analyst)
図
使用法
[ラスタ演算(Raster Calculator)] ツールを使用すると、ラスタを出力するマップ代数演算の式を作成および実行できます。
式で使用するデータセットや変数を選択するには、[レイヤと変数] リストを使用します。数値や算術演算子は、ツール ダイアログ ボックスの該当するボタンをクリックすることで、式に追加できます。よく使用される条件や算術ツールのリストが提供されており、式に簡単に追加できます。
データへのフル パスや、環境設定の [現在のワークスペース] で指定されたフォルダにあるデータは、引用符("")の中に入力できます。数値とスカラーは、式の中に直接入力できます。
[ラスタ演算] ツールのツール ダイアログ ボックスにある演算子:
標準の Python 構文を使用して、複数のジオプロセシング ツールと機能をマップ代数演算式として作成できます。
注意:ツール名を入力する際には、ツール名の構文を確認してください。Python は大文字と小文字を区別するため、大文字と小文字が間違った式は無効になり、実行できません。
ジオプロセシング ツールを使用したマップ代数演算式の一般的な形式の例:
Con(IsNull("streams"), 0, "streams")
ツールは、Python スクリプトで使用される標準のマップ代数演算構文をサポートしています。ただし、次のような場合だけは例外です。
- 出力名は [出力ラスタ] パラメータで指定されているため、出力ラスタ名や = の記号を式に入れる必要はありません。
- 演算子を使うときに、入力データをラスタ オブジェクトとしてキャストする必要はありません。
環境設定で [範囲] を設定し、式の中で入力ラスタ名を指定することで、ラスタ データセットを簡単にクリップできます。ツールを実行するときに、結果の出力ラスタが指定した範囲に基づいてクリップされます。
定数値を持つセルのあるラスタを作成するには、環境設定で適切な [範囲] と [セル サイズ] を指定し、式に数値を入力します。
複数の演算子が式に使用されている場合、それらは必ずしも左から右へという順に実行されるわけではありません。優先順位値が最も高い演算子が最初に実行されます。演算子の優先順位に関する詳細については、「演算子の優先順位のテーブル」をご参照ください。実行順序の制御には、括弧が使用できます。
ブール(~、&、^、|)演算子には、関係(<、<=、>、>=、==、!=)演算子よりも高い優先度があります。したがって、ブール演算子が関係演算子と同じ式に使用されている場合、ブール演算子が最初に実行されます。実行の順序を変更するには、括弧を使用します。
複数の関係および(または)ブール演算子が 1 つの式で連続して使用されているときは、場合によっては実行されない可能性があります。このような問題を避けるために、式に適切な括弧を使用して、演算の実行順序を明示的に定義します。詳細については、「複雑なステートメントのルール」をご参照ください。
マップ代数演算の遅延評価機能を利用することで、処理パフォーマンスを向上することが可能な場合があります。遅延評価は最適化技術で、式の個々のコンポーネントがインテリジェントに処理されるため、ディスク内の中間データセットの作成を最小化します。
この機能を利用できるのは、セル単位で処理する演算子とツールだけです。遅延評価をサポートする演算子とツールは、[ラスタ演算(Raster Calculator)] ツール自体の中に、ボタンとして、またはツール群のリスト内にあるものです。
[ラスタ演算(Raster Calculator)] ツールは ModelBuilder でも使用できますが、次の点に注意してください。
- 式の構文は、変数の指定方法を決定します。変数リストから変数を選択した場合、その変数は式の現在のカーソル位置に追加されます。モデルの整合チェック:
- レイヤ名は、二重引用符("")で囲みます。
例:"inlayer"
- Long、Double、Boolean 型の変数は、パーセント記号(%%)で囲みます。引用符は必要ありません。
例:%scale_factor%
- データセット名や文字列を表す変数は、引用符とパーセント記号("%%")で囲みます。
たとえば、変数リストから inraster を選択すると、式の中では "%inraster%" となります。
- レイヤ名は、二重引用符("")で囲みます。
- ModelBuilder では、次の変数タイプが式の入力に使用できます。
- 文字列
- ブール型
- 数値(Double と Long)
- データ(ラスタ データセット、ラスタ レイヤ、ラスタ バンド、*.lyr レイヤ ファイル)
- [ラスタ演算] ツールは一般的に、ModelBuilder のモデルの標準的な接続性の振舞いに従います。ただし、有効なマップ代数演算式の構築要件による例外があります。たとえば、次のものがあります。
- 変数が変数のリストから選択された場合、その変数は [ラスタ演算] ツールに接続されます。すべての変数は、ツール内の [変数] リストに自動的にリストされます。
- データセットまたは変数が式で使用されている場合、変数とツール間にリンクが作成されます。式からその変数を削除すると、変数とツール間に関連付けられたリンクも削除されます。
- 変数への接続を削除すると、その変数は式から削除されます。
- ツールに接続された変数の名前を変えないでください。式の中で、その変数の名前は変更されません。変数の名前を変えた場合、その式は無効になります。
- 式の構文は、変数の指定方法を決定します。変数リストから変数を選択した場合、その変数は式の現在のカーソル位置に追加されます。モデルの整合チェック:
[ラスタ演算(Raster Calculator)] ツールは、ArcGIS Desktop アプリケーションの中でジオプロセシング ツールのダイアログ ボックスまたは ModelBuilder の中のみでの使用を想定しています。スクリプトでの使用は想定されていないため、ArcPy Spatial Analyst モジュールでは使用できません。
構文
パラメータ | 説明 | データ タイプ |
expression | 注意: Python では、マップ代数演算式は、Spatial Analyst モジュールを使用して作成および実行されなければなりません。このモジュールは、ArcPy Python サイト パッケージのエクステンションです。 Python で解析を実行する方法については、「Spatial Analyst のマップ代数演算」をご参照ください。 | String |
output_raster | 注意: Python でマップ代数演算式から出力を生成する詳細については、「マップ代数演算から出力を生成」をご参照ください。 | Raster Dataset |