ラベル ウェイトおよびフィーチャ ウェイトは、ラベルとフィーチャに相対的な重要度を割り当てるために使用されます。 このウェイトは、ラベルとフィーチャの間に競合 (オーバーラップ) がある場合にのみ使用します。 マップ上でのラベルの最終的な位置は、ラベルとフィーチャのウェイトに依存します。 さらに、ウェイトを操作する際には、ラベルが一部のフィーチャに重なることを許可すると、テーブル エンジンがラベルの配置に使用できるスペースが増えるので、通常はマップ上に配置されるラベルの数が増えることに注意してください。
フィーチャ ウェイトが設定されたフィーチャは、ラベリングされていない場合でも、常にバリアとしてラベル エンジンに渡されます。 設定された縮尺の範囲外にあるレイヤーおよびラベル クラスは、バリアとして配置エンジンに渡されません。 表示されるフィーチャの数を制限する SQL クエリがある場合は、フィーチャのサブセットのみがバリアとして配置エンジンに追加されます。 残りのフィーチャは、バリアとして表示されたり使用されたりしません。
下の画像は、道路にフィーチャ ウェイトを使用する前後のシナリオを示しています。 左の画像は、道路に対するフィーチャ ウェイトが 0 に設定されています。 複数のラベルが道路フィーチャに重なっています。 右の画像は、道路に対するフィーチャ ウェイトが設定されています。 ラベルの位置は、道路のフィーチャに重ならないように移動しました。 道路のフィーチャに重ならないように配置できない場合は、複数の道路ではなく、1 つの道路のみに重なる位置にラベルが移動します。
標準ラベル エンジン のウェイト
標準ラベル エンジン を使用する場合、ラベルには、低、中、または高のウェイトを設定できます。 フィーチャには、なし、低、中、または高のウェイトを設定できます。 原則として、同等またはより低いウェイトを持つラベルがフィーチャの上に重なることはありません。 デフォルトで、フィーチャには高のラベル ウェイトが設定されています。 一般的に、ラベルが重要であれほど、高いラベル ウェイトを付与する必要があります。 デフォルトでは、ラベル クラスのフィーチャになしのフィーチャ ウェイトが設定され、アノテーション レイヤー、ディメンション レイヤー、およびグラフィックス レイヤーでは、フィーチャに高のフィーチャ ウェイトが設定されます。これは、テキストの上にラベルを配置しないようにするためです。 フィーチャのウェイトを増やすと、ラベル エンジンがラベルの配置に要する処理時間も長くなります。 ポイントまたはライン フィーチャに高のフィーチャ ウェイトを設定すると、これらのフィーチャの上にラベルが配置されることはなくなります。 ポリゴン フィーチャに高のフィーチャ ウェイトを設定すると、これらのフィーチャのアウトライン上にラベルが配置されることはなくなります。
Maplex ラベル エンジン のウェイト
フィーチャ ウェイトは、1 ~ 1000 のスケールでランク付けされます。 フィーチャ ウェイトが 0 のフィーチャはラベルを配置可能なスペースとして扱われ、フィーチャ ウェイトが 1,000 のフィーチャは障害物と見なされ、ラベルを重ねることができません。 Maplex ラベル エンジン では、まず空きスペースにラベルを配置するよう試みます。 また、ラベルを配置可能な空きスペースがなく、フィーチャにラベルを重ねる必要がある場合は、総フィーチャ ウェイトが最も小さい場所が選択されます。
Maplex ラベル エンジン を使用する場合、ポリゴン フィーチャには 2 種類のフィーチャ ウェイトがあります。 内部ウェイトは、他のフィーチャとの比較における、ポリゴンの内部の重要度を指定できます。 境界線ウェイトは、他のフィーチャとの比較における、ポリゴンのエッジの重要度を指定できます。 ポリゴンの内部にはラベルが重なり、そのポリゴンのエッジにはラベルが重ならないようにできます。また、その逆も可能です。
アクティブなマップ内のすべてのラベル クラスが、[ラベル ウェイト ランキング] ダイアログ ボックスに一覧表示されます。 各ラベル クラスとともに、フィーチャ レイヤー名、ダッシュ、およびラベル クラス名が表示されます。 アノテーション レイヤー、ディメンション レイヤー、およびグラフィックス レイヤーも、ラベル配置のバリアとして使用できるため、一覧表示されます。
ラベルの重複を許可
デフォルトでは、ラベルの競合はラベル エンジンによって自動的に解決されるため、ラベルが重なり合うことはありません。 この動作は、レイヤーまたはラベル クラスが [ラベル優先度ランキング] ダイアログ ボックスの最上位にあり、ラベル ウェイトが高に設定されていて、標準ラベル エンジン を使用している場合は [ラベルの重複を許可] がオンに、Maplex Label Engine を使用している場合は [ラベルを削除しない] がオンになっていることを確認することで変更できます。
次に、ウェイトの一般的な使用方法を示します。
- ポイントまたはライン フィーチャまたはポリゴン アウトラインの特定のレイヤー上に、ラベルがまったく配置されないようにします。 この場合は、フィーチャ ウェイトを高または 1,000 に設定します。
- ラベル エンジンにラベルを別の場所に配置させます。 この場合は、フィーチャ ウェイトを中に設定します。
- 一部のラベルが一部のフィーチャ上に配置されるのを防ぎます。 これを行うには、一部のフィーチャ ウェイトを増やし、一部のラベル ウェイトを減らします。
注意:
マップに、テキスト以外のグラフィックスを含むアノテーション レイヤーまたはグラフィックス レイヤーがある場合は、レイヤーのフィーチャ ウェイトをなしまたは 0 に設定して、ラベルがこれらのグラフィックスの上に配置されるように指定します。
- [ラベリング] タブの [マップ] グループで、[オプション] > [ウェイト] をクリックします。
- 変更するラベルまたはフィーチャ ウェイトをクリックして、ウェイトを変更します。
アノテーション レイヤー、ディメンション レイヤー、またはグラフィックス レイヤーのウェイトには、[グラフィック レイヤー] タブをクリックしてアクセスできます。
ヒント:
ポイント フィーチャ、アノテーション フィーチャ、およびディメンション フィーチャを除き、フィーチャ ウェイトは、ラベリングの処理速度が極端に低下する可能性があるため、控えめに使用してください。 個々のラベルを配置する前にすべてのフィーチャの場所を評価する必要があるので、なし以外のフィーチャ ウェイトを使用すると、ラベリングの処理速度が極端に低下する可能性があります。