ラスター演算での式の構築
Spatial Analyst ライセンスで利用可能。
Image Analyst ライセンスで利用可能。
ラスター演算 ツールで式を構築する場合、ダイアログ ボックスで複数のレイヤー、変数、ボタン、ツール名を、クリックおよびダブルクリックすると、入力中に起こる可能性のある構文エラーを避けることができます。
ラスター演算 ツールに入力する式は Python で実行され、Python は大文字と小文字を区別するため、ツール名の大文字と小文字を正しく区別して使用することが重要です。 たとえば、IsNull ツールを使用する場合、Isnull や isnull ではなく IsNull と入力します。
複数の関係演算子またはブール演算子を連続して使用するときは、式で括弧を使う必要があります。 詳細については、ラスター演算 ツールのヘルプにある使用上のヒントをご参照ください。
ラスター演算ツールのサンプル式
マップ代数演算は、ラスター演算 と Python の両方で使用されますが、次に示すように、注意すべき構文の違いがあります:
ラスター演算 ツールのダイアログ ボックスには固有の出力パラメーターがあるため、ラスター演算 ツールを使用する場合、マップ代数演算式には出力名と等号 (=) が含まれません。
ラスター演算 ツールのダイアログ ボックスでのみ、レイヤー名が演算子と一緒に直接使用できます。 Python 自体で操作する場合は、最初にレイヤーをラスター オブジェクトとしてキャストする必要があります。
同様に、ツールのダイアログ ボックスでのみ、ラスター演算 の変数をパーセント記号 (%) または引用符 (") で囲むことができます。
ラスター演算ツールのダイアログ ボックスの例
以下に、ラスター演算 ツールで実行できるマップ代数演算式の例をいくつか示します。 これらの式では、ラスター レイヤー名を引用符で囲みます (たとえば、"dist")。
("pop" > 150) & ("dist" > 10)
("Band4" - "Band3") / Float("Band4" + "Band3")
Con("elev" <= 3000, 1, 0)
Con(IsNull("elev"),0, "elev")
Con(("landuse1" == 1) & ("landuse2" == 5), "landuse1" + "landuse2", 99)
Con(Raster('elev') != 0,'elev')
(Con('elev', 'elev', "", "elev_feet <> 0")) + Raster("tree_height")
Con("inRas" < 45,1, Con(("inRas" >= 45) & ("inRas" < 47),2, Con(("inRas" >= 47)&("inRas" < 49),3, Con("inRas" >= 49,4))))
ModelBuilder のラスター演算式の例
ModelBuilder で ラスター演算 ツールを使用する場合、唯一の違いは、レイヤーだけでなく変数を入力として使用できることです。 構文、使用できる変数のタイプ、ModelBuilder における ラスター演算 ツールの接続性の動作に関する詳細については、ラスター演算 ツールのヘルプをご参照ください。
式での変数およびレイヤーの表示方法
以下のサンプルでは、モデルで使用される ラスター演算 ツールのマップ代数演算式の構文を示しています。
注意:
このサンプルでは、再分類 ツールによっていくつかのレイヤーが作成されています。このツールには、Spatial Analyst または 3D Analyst エクステンション ライセンスが必要です。 モデルの ラスター演算 ツールの部分は、Spatial Analyst または Image Analyst エクステンション ライセンスで実行できます。
このサンプルでは、ラスター データセット変数、Long 変数、および ラスター レイヤー が使用されています。
変数が異なると構文も若干異なることに注意してください。
変数またはレイヤー名
変数のタイプ
式における構文の最初の表示方法
Reclass Road
ラスター データセット変数
"%Reclass Road%"
Rd weight
Long 変数
%Rd weight%
Reclass Landuse
ラスター レイヤー
"Reclass Landuse"
正しい構文で入力を追加するには、次の手順を実行します。
式のボックスの適切な位置にポインターを置きます。
適切なレイヤーをダブルクリックします。

変数とレイヤーを用いた単純な式を使用するラスター演算ツールを示します。 OK をクリックして、ラスター演算 ツールのダイアログ ボックスを閉じると、Reclass Landuse レイヤーがモデル変数としてモデルに追加されます。
ラスター演算 ツールのダイアログ ボックスを再び開いた場合は、次のことに注意してください。
Reclass Landuse 変数がリストに追加されます。
式の構文が、レイヤーの構文 ("Reclass Landuse") から変数の構文 ("%Reclass Landuse%") に更新されました。

変数構文を用いた式を使用するラスター演算ツールの例を示します。