ラベルとフィーチャのウェイトの設定

ラベル ウェイトおよびフィーチャ ウェイトは、ラベルとフィーチャに相対的な重要度を割り当てるために使用されます。このウェイトは、競合が存在する場合、つまりラベルとフィーチャの間に重なりがある場合にだけ使用します。マップ上の最終的なラベルの配置はラベル ウェイトとフィーチャ ウェイトによって決まります。さらに、ウェイトを操作する際には、ラベルが一部のフィーチャに重なることを許可すると、テーブル エンジンがラベルの配置に使用できるスペースが増えるので、通常はマップ上に配置されるラベルの数が増えることに注意してください。

フィーチャ ウェイトが設定されたフィーチャは、ラベリングされていない場合でも、常にバリアとしてラベル エンジンに渡されます。表示されるフィーチャの数を制限する SQL クエリがある場合は、フィーチャのサブセットのみがバリアとして配置エンジンに追加されます。残りのフィーチャは、バリアとして表示されたり使用されたりしません。

以下の図は、道路にフィーチャ ウェイトを使用するシナリオの適用前と適用後の様子を示しています。左側の図では、道路のフィーチャ ウェイトが 0 になっています。いくつかのラベルが道路のフィーチャに重なって表示されているのがわかります。右側の図では、道路にフィーチャ ウェイトが設定されています。ここで、ラベルは道路のフィーチャに重ならないように、位置が移動しています。道路のフィーチャに重ならないように配置できない場合は、複数の道路ではなく、1 つの道路のみに重なる位置にラベルが移動します。

ラベルが道路に重ならないようにするためのフィーチャ ウェイトの使用

Standard Label Engine のウェイト:

Standard Label Engine を使用する場合、ラベルには、[低]、[中]、または [高] のウェイトを設定できます。フィーチャには、「なし」、「低」、「中」、「高」のウェイトを設定することができます。原則として、同等またはより低いウェイトを持つラベルがフィーチャの上に重なることはありません。デフォルトでは、「高」のラベル ウェイトがフィーチャに設定されます。一般に、重要なラベルにはより高いラベル ウェイトを設定します。デフォルトでは、ラベル クラスのフィーチャに [なし] のフィーチャ ウェイトが設定され、アノテーション レイヤーおよびアノテーション レイヤーでは、フィーチャに [高] のフィーチャ ウェイトが設定されます。これは、アノテーション テキストの上にラベルを配置しないようにするためです。フィーチャのウェイトを引き上げると、ラベル エンジンがラベルを配置するための所要時間が増えることになります。ポイントまたはライン フィーチャに「高」のフィーチャ ウェイトを設定すると、これらのフィーチャの上にラベルが配置されることはなくなります。ポリゴン フィーチャに「高」のフィーチャ ウェイトを設定すると、これらのフィーチャのアウトライン上にラベルが配置されることはなくなります。

Maplex Label Engine のウェイト:

フィーチャ ウェイトは、1 ~ 1000 のスケールでランク付けされます。フィーチャ ウェイトが 0 のフィーチャはラベルを配置可能なスペースとして扱われ、フィーチャ ウェイトが 1,000 のフィーチャは障害物と見なされ、ラベルを重ねることができません。Maplex Label Engine では、まず空きスペースにラベルを配置するよう試みます。また、ラベルを配置可能な空きスペースがなく、フィーチャにラベルを重ねる必要がある場合は、総フィーチャ ウェイトが最も小さい場所が選択されます。

Maplex Label Engine を使用する場合、ポリゴン フィーチャには 2 種類のフィーチャ ウェイトがあります。内部ウェイトは、他のフィーチャとの比較における、ポリゴンの内部の重要度を指定できます。境界線ウェイトは、他のフィーチャとの比較における、ポリゴンのエッジの重要度を指定できます。ポリゴンの内部にはラベルが重なり、そのポリゴンのエッジにはラベルが重ならないようにできます。また、その逆も可能です。

アクティブなマップ内のすべてのラベル クラスが、[ラベル ウェイト ランキング] ダイアログ ボックスに一覧表示されます。それぞれが、フィーチャ レイヤー名、ダッシュ、ラベル クラス名という形式で表示されます。アノテーション レイヤーとディメンション レイヤーも、ラベル配置のバリアとして使用できるため、一覧表示されます。

ラベルの重複を許可

デフォルトでは、ラベルの競合は自動的に解決され、ラベルが重なり合うことはありません。この動作は、レイヤーまたはラベル クラスが [ラベル優先度] リストの最上位にあり、ラベル ウェイトが [高] に設定されていて、Standard Label Engine を使用している場合は [ラベルの重複を許可] がオンに、Maplex Label Engine を使用している場合は [ラベルを削除しない] がオンになっていることを確認することで変更できます。

次に、ウェイトの一般的な使用方法を示します。

  • ポイントまたはライン フィーチャまたはポリゴン アウトラインの特定のレイヤー上に、ラベルがまったく配置されないようにします。この場合は、フィーチャ ウェイトを [高] または 1,000 に設定します。
  • ラベル エンジンにラベルを別の場所に配置させます。この場合は、フィーチャ ウェイトを [中] に設定します。
  • 一部のラベルが一部のフィーチャの上に配置されないようにします。このためには、一部のフィーチャ ウェイトを高くして、一部のラベル ウェイトを低くします。
メモ:

マップに、テキスト以外のグラフィックスを含むアノテーション レイヤーがある場合は、レイヤーのフィーチャ ウェイトを [なし] または 0 に設定して、ラベルがこれらのグラフィックスの上に配置されるように指定します。

  1. [ラベリング] タブの [マップ] グループで、[その他] > [ウェイト] をクリックします。
  2. 変更するラベルまたはフィーチャ ウェイトをクリックして、ウェイトを変更します。

    アノテーションとディメンション レイヤーのウェイトには、[グラフィック レイヤー] タブをクリックしてアクセスできます。

ヒント:
ポイント フィーチャ、アノテーション フィーチャ、およびディメンション フィーチャを除き、フィーチャ ウェイトはラベリング速度を大幅に低下させる可能性があるので、フィーチャ ウェイトは控えめに使用します。個々のラベルを配置する前にすべてのフィーチャの場所を評価する必要があるので、[なし] 以外のフィーチャ ウェイトを使用すると、ラベリングの処理速度が極端に低下する可能性があります。