属性値を用いて異なるサイズのラベルを表示する方法

ArcGISではフィーチャの属性値をマップ上の注記テキストとして表示するラベリング機能がありますが、基本的に単一レイヤ内のテキスト表現(フォントの種類、サイズ、色など)はすべてのラベルで一律になります。

単一レイヤ内の注記テキストの表現を個別に変える方法はいくつかありますが、今回は ArcGIS Desktop 上で「フィーチャの属性値を用いて異なるサイズのラベルを表示する方法」についてご紹介します。

■対応バージョン
ArcGIS 9.x

■前準備
ラベルを表示するフィーチャクラスの属性テーブルに、ラベルのサイズの値を格納するフィールドを追加し、値を入れておきます。フィールドの型は数値型、テキスト型のどちらでも構いませんが、すべてのレコードに数値が入っている必要があります。

■ArcMap でのラベル条件式の設定
1. 該当レイヤの[レイヤ プロパティ]を開き、[ラベル]タブをクリックします。
2. [条件式]をクリックします。
3. [ラベル条件式]ダイアログの「条件式」に以下のように記載します。
(ラベルのサイズが格納されているフィールドの名前が「TSIZE」、ラベルを表示するフィールドの名前が「NAME」の場合)

“<FNT size='”&cstr([TSIZE])&”‘>” & [NAME] &  “</FNT>”

Labelexpression

※ 条件式はテキスト書式タグを使用して記載しています。これを使用することにより、テキストの各部分の書式を変更することができます。
テキスト書式タグの詳細は ArcGIS Desktop ヘルプの以下のセクションをご参照ください。
「マッピングとビジュアライゼーション」→「マップへのグラフィックとテキストの追加」→「テキストの操作」→ 「テキスト書式タグを使用する」

※ 条件式に記載されている「&cstr」はVBScriptの関数で、値を他のデータ型からテキスト型に変換するときに使用します。ラベルサイズのフィールドの型がもとからテキスト型の場合は、この関数を入れなくてもOKです。

4. [OK]ボタンをクリックし、[ラベル条件式]ダイアログを閉じ、さらに[OK]ボタンをクリックして[レイヤ プロパティ]ダイアログを閉じます。

属性の値によってラベルが異なったサイズで表示されます。

Labelresult

今回は、ラベルのサイズに焦点を当ててみましたが、同様の方法でフォントの種類や色なども設定できますので、ご興味があればお試しください。