道路の競合を解決(Resolve Road Conflicts)ツールの機能
[道路の競合を解決(Resolve Road Conflicts)] ツールは、シンボル表示された道路フィーチャをグラフィックス上で重ならないように調整します。グラフィックスの重なりが生じるのは一般に、道路データを作成時よりも小さい縮尺で表示したときです。ライン シンボルを適用すると、隣接する道路同士が互いに重なることがあります。
道路の競合を解決(Resolve Road Conflicts)ツールの機能
基準縮尺でシンボル表示された入力フィーチャは、互いに近接しているか、また平行かどうか評価されます。それらの入力フィーチャは、[階層フィールド] の値に基づいてランク付け、分類されます。フィーチャ(またはフィーチャの一部)の位置を若干移動することによって、グラフィックスの重なりを解決し、表示を見やすくします。フィーチャの一部だけを移動するときは、トランジションがスムーズに処理されます。発生した変位は、必要に応じてポリゴン出力フィーチャクラスに格納できます。このフィーチャクラスを [移動の反映(Propagate Displacement)] ツールへの入力として使用することによって、他のフィーチャとの空間的関係を維持できます。
このツールは、フィーチャを空間的関係および相対的階層に基づいて移動します。
異種フィーチャ:異種フィーチャはそれぞれ階層値が異なります。高速道路車線の横側に並んで延びる側道は、異種フィーチャの例です。これらのフィーチャのシンボルのエッジは、互いが基準縮尺で 0.3 mm 以内に位置している場合は常に、エッジ間の視覚ギャップを 0.3 mm だけ外側に移動します。下位階層値の(重要性の高い)フィーチャが収まるだけの領域が確保されるように、上位階層値の(重要性の低い)フィーチャを移動します。
同種フィーチャ:同種フィーチャはそれぞれ階層値が同じです。高速道路の 2 車線や、大通りの 2 車線は、同種フィーチャの例です。これらのフィーチャが平行(またはほぼ平行)で、各フィーチャのシンボルのエッジが基準縮尺で物理的に重なり合うときは常にそのエッジ同士が遠くに引き離されるため、シンボル同士は間隔を空けずに互いに隣接します。同様に、2 つのシンボルがかなり接近し合っているときは、一緒にスナップするので、シンボル同士が互いに隣接します。
行き止まり:行き止まりの道路の一端と別の道路の間に、視覚的に認識できる空間が存在しない場合、行き止まりの道路(一端で接続されていない「ダングル」フィーチャ)がやや短縮されます。これにより、接続した交差部(存在しない場合)の出現を防ぐことができます。接続されていない道路セグメントのシンボルのエッジが別の入力フィーチャから基準縮尺で 0.5 mm 未満離れているときは、行き止まりが 0.5 mm の間隔だけ短縮されます。
円:ロータリーなどの円形(またはほぼ円形の)フィーチャは、シンボルの内側のエッジ間に基準縮尺で 0.3 mm の視覚的に認識できる間隔を空けて、拡大(外側へ展開)されます。
データの準備に関する考慮事項
[道路の競合を解決(Resolve Road Conflicts)] ツールは、ライン フィーチャを出力縮尺でシンボル表示されたときにグラフィックス上で見やすくなるように調整します。一度に 2 つ以上のレイヤを評価し、処理できます。交通ネットワーク内で共存するフィーチャ間のリレーションシップをツールでメンテナンスするためには、入力フィーチャのジオメトリを正しく設定することがきわめて重要です。入力データに関して、次の要件と推奨事項を念頭に置いてください。
シングルパート フィーチャ:この入力フィーチャには、マルチパート フィーチャを含めることはできません。フィーチャをシングル パートに変換するには、[マルチパート → シングルパート(Multipart To Singlepart)] ツールを使用するか、または [単一パートから構成される] ルールでトポロジを作成します。
共有セグメント: 入力フィーチャ同士は、セグメントを共有するので、互いにオーバーラップすることができません。これらの問題を解決するには、[重複しない] ライン ルールおよび [同一ライン内で重複しない] ライン ルールでトポロジを作成してください。複数の入力レイヤでツールを実行する場合、[他クラスと重複しない] ルールでトポロジを作成してください。共用セグメントが検出されると、エラーが発生し、ツールの処理は実行されません。関与しているフィーチャのオブジェクト ID は、SharedGeom#.txt(# は各ログ ファイルが生成されるたびに増分する数値)という名前のログ ファイルに書き込まれます。
自己交差フィーチャ: 入力フィーチャが交差している場合、または共通の始点と終点を共有している場合は、予期しない結果になる可能性があります。これらの領域を特定するには、[同一ライン内で交差しない] ライン ルールでトポロジを作成してください。自己交差フィーチャが検出されると、警告が発生し、ツールの処理が続行されます。自己交差フィーチャのオブジェクト ID は、SelfIntersect#.txt(# は各ログ ファイルが生成されるたびに増分する数値)という名前のログ ファイルに書き込まれます。
空または Null ジオメトリ: 入力フィーチャは有効なジオメトリで構成する必要があります。形状長さがゼロまたは NULL のフィーチャが検出された場合、警告が発生し、それらのフィーチャはツールに無視されます。空または NULL ジオメトリを持つフィーチャのオブジェクト ID は、EmptyGeom#.txt(# は各ログ ファイルが生成されるたびに増分する数値)という名前のログ ファイルに書き込まれます。必要に応じて [ジオメトリの修正(Repair Geometry)] ツールを使用して、これらのフィーチャを修正してください。
隠れた行き止まり: 最終的な縮尺でシンボル表示したときに、外観上はあたかも接続されているかのように見えても、実は接続されていない場合があります。そのようなセグメントを「隠れた行き止まり」といいます。行き止まりでよい場合もありますが、本来行き止まりであってはならず、ただ見かけ上つながっているように見えるため、気付かれずに放置されている場合があります。それを修復しないままツールを実行すると、つながっていない箇所が見た目にも明らかになることがあります。別のセグメントから 0.5 mm(基準縮尺を考慮)以内にある端点は、隠れた行き止まりとして検出されます。隠れた行き止まりが検出されると、警告が発生しますが、ツールの処理は続行されます。隠れた行き止まりは、検出されたときに DeadEnd#.txt(# は各ログ ファイルが生成されるたびに増分する数値)という名前のログ ファイルに書き込まれます。
警告またはエラーが発生したときにログ ファイルが生成される場所は、オペレーティング システムに応じて異なります。
- Windows XP では、ログ ファイルは C:\Documents and Settings\<ユーザ名>\Local Settings\Temp に書き込まれます。
- Windows Vista および Windows 7 では、ログ ファイルは C:\Users\<ユーザ名>\AppData\Local\Temp に書き込まれます。
頂点:頂点が余計なものかどうかは、品質と処理時間の兼ね合いで判断してください。余計な頂点を除去するには、適宜に [ラインの単純化(Simplify Line)] ツールを使用します。
このツールは、シンボル表示されたフィーチャのグラフィックス競合を評価することによって操作します。シンボル範囲と基準縮尺は、互いの関連について考慮されます。このツールは、シンボル表示を完成させてから実行してください。そうすることにより、目標とする最終的な出力縮尺に対応した基準縮尺が確実に得られます。
座標系を評価するには、カートグラフィの座標系環境変数(設定済みの場合)を使用します。それ以外の場合、ArcMap の前景でツールを実行するときはデータ フレームの座標系が使用されます。上記の両方が使用可能でない場合は、入力レイヤ(1 つまたは複数)の座標系が使用されます。
ワークフローに関する考慮事項
このツールはほとんどの場合、他の [ジェネラライズ] ツールや [シンボル表現の競合解決] ツールと一緒に使用するのが一番効果的です。これらのツールをワークフロー内の他のレイヤおよび他のツールと一緒に使用するうえで参考になるヒントを、以下にいくつか紹介します。
- 入力フィーチャクラスに変更が加えられることを念頭に置きます。このツールでは、新しい道路フィーチャクラス(1 つまたは複数)が出力として生成されないかわりに、入力フィーチャクラス(1 つまたは複数)が直接変更されます。ジオメトリのオーバーライドを格納するようにリプレゼンテーション(編集時のプロパティ)を設定して、入力レイヤをシンボル表示することを考えてみましょう。この例では、このツールで行われたすべての変更内容がジオメトリのオーバーライドとして格納されます。結果が受け入れられない場合、別のパラメータを指定してツールを再実行する場合は、[オーバーライドの解除(Remove Override)] ツールを使用してオーバーライドを解除してください。入力レイヤがリプレゼンテーションで描画されない場合は、先にフィーチャクラスのコピーを作成してから、元の状態を保持するための処理を行ってください。
- 最初に、余計なフィーチャを除去します。道路網の密度に応じて、最初に重要性のない道路フィーチャの中で余計と思われるものを除去しておくと、除去した分だけ多く空き領域が確保されるので、競合の解決にきわめて効果的です。この除去を行うには、フィルタ設定または選択だけで 1 つまたは複数の道路クラスを除去するか、[道路網の間引き(Thin Road Network)] ツールを使用してさらに対象範囲を絞り込みます。
- 道路をマージしてから道路を移動します。[道路のマージ(Merge Divided Roads)] ツールは本質的に、[道路の競合を解決(Resolve Road Conflicts)] ツールとは正反対です。後者のツールは、道路フィーチャ(通常は、1 つの分割道路フィーチャの個々の車線)同士が互いに接近しているか、ほぼ平行かどうか評価します。また、代表的なラインを 1 つだけ作成し、道路の表示を単純化するために使用します。どちらのツールも、道路が連結してしまうという問題に対処する際に有効です。一般に、大きい出力縮尺では個々の車線をばらばらに分散したほうが見やすいのに対して、小さい縮尺では 1 つのラインにまとめたほうが見やすくなります。中程度の大きさの縮尺の場合、望ましい方法は異なるクラスの道路に両方の方法を使用することです。両方のツールをともに 1 つのワークフローで使用する場合、最初に該当のフィーチャに対して [道路のマージ(Merge Divided Roads)] を実行してから、そのツールの結果を [道路の競合を解決(Resolve Road Conflicts)] ツールへの入力として使用してください。
- フィーチャ階層を設定します。道路フィーチャの相対的な重要度を特定するには、[階層フィールド] パラメータを使用します。道路フィーチャの重要度は通常、道路の分類およびシンボル表示の仕方に対応しています。重要度の低い道路は、重要度の高い道路が画面の表示に収まりきるように調整されます。階層値 1 は最も重要な道路を示し、大きい整数値は重要度の低い道路を示します。最適な結果を得るには、入力データに適用する階層クラス数を 5 つ以下に抑えてください。あるフィーチャ階層に対してすべての入力レイヤを一括して評価するには、同じ分類値を使用して各レイヤに同じ名前のフィールドを格納しておく必要があります。
- 特定のフィーチャをロックすることを検討してください。[階層フィールド] パラメータを使用して、フィーチャの [階層フィールド] の値を 0 に計算することにより、フィーチャをロックすることもできます。フィーチャはロックされた後、移動しなくなります(フィーチャの位置はまったく変わりません)。これは、道路が他のマップ フィーチャ(特に、標高などの連続データ)との関係上、シフトできない場合に便利です。たとえば、道路のセクションが非常に険しい狭谷を通過することはあっても、道路を現在の場所から遠くへ移動するのは地図作成上は、適切ではありません。ロックを使用すると、道路の位置を変えるうえで障害を招く場合もあります。
- バリアを定義する際は、ロックを使用してください。ロックを使用すると、道路の位置を変えるうえで障害を招く場合もあります。たとえば、鉄道レイヤは道路と共に [入力道路レイヤ] リストに含めすることができます。すべての鉄道フィーチャに階層値 0 が割り当てられている場合、道路は鉄道とグラフィックスを競合していると評価されるので、鉄道の上部または鉄道の真上の位置には移動しません。ただし、鉄道フィーチャ自体には変更が加えられません。
オプションの [出力移動フィーチャクラス] パラメータは、ポリゴンのフィーチャクラスを作成します。このフィーチャクラスは、発生した変位の量と方向を示します。このフィーチャクラスは、目視検査または空間クエリに使用することも、あるいは [移動の反映(Propagate Displacement)] ツールへの入力として使用することもできます。