これに対処するには多くの方法がありますが、いくつかは一般的で効果的であることで際立っています。これを理解するために、対処しなければならない可能性のあるいくつかの問題を列挙してみましょう。
極間に大きなギャップがある可能性があります。アルゴリズムは、ギャップを伝送システムの実際の中断と見なす場合があります。
道路をネットワークに接続するために重要ないくつかの短い道路セグメントがある可能性がありますが、それらの近くには極がありません。これらのセグメントは、極に近接して選択されることはありませんが、ソリューションの必要な部分です。
中心点から道路でアクセスできない極があるかもしれません。これらの極は、他の中心点から発信された他の伝送ネットワークの一部である可能性があります。
また、すでにポリラインネットワーク(道路)があるため、極点を完全に新しいポリラインに接続するよりも、それを活用するほうが有利であるというスタンスを採用しています。
これらの考慮事項は、優れたソリューションの構成要素にいくつかの重要なステップが含まれることを示唆しています。
中心点からすべての極までの道路距離を計算します。
特定の道路セグメントに沿って局所的に最大の距離を持つ極を特定します。つまり、同じセグメントに沿って隣接する極のいずれも、より大きな距離を持ちません。
これらの極大点から中心点に戻る最短経路を形成します。
これらの最短経路の結合は、伝送ネットワークをたどります。(実際、ステップ2は本当に必要ではありませんが、ステップ3に含まれる計算を大幅に削減します。)
手順1と3は、ネットワーク表現(Network Analyst)またはラスター表現(Spatial Analyst、CostDistanceまたはFlowAccumulation計算を使用)を使用して実行できます。ステップ2は単純なデータベースの要約です。ステップ1の後、各極は属性として道路セグメントと距離を持ちます。道路セグメントごとに最大距離を見つけ、それらの最大距離に到達する極を選択します。
いくつかの潜在的な問題状況があります。
一部の極は道路に近くない場合があります。これらについて何をすべきかを私たちに伝える問題文には何もありません。これらはラスター計算で自動的に処理できます(適切なコストグリッドにより、道路以外のセルに高インピーダンスが割り当てられますが、インピーダンスは無限ではないため、孤立した極を最も近い道路に接続できますが、残念ながら互いに接続することはできません)。少なくとも、手順3でソリューションを取得した後、そのネットワーク上にないすべての極を選択し、それらをどのように処理するかを検討できます(おそらく、それらの接続を手動で作成するか、ユークリッド最小スパニングツリーソリューションを使用して)。
一部の道路セグメントがループを形成している場合は、ステップ2をスキップする必要があります。スキップしないと、それらのループの一部が失われる可能性があります。
道路ポリラインは、実際には接続されたネットワークを形成しない場合があります。視覚的に接続されているように見えるネットワークを分割する道路セグメント間に小さなギャップがある場合があります(サイズが数ミリの場合もあります)。これはデータ品質の問題であり、一部のラスターベースのソリューションを除いて、あらゆるソリューションを悩ませます。
ある時点で、FlowAccumulationについて触れました。これは人々を驚かせるかもしれません:この問題は小川や流域とどう関係しているのでしょうか?しばらく画像を見つめます。起点を景観の低点として、電柱のある道路をその低点に向かって流れる小川の跡として想像してください。私たちは道路が本当にいる表面作成することができる場合ですが小川の場合は、各極の位置に小さな「雨」を降らせて、下り坂を流れます。濡れるポイントは私たちが求める解決策です。それらは、道路をたどるネットワークに極を効率的に接続します。適切なCostDistance計算(道路に沿ったインピーダンスがゼロではなく、道路からのインピーダンスが非常に高いが無限ではない)は、まさにそのような表面を作成します。その表面を作成する別の方法は、道路のユークリッド距離グリッドからです。道路が平坦であることを除いて、それは完璧です。彼らは傾く必要があります。そのためには、道路沿いの距離の非常に小さい倍数をユークリッド距離グリッドに追加します。(道路距離はまだコストのかかるCostDistance計算を必要としますが、今回は道路セルに対してのみ実行する必要があります、すべてのグリッドセルではなく、桁違いにスピードアップします。これにより、必要に応じて非常に高解像度のグリッドを使用できるようになり、粗いグリッドで発生する可能性のある離散化エラーを回避できます。)