ラスター演算 (Raster Calculator) での式の構築

Spatial Analyst のライセンスで利用可能。

Image Analyst ライセンスで利用できます。

[ラスター演算 (Raster Calculator)] ツールで式を構築する場合、ダイアログ ボックスで複数のレイヤー、変数、ボタン、ツール名を、クリックおよびダブルクリックすると、入力中に起こる可能性のある構文エラーを避けることができます。

[ラスター演算 (Raster Calculator)] ツールに入力する式は Python で実行され、Python は大文字と小文字を区別するため、ツール名の大文字と小文字を正しく区別して使用することが重要です。 たとえば、[IsNull] ツールを使用する場合、「Isnull」や「isnull」ではなく、「IsNull」と入力します。

複数の関係演算子またはブール演算子を連続して使用するときは、式で括弧を使う必要があります。 詳細については、[ラスター演算 (Raster Calculator)] ツールのヘルプにある使用上のヒントをご参照ください。

ラスター演算ツールのサンプル式

マップ代数演算は、[ラスター演算 (Raster Calculator)] ツールでも、直接 Python でも使用されますが、次に示すように、注意すべき構文の違いがあります。

  • [ラスター演算 (Raster Calculator)] ツールのダイアログ ボックスには固有の出力パラメーターがあるため、[ラスター演算 (Raster Calculator)] ツールを使用する場合、マップ代数演算式には出力名と等号 (=) が含まれません。
  • [ラスター演算 (Raster Calculator)] ツールのダイアログ ボックスでのみ、レイヤー名が演算子と一緒に直接使用できます。 Python 自体で操作する場合は、最初にレイヤーをラスター オブジェクトとしてキャストする必要があります。
  • 同様に、ツールのダイアログ ボックスでのみ、[ラスター演算 (Raster Calculator)] の変数をパーセント記号 (%) または引用符 (") で囲むことができます。

ラスター演算 (Raster Calculator) ツールのダイアログ ボックスの例

以下に、[ラスター演算 (Raster Calculator)] ツールで実行できるマップ代数演算式の例をいくつか示します。 これらの式では、ラスター レイヤー名を引用符で囲みます (たとえば、"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[ラスター演算 (Raster Calculator)] ツールを使用する場合、唯一の違いは、レイヤーだけでなく変数を入力として使用できることです。 構文、使用できる変数のタイプ、ModelBuilder における [ラスター演算 (Raster Calculator)] ツールの接続性の振舞いに関する詳細については、[ラスター演算 (Raster Calculator)] ツールのヘルプをご参照ください。

式での変数およびレイヤーの表示方法

以下のサンプルでは、モデルで使用される [ラスター演算 (Raster Calculator)] ツールのマップ代数演算式の構文を示しています。

  • このサンプルでは、[ラスター データセット変数][Long 変数]、および [ラスター レイヤー] が使用されています。

    変数が異なると構文も若干異なることに注意してください。

    変数またはレイヤー名変数のタイプ式における構文の最初の表示方法

    Reclass Road

    ラスター データセット変数"%Reclass Road%"

    Rd weight

    Long 変数%Rd weight%

    Reclass Landuse

    ラスター レイヤー"Reclass Landuse"

    正しい構文で入力を追加するには、次の手順を実行します。

    1. 式のボックスの適切な位置にポインターを置きます。
    2. 適切なレイヤーをダブルクリックします。

    変数とレイヤーを用いた式を使用するラスター演算ツール
    変数とレイヤーを用いた単純な式を使用するラスター演算ツールを示します。
  • [OK] をクリックして、[ラスター演算 (Raster Calculator)] ツールのダイアログ ボックスを閉じると、Reclass Landuse レイヤーがモデル変数としてモデルに追加されます。

  • [ラスター演算 (Raster Calculator)] ツールのダイアログ ボックスを再び開いた場合は、次のことに注意してください。

    • Reclass Landuse 変数がリストに追加されます。
    • 式の構文が、レイヤーの構文 ("Reclass Landuse") から変数の構文 ("%Reclass Landuse%") に更新されました。
    変数を用いた式を使用するラスター演算ツール
    変数構文を用いた式を使用するラスター演算ツールの例を示します。

関連トピック