我正在开发一个 android 应用程序,在用户旅行时每 1-2 分钟读取一次 GPS 位置(低采样以节省电力)。最后,我有一份用户旅行的原始 GPS 读数列表。如何将其转换为地图上的路线?
这被称为地图匹配,仍然是一个开放的研究主题,但您知道任何处理此类问题的开源工具吗?也许谷歌地图提供了一个处理它的网络服务?
我正在开发一个 android 应用程序,在用户旅行时每 1-2 分钟读取一次 GPS 位置(低采样以节省电力)。最后,我有一份用户旅行的原始 GPS 读数列表。如何将其转换为地图上的路线?
这被称为地图匹配,仍然是一个开放的研究主题,但您知道任何处理此类问题的开源工具吗?也许谷歌地图提供了一个处理它的网络服务?
是的,这称为 MapMatching,但有一些研究。
没有开源地图匹配解决方案。
但你的工作不仅仅是地图匹配部分,很多工作也是数字路网的导入。总共可能需要几个月的工作。我已经为伦敦城市 GPS 试验交通的地图匹配项目做到了这一点。
简单得多,只需每 1-5 秒读取一次 GPS,您就可以准备好 100% 正确的路线,而不会因路线图中的无效和/或过时数据而导致地图匹配错误。
你可以阅读这篇论文:Hidden Markov Map MatchingThrough Noise and Sparseness。本文提到的算法基于隐马尔可夫模型,该模型非常适用于稀疏采样的 GPS 点(例如,每个 GPS 点 1-2 分钟)。
我已经使用 C#(在此处提供)实现了该算法,您可以参考它。
此处提供了另一个地图匹配的开源 java 项目。https://github.com/graphhopper/map-matching。