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