ラスタ演算(Raster Calculator)での式の構築
[ラスタ演算(Raster Calculator)] ツールで式を構築する場合、ダイアログ ボックスで使用できる複数のレイヤ、変数、ボタン、ツール名を、クリックおよびダブルクリックすると、入力中に起こる可能性のある構文エラーを避けることができます。
[ラスタ演算(Raster Calculator)] ツールに入力する式は Python で実行され、Python は大文字と小文字を区別するため、ツール名の大文字と小文字を正しく区別して使用することが重要です。たとえば、[IsNull] ツールを使用する場合、「IsNull」と入力しなければならず、「Isnull」または「isnull」と入力してはいけません。
複数の関係演算子またはブール演算子を続けて使用する場合、式には括弧が必要です。詳細については、[ラスタ演算(Raster Calculator)] ツールのヘルプにある使用上のヒントをご参照ください。
ラスタ演算(Raster Calculator)ツールのダイアログ ボックスにあるサンプル式
マップ代数演算は、ラスタ演算(Raster Calculator)と Python の両方で使用されますが、注意すべき構文の違いがいくつかあります。
- [ラスタ演算(Raster Calculator)] ツールのダイアログ ボックスには固有の出力パラメータがあるため、[ラスタ演算(Raster Calculator)] を使用する場合、マップ代数演算式には出力名と等号(=)が含まれません。
- [ラスタ演算(Raster Calculator)] ツールのダイアログ ボックスでのみ、レイヤ名が演算子と一緒に直接使用できます。Python 自体で操作する場合は、最初にレイヤをラスタ オブジェクトとしてキャストする必要があります。
- 同様に、ツールのダイアログ ボックスでのみ、ラスタ演算の変数をパーセント記号(%)または引用符(")で囲むことができます。
ラスタ演算(Raster Calculator)ツールのダイアログ ボックスの例
以下に、[ラスタ演算(Raster Calculator)] ツールで実行できるマップ代数演算式の例をいくつか示します。これらの式では、ラスタ レイヤ名を引用符で囲みます(たとえば、"dist")。
- ("pop" > 150) & ("dist" > 10)
- (("reclass_rd_dist" * 3) + ("reclass_landuse" * 2) + "reclass_elev") /6.0
- ("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 で [ラスタ演算(Raster Calculator)] ツールを使用する場合、唯一の違いは、レイヤだけでなく変数を入力として使用できることです。構文、使用できる変数のタイプ、ModelBuilder における [ラスタ演算(Raster Calculator)] ツールの接続性の振舞いに関する詳細については、[ラスタ演算(Raster Calculator)] ツールのヘルプをご参照ください。
式での変数およびレイヤの表示方法
以下のサンプルでは、モデルで使用される [ラスタ演算(Raster Calculator)] ツールのマップ代数演算式の構文を示しています。
このサンプルでは、ラスタ データセット変数()、Long 変数()、および ラスタ レイヤ()が使用されています。
変数が異なると構文も若干異なることに注意してください。
変数またはレイヤ名
変数のタイプ
式における構文の最初の表示方法
Reclass Road
ラスタ データセット変数 "%Reclass Road%" Rd weight
Long 変数 %Rd weight% Reclass Landuse
ラスタ レイヤ "Reclass Landuse" 正しい構文で入力を追加する方法
- 式のボックスの適切な位置にカーソルを置きます。
- 適切なレイヤまたは変数名をダブルクリックします。
[OK] をクリックして、[ラスタ演算(Raster Calculator)] ツールのダイアログ ボックスを閉じると、"Reclass Landuse" レイヤがモデル変数としてモデルに追加されます。
[ラスタ演算(Raster Calculator)] ツールのダイアログ ボックスが再び開いた場合は、次のことに注意してください。
- Reclass Landuse 変数が [レイヤと変数] のリストに追加されます。
- 式の構文が、レイヤの構文("Reclass Landuse")から変数の構文("%Reclass Landuse%")に更新されました。