マスキングは、シンボル表示されたフィーチャの一部を見えないようにすることで、重なり合っているシンボルやテキストを見やすくするための手段です。 フィーチャ ジオメトリは変わりません。 影響を受けるのはシンボルのみです。
マスキングの一般的用途は、アノテーションの周囲のフィーチャをマスクして、テキストの読みやすさを保つことです。 たとえば、以下のような海抜高度標高マップでは、等高線とテキストが競合します。 マスキングにより、等高線のテキストは読み取れる状態のまま、等高線のテキストの近くにある黒色の等高線の一部が見えなくなります。
この例では、アノテーションの配置に対応する小さな形状のポリゴン フィーチャ レイヤーを使用して等高線がマスクされており、ライン シンボルを視覚的に壊しています。 (白色の形状は [フィーチャ アウトライン マスク (Feature Outline Masks)] ツールによって作成されたものです)。最後の画像では、ポリゴン マスク フィーチャ レイヤーがマップ内にありますが、表示がオフになっているため、マスク ポリゴン自体は表示されていません。
マップ内に等高線とアノテーションしか存在しない場合、アノテーションに使用するテキスト シンボルに白色のハローを追加するだけで構いません。 しかし、このように連続する高度シンボルが下にあるマップには、白色のハローは適していません。 等高線シンボルの一部の表示をマスキングによって取り除くことが推奨されます。
マスキングの方法には、次の 3 つのタイプがあります。
- レイヤー マスキング - マスク レイヤー内のポリゴン フィーチャを使用して、マップまたはシーンで選択したレイヤー内のフィーチャのシンボルに視覚的な穴を作成します。 上の例に示したマスク ポリゴンによる等高線シンボルへの穴の作成は、レイヤー マスキングの例です。
- 高度なマスキング - これはレイヤー マスキングですが、選択したレイヤーのシンボル内のシンボル レイヤーのサブセットについてのみマスキングが行われるように調整されています。 たとえば、道路ライン シンボルの道路枠 (1 つのストローク シンボル レイヤー) のみがマスクされています。 道路シンボルの内部の色 (道路ライン シンボルの 2 つ目のストローク シンボル レイヤー) はマスクされていません。
- フィーチャレベル マスキング - マスキング レイヤーとマスク対象のレイヤーの間のリレーションシップ クラスによって指定されたとおりに、マスキングがフィーチャごとに処理されます。
注意:
シーン内の 3D レイヤーはマスクできませんが、マスキング レイヤーとして使用することはできます。
マスキング レイヤーの作成
方法に関わらず、マスキングはポリゴン フィーチャ レイヤーに依存します。ポリゴン フィーチャ レイヤーのフィーチャには、フィーチャ レイヤーのシンボル内にマスクされた穴を作成するためのジオメトリが含まれています。 任意のフィーチャ レイヤーをマスクすることができますが、マスク フィーチャとなりうるのはポリゴン フィーチャ レイヤーのみです。 既存のポリゴン レイヤーをマスキング レイヤーとして使用することも、専用のマスキング レイヤーを作成することもできます。 ポリゴン マスキング レイヤーの作成には、次のようなジオプロセシング ツールを使用できます。
- [フィーチャ アウトライン マスク (Feature Outline Masks)] - 指定した距離と形状で、シンボル表示入力フィーチャの周囲に、マスクとして使用可能なポリゴンを作成します。
- [インターセクト レイヤー マスク (Intersecting Layers Masks)] - 指定した形状とサイズで、2 つのシンボル表示入力レイヤーの交点に、マスクとして使用可能なポリゴンを作成します。
- [クルドサック マスク (Cul-De-Sac Masks)] - ライン接続の遷移を滑らかにするために、非接続ライン端部でマスクとして使用可能なポリゴンを作成します。
- [オーバーパスの作成 (Create Overpass)] および [アンダーパスの作成 (Create Underpass)] - フィーチャレベルのマスキングを行うため、自動的にフィーチャの競合を識別し、マスク ポリゴン フィーチャを作成し、リレーションシップを設定します。 フィーチャのサブセットを操作するには、式を使用します。
ジオプロセシングを使用してマスキング レイヤーを作成するには、次の手順に従います。
- [解析] タブの [ジオプロセシング] グループで、[ツール] をクリックします。
- [ジオプロセシング] ウィンドウで、[カートグラフィ ツール] > [マスキング] の順に移動し、ワークフローに適したツールをクリックして開きます。
- パラメーターを設定して、ツールを実行します。
マスキングに適したポリゴン フィーチャクラスが作成され、マップまたはシーンに追加されます。
マスキングが表示されるためには、マスクが含まれているポリゴン フィーチャ レイヤーがマップに残っている必要がありますが、[コンテンツ] ウィンドウでこれは通常はオフになっているため、マスク ジオメトリ自体は表示されません。
レイヤー マスキングの使用
レイヤー マスキングは最も単純な形式のマスキングです。 マスク レイヤーのポリゴン フィーチャを使用して、ジオメトリはそのままの状態で、別のフィーチャ レイヤーのシンボル内に穴が効率的に作成されます。 1 つのレイヤーを複数のマスク レイヤーによってマスクすることができます。
1 つまたは複数のマスク レイヤーのポリゴンによってレイヤーをマスクするには、次の手順に従います。
- マップまたはシーンでマスキングがオンになっていることを確認します。
- [コンテンツ] ウィンドウで、マスク対象のレイヤーをハイライト表示します。
- [フィーチャ レイヤー] タブの [描画] グループで [マスキング] をクリックします。
- ドロップダウン メニューで、マスク ポリゴンが含まれているリスト内の 1 つ以上のレイヤーをオンにします。
- マスキングの完全な視覚的効果を確認するには、[コンテンツ] ウィンドウでマスク ポリゴン レイヤーの表示をオフにします。
マスク フィーチャ自体は描画されませんが、マスク効果が持続するためにはマスク フィーチャがマップまたはシーンに残っている必要があります。
高度なマスキングの使用
高度なマスキングは、選択したレイヤーのシンボルの一部のシンボル レイヤーについてのみマスキング効果が適用されるように調整されているレイヤー マスキングです。 たとえば、道路シンボルの、テキストと競合している黒色の高速道路枠だけをマスクし、薄黄色の道路の中心部分は下に表示されたままにすることができます。 これにより、道路が連続して表示された状態で、テキストが読みやすくなります。
注意:
高度なマスキングを使用するには、レイヤーでシンボル レイヤーの描画を有効にする必要があります。
高度なマスキングを使用して、選択したレイヤーのシンボルの一部のシンボル レイヤーのみをマスクするには、次の手順に従います。
- マップまたはシーンでマスキングがオンになっていることを確認します。
- マスク対象のレイヤーでシンボル レイヤーの描画が有効になっていることを確認します。
- [コンテンツ] ウィンドウで、マスク対象のフィーチャ レイヤーをハイライト表示します。
- [フィーチャ レイヤー] タブの [描画] グループで、[マスキング] ドロップダウン メニュー をクリックし、[高度なマスキング] をクリックします。
- [高度なマスキング] ダイアログ ボックスの [ソースのマスク] チェックボックス リストで、1 つ以上のポリゴン マスク ソースをオンにします。
- [シンボル レイヤー] リストには、マスク対象のフィーチャ レイヤー内の各シンボル レイヤーがシンボル レイヤーの描画順にリストされます。 必要に応じてグループを展開し、各シンボル レイヤーのサムネイル画像を表示します。 マスク対象のシンボル レイヤーをオンにします。 上記の例に従って、道路枠シンボル レイヤーをオンにしてマスクしますが、道路の中央部分はオフのままにします。
- [OK] をクリックして、シンボル レイヤーにマスクを適用します。
- マスキングの完全な視覚的効果を確認するには、[コンテンツ] ウィンドウでマスク ポリゴン レイヤーの表示をオフにします。
マスク フィーチャ自体は描画されませんが、マスク効果が持続するためにはマスク フィーチャがマップまたはシーンに残っている必要があります。
マップ全体でのマスキングのオン/オフの切り替え
レイヤー マスキング (または高度なレイヤー マスキング) を使用するマップまたはシーンを作成しているときに、フィーチャの全体像を把握したり、マップを短時間で再描画するために、マップ全体のマスキングを一時的に無効にする必要が生じることがあります。 個々のレイヤーのマスキング設定を無効にすることなく、マップまたはシーン全体でマスキングのオン/オフを切り替えることができます。
注意:
この設定はフィーチャ レベル マスキングには適用されません。
マップまたはシーンでマスキングのオン/オフを切り替えるには、次の手順に従います。
- [コンテンツ] ウィンドウでマップまたはシーンの名前を右クリックします。
- ショートカット メニューで、[プロパティ] をクリックしてマップまたはシーンの [プロパティ] ダイアログ ボックスを開きます。
- マップの [プロパティ] ダイアログ ボックスの [一般] タブで、[マスキングを使用] をオンにします。
- または、[コンテンツ] ウィンドウでマップを右クリックし、[マスキング] をクリックしてマスキングのオン/オフを切り替えます。
アイコンを囲むグレーのアウトラインは、マスキングが現在オンになっていることを示しています。 [マスキング] を再びクリックしてオフにします。
フィーチャ レベル マスキングの使用
個々のフィーチャに対するマスキングを確立するには、マスク対象のレイヤーとマスキング ポリゴン レイヤーの間で、多対多のリレーションシップ クラスを設定します。 リレーションシップ クラスを使用して、特定のマスキング ポリゴンを、特定のマスク対象フィーチャと結び付けます。 リレーションシップ クラスの開始としてマスク ポリゴンを設定する必要があります。 リレーションシップ クラスの目的として、マスク対象のフィーチャを設定する必要があります。 [リレーションシップ クラスの作成 (Create Relationship Class)] ツールで既存のポリゴン フィーチャクラスを使用して、そのポリゴン フィーチャクラスとマスク対象のレイヤーの間に多対多のリレーションシップ クラスを作成することができます。
または、ジオプロセシングを使用して、フィーチャの競合を自動的に検出してマスクとリレーションシップ クラスを作成することもできます。 [オーバーパスの作成 (Create Overpass)] ツールまたは [アンダーパスの作成 (Create Underpass)] ツールを使用して、競合を識別し、マスク ポリゴンを生成し、リレーションシップを設定します。 必要に応じて、出力されたマスキング ポリゴンを編集することができます。
ポリゴン マスク レイヤー、マスク対象のレイヤー、この 2 つの間のリレーションシップ クラスが確立された後、フィーチャ レベル マスキングを設定することができます。 これを行うには、次の手順に従います。
- ポリゴン マスク レイヤー、マスク対象のレイヤー、この 2 つを関連付ける多対多のリレーションシップ クラスがすべて、マップの [コンテンツ] ウィンドウに存在することを確認します。
- [コンテンツ] ウィンドウで、マスク対象のレイヤーをハイライト表示します。
- [フィーチャ レイヤー] タブの [描画] グループで、[シンボル] をクリックして [シンボル] ウィンドウを開きます。
- [高度なシンボル オプション] タブ をクリックします。
- [フィーチャ レベル マスキング] 見出しを展開し、リレーションシップ クラスをオンにしてマスキングを有効化します。
マスキング ポリゴンは、現在のレイヤーのフィーチャをマスクします。
- マスキングの完全な視覚的効果を確認するには、[コンテンツ] ウィンドウでマスク ポリゴン レイヤーの表示をオフにします。
マスク フィーチャ自体は描画されませんが、マスク効果が持続するためにはマスク フィーチャがマップまたはシーンに残っている必要があります。
注意:
マップ レベルでマスキングのオン/オフを切り替えてもフィーチャ レベル マスキングは影響を受けません。