FAQ
ArcGIS Pro: 属性値ごとに異なるラベリングを行う方法(IF 構文)

ナレッジ番号:3125 | 登録日:2023/05/29 | 更新日:2026/01/06

概要

属性情報に応じてラベリング方法を変更する方法として、IF 構文の条件式を使用する方法と、 [ラベル クラス] を使用する方法があります。ここでは条件式を使用する方法をご紹介します。

なお条件式の記述には Arcade、VBScript、JScript、Python の言語が利用できます。 

Image

手順

  1. [コンテンツ] ウィンドウにてラベリングしたいレイヤーを選択 → ArcGIS Pro 上部の [ラベリング] タブ → [ラベル] でラベリングできます。

    Image

  2. [ラベル] タブ → [ラベル クラス] グループ] → [式] Imageをクリックします。
  3. [ラベル クラス] ウィンドウにて、[言語] を選択し、条件式を入力します。
    ここでは例として [言語] に "Arcade"を指定し、以下のような条件式を入力します 。

    例 1 : 特定のラベルだけを表示する方法

    • [temperature] フィールドの値が 29 以上 31 以下の場合 → [temperature] フィールドの値をラベリングする
    • 上記以外 → 何もラベリングしない
      if($feature.temperature <=31 && $feature.temperature >= 29) {return $feature.地名}
      else {return " "}
    


    例 2 : 複数フィールドの内、条件に応じてどれか 1 つの値をラベリングする方法

    • [temperature] フィールドの値が 32 以上の場合 → [地名] フィールドの値をラベリングする
    • [temperature] フィールドの値が 29 以上、31 以下の場合 → "平均気温" という文字と [温度] フィールドの値をラベリングする
    • 上記以外 → 何もラベリングしない
     
    if($feature.temperature >= 32) {return $feature.地名}
     else if ($feature.temperature <=31 && $feature.temperature >= 29) {return "平均気温" + $feature.temperature}
     else {return " "}
    


    例 3 : ラベルの色も指定する方法

    • [temperature] フィールドの値が 32 以上の場合 → [地名] フィールドの値を赤色でラベリングする
    • [temperature] フィールドの値が 29 以上、31 以下の場合 → [地名] フィールドの値を青色でラベリングする 
    • 上記以外 → 何もラベリングしない
    if($feature.temperature >= 32) {return "<CLR red='255'><FNT size= '20'>" + $feature.地名 + "</FNT></CLR>"}
    else if ($feature.temperature <=31 && $feature.temperature >= 29) {return "<CLR blue ='225'><FNT size= '20'>" + $feature.地名 + "</FNT></CLR>"}
    else {return " "}
    

    Image



    例 4 : NULL を含む条件式を使用する方法

    • [気温] フィールドが NULL 値の場合、"未測定" をラベリングする
    • [気温] フィールドが NULL 値ではない場合 → [地名] フィールドをラベリングする
     
    if ($feature.temperature == NULL) {return "未測定"}
     else {return $feature.地名}
    
  4. [適用] ボタンをクリックします。

ラベル条件式の詳細はヘルプ: 「ラベルのテキストの指定」をご参照ください。

関連する質問

メタデータ

種類

機能

製品

バージョン