Skip to main content

ラスター演算での式の構築

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

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

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

ラスター演算 ツールに入力する式は Python で実行され、Python は大文字と小文字を区別するため、ツール名の大文字と小文字を正しく区別して使用することが重要です。 たとえば、IsNull ツールを使用する場合、Isnullisnull ではなく 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"

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

    1. 式のボックスの適切な位置にポインターを置きます。

    2. 適切なレイヤーをダブルクリックします。

    変数とレイヤーを用いた式を使用するラスター演算ツール

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

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

    • Reclass Landuse 変数がリストに追加されます。

    • 式の構文が、レイヤーの構文 ("Reclass Landuse") から変数の構文 ("%Reclass Landuse%") に更新されました。

    変数を用いた式を使用するラスター演算ツール

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