概要
属性情報に応じてラベリング方法を変更する方法として、IF 構文の条件式を使用する方法と、 [ラベル クラス] を使用する方法があります。ここでは条件式を使用する方法をご紹介します。
なお条件式の記述には Arcade、VBScript、JScript、Python の言語が利用できます。

手順
- [コンテンツ] ウィンドウにてラベリングしたいレイヤーを選択 → ArcGIS Pro 上部の [ラベリング] タブ → [ラベル] をクリックすることで、ラベルが有効化されます。

- [式] をクリックします。

- [ラベル クラス] ウィンドウにて、[言語] を選択し、条件式を入力します。
ここでは例として [言語] に “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.地名}
ラベル条件式の詳細はヘルプ: 「ラベルのテキストの指定」をご参照ください。
このナレッジはお役に立ちましたか?
フィードバックをいただきありがとうございます!