ESRIジャパン株式会社

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

ナレッジ ID: 22732 | 公開日: 2023年5月29日 | 更新日: 2026年8月25日

概要

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

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

手順

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

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

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

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

このナレッジはお役に立ちましたか?

はい
いいえ
フィードバックをいただきありがとうございます!