GPS 情報を利用して、ユーザーがどの道路/小道 (または OpenStreetMaps 用語では「道」) にいるかを判断するアプリを作成しています。OSM のウェイには幅の情報は含まれず、一連のポイントが接続されているだけなので、GPS 座標がどのポリ ボックスにあるかを把握することは問題ではありません。
私が持っている情報は、曲がりくねったトレイルを定義するポイントのリストです (もしそれがただのまっすぐなトレイルであれば、2 ポイント 1/2 マイル離れている可能性があります)。これらのトレイルは通常、樹木の境界線 (たとえば 50 ~ 300 m 離れた場所) で区切られており、公園内に多くのトレイルが存在する可能性があるため、幅の情報がない場合の精度は、エッジ ケースでは注意が必要です。通常、ウェイの定義はトレイルの中央を下ります。
トレイル上の個々のベクトルをすべて計算してから、最も近いベクトルを見つける必要があるようです。新しい GPS 更新のたびに (1 ~ 4 秒ごとに?)、これがかなり集中的に行われることを懸念しています。少なくとも、事前に各トレイルのポイントを入力して (x メートルごとにポイントを強制)、GPS の更新時に最も近いポイントを取得することができます。
計算を支援するために、ポイントデータを事前に適応させることができる構造はありますか? モバイル制約に適した、この問題を解決するための他の既知のアルゴリズムはありますか? これはすでに解決済みの問題のようです。