英国の各道路のすべてのウェイポイントを含むデータベースがあります。
ユーザーの緯度と経度を指定して、データベースから最も近い道路を計算し、名前を表示するナビゲーションアプリを構築しようとしています
データベースの JSON 表現のスニペット
[ { "NAME": "Trinity Road", "coordinates": [ [ 1.7595267, 52.4778475 ], [ 1.7587864, 52.4774 ] ] }, { "NAME": "Wilde Street", "coordinates": [ [ 1.7593497, 52.4795499 ], [ 1.7594677, 52.4795041 ], [ 1.7598164, 52.4793277 ] ] } ]
私が直面した問題は、最寄りの道路を正しく見つけることです。与えられたポイントが最も近いパス/ラインを見つける適切なアルゴリズムが見つかりません
最も近い道路が 2 つのウェイポイントの間にある可能性があるため、座標を単純に比較することはできません (「最も近いポイントのペアの問題」を除外します)。
誰かが適切なアルゴリズムを提案できますか?
私が考えることができる最善の解決策は、ユーザーへの近さに応じて道路に重みがあり、ユーザーをすぐに囲む最も価値の高い道路を選択する加重グリッド/マトリックスです (ただし、これは高価になる可能性があります)。
GoogleマップなどのWeb APIやPostGISを使用せずにこれを解決したいと思います(sqlite-モバイルアプリを使用する必要があります)