これに対する解決策は、標準的な離散ルーティングアルゴリズムによって
を見つけることができ、これらのアルゴリズムは、可能な道路またはより一般的距離を表すノードのセット(あなたの都市、目的地、開始)とそれらのノード間のエッジを(必要
ノードおよびエッジ)の位置との間のグラフを形成...地と目的地を開始今は
にこのグラフに沿って経路を解決するために一般的に*またはdjikstraようなアルゴリズムを使用することができます...知られていますこのアプローチの問題は、あなたがエッジの定義を持っていない可能性があります場所間の直接的なパス)。スタート地点を取る0
で
初期化「ネットワークID」を、最も近い他の場所を見つける:あなたは、たとえば、さまざまな方法でこのような「道路網」を作成することができます。距離を測定し、それを係数で掛けます。各位置をこの値よりも小さい距離を有し、現在の位置にまだ接続されていない元の位置に接続する。この手順で接続したすべての場所をリストに追加します。現在の「Network_ID」で現在の場所をマークし、そのリストの次の場所についてこの手順を繰り返します。あなたのリストに場所がなくなったら、「Network_ID」をインクリメントして、まだ処理されていないランダムな場所を選択し、ステップを繰り返してください。
すべての場所が処理された後、それらの間に適切な接続エッジを追加するか、より大きな要因でプロセスを再起動してください)
開始と送信先が同じnetwork_IDを持っているか、両方のネットワークが接続されていることを確認する必要があります
y私たちの都市テーブルには連鎖データが含まれていますか?例えば「都市Aから都市B、道57」を取る?あなたが相互接続する方法に関するデータを持っていない限り、場所自体は役に立たない。それ以外の場合、単純な答えは「開始点と終了点の間を直接駆動する」です。 –