私はここに新しいとポイントが悪いので、私は50ポイントの賞金を提供することができます。半径の地理的な障害物検索
特定の場所の半径10マイル以内にあるすべてのガソリンスタンドを検索するアプリケーションがあるとします。しかし、この場所の片側は、周りを回るために50マイル走行する必要のある山脈に囲まれています。あなたは山の向こう側から結果を返すことを望んでいません。このような問題に対処するための良いアルゴリズム/テクニックは何ですか?ポイントツーポイント検索ではパスコストを使用することができますが、半径検索でどのような手法が使用されているのかわかりません。ここ
例である:
赤線は、41から40、-74から半径円上の和音である-72緯度長い(正確ではないだけ言う)40でユーザ、-73はコネチカット州のLIサウンドの領域を網羅しているものの地理的半径の検索を実行しますが、これは実現不可能です。アルゴリズムは、探索円と完全に交差するコードが存在し、そのコードの反対側にある結果を戻さないことを知るべきである。緑色の部分の点だけが返されます。
これは、プログラマーがこれらの境界線を定義している場合、道路ネットワーク解析なしで実行できるはずです。例えば、通過するのが危険な地域があるかもしれませんし、そのエリアの両側の人がその側に制限されることを望むでしょう。国際的な国境など。人々がこれをやっていると確信しているので、私はこれを求めているだけです。
私は質問が明らかではないと思います。あなたは道路網に沿った距離を測定していますか、または空中距離を使用していますか(山がないと仮定します)? –
飛行距離が良い。例えば、私がマンハッタンの西側に立っていて、私はレストランの半径検索をします。私はハドソン川をこの検索の難しい地理的境界にしたいと思っています。 IEの場合、ハドソンのNJ銀行にレストランがあるかもしれませんが、それは私の「鳥の飛行」の半径にあるかもしれませんが、そこに着くことは事実上不可能です。 –
本質的には、道路を使ってグラフのポイント・ツー・ポイント・ルートをせずにこれを行う手法は何かを求めています。たとえば道路にしたいのであれば、NJの結果を除外するために、橋やトンネルを渡って移動するには、高いか無限のコストを割り当てます。私は、鳥が飛んでいくのに合わせても、その境界を越えて結果を除外する1つの座標から別の座標への線を定義する方法があると思います。 –