我正在编写一个应用程序,它利用 GPS 信息来确定用户所在的道路/小径(或 OpenStreetMaps 术语中的“方式”)。OSM 中的方式不包括宽度信息,只是一系列连接在一起的点,因此无需确定 GPS 坐标在哪个多边形框中。
我拥有的信息是定义路径弯曲时的点列表(如果它只是一条直线路径,则可能相距 2 个点 1/2 英里)。这些小径通常由树线隔开(例如相距 50-300 米),公园内可能有很多这样的小径,因此在边缘情况下没有宽度信息的准确性可能会很棘手。通常定义沿着路径的中心运行的方式。
似乎我需要计算轨迹上的所有单个向量,然后找到最近的向量。我担心这对于每次新的 GPS 更新(每 1-4 秒?)都相当密集。我至少可以尝试提前填写每条路径上的点(每 x 米强制一个点),然后在 GPS 更新时获取最近的点。
是否有任何结构可以预先调整点数据以帮助计算?解决此问题的任何其他已知算法对移动约束友好吗?似乎这应该是一个已经解决的问题。