マッププロバイダー(GoogleやYahoo!マップなど)はどのように方向を提案しますか?
つまり、確かに距離だけでなく、車の速度、歩道の存在、列車のスケジュールなど、実際のデータが何らかの形で含まれている可能性があります。距離を反映するエッジウェイトを使用します。任意のポイントから別のポイントへの方向をすばやく計算できるようにしたいと考えています。これらのポイントは(1つの都市内で)互いに接近している場合もあれば、遠く離れている(国をまたがる)場合もあります。
ダイクストラのアルゴリズムのようなグラフアルゴリズムは、グラフが巨大であるため機能しません。幸い、A *のようなヒューリスティックアルゴリズムはおそらく機能します。しかし、私たちのデータは非常に構造化されており、おそらく何らかの階層化アプローチが機能する可能性がありますか?(たとえば、離れた特定の「キー」ポイント間の事前計算された方向といくつかのローカル方向を保存します。2つの遠く離れたポイントの方向には、キーポイントへのローカル方向、別のキーポイントへのグローバル方向、ローカル再び方向。)
実際に使用されているアルゴリズムは何ですか?
PS。この質問は、オンラインマッピングの方向に癖を見つけることによって動機付けられました。三角形の不等式とは対照的に、Googleマップでは、XZの方がXYZのように中間点を使用するよりも時間がかかり、遠いと見なされることがあります。しかし、おそらく彼らの歩行方向も別のパラメータに最適化されていますか?
PPS。ここでは、三角形の不等式に対する別の違反があり、XZとXYZのような階層型アプローチを使用していることが(私には)示唆されています。前者は少し遠く離れていますが、有名なセバストポル通りを使用しているようです。
編集:これらの例はどちらももう機能していないようですが、どちらも元の投稿の時点では機能していました。