6

2 点で定義された一連のセグメントがあります。ポイントが与えられた場合、そのポイントに最も近いセグメントを見つけるにはどうすればよいですか?

ポイントとセグメントの間の距離を計算するアルゴリズムを既に作成しました。とにかく、各セグメントのそのような距離を計算してから、距離が最も短いセグメントを選択することは、実際には効率的ではありません:(

セグメントは道路を表しているため、これは実際にはリバース ジオコーディングの問題なので、この問題に対する既知の解決策があることを願っています...

どうもありがとう!

4

1 に答える 1

4

グリッド、kd-tree、quadtree、または同様のバイナリ スペース分割方法を使用します。次に、ポイントがあるツリー セルから始めて、ポイントからセグメントを含むセルまでの距離が、これまでに見つかった最小距離よりも大きくなるまで、セグメントの探索を開始します。

http://en.wikipedia.org/wiki/Binary_space_partitioning

(もちろん、これは、セグメント/通りがごくまれにしか変化しないことを前提としていますが、特定するポイントがたくさんあることを前提としています)。

于 2010-08-06T12:57:03.463 に答える