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

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

概要

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

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

手順

  1. [コンテンツ] ウィンドウにてラベリングしたいレイヤーを選択 → ArcGIS Pro 上部の [ラベリング] タブ → [ラベル] をクリックすることで、ラベルが有効化されます。
  2. [式] をクリックします。
  3. [ラベル クラス] ウィンドウにて、[言語] を選択し、条件式を入力します。
  4. ここでは例として [言語] に "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 " "}


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

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

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

関連する質問

メタデータ

種類

機能

製品

バージョン