ラスター演算 (Image Analyst ツール)
サマリー
Python 構文を使用して、1 つのマップ代数演算式を作成および実行します。
図

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