ラベル | 説明 | データ タイプ |
マップ代数演算式 | 実行するマップ代数演算式。 入力、値、演算子、使用するツールを指定することで式を作成します。 式に直接入力したり、コントロールを使用したりして作成できます。
| 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 では、ArcPy Python サイト パッケージのエクステンションである Spatial Analyst モジュールを使用して、マップ代数演算式を作成および実行します。 Python で解析を実行する方法については、「マップ代数演算」をご参照ください。 | Raster Calculator Expression |
output_raster | 注意:Python でマップ代数演算式から出力を生成する方法については、「出力の作成」をご参照ください。 | Raster Dataset |
環境
ライセンス情報
- Basic: 次のものが必要 Spatial Analyst または Image Analyst
- Standard: 次のものが必要 Spatial Analyst または Image Analyst
- Advanced: 次のものが必要 Spatial Analyst または Image Analyst