Routing 用实时数据消除错误GPS点并捕捉道路路线

Routing 用实时数据消除错误GPS点并捕捉道路路线,routing,gps,kalman-filter,graphhopper,Routing,Gps,Kalman Filter,Graphhopper,我正在使用Graphhopper离线、OpenStreetMap数据和每秒从android设备读取的GPS坐标创建一个离线GPS导航应用程序 到目前为止,我已经设法读取GPS坐标,从graphhopper获取路线指示,并更新我在地图上的位置。但当我用真实数据进行测试时,有大量的点实际上并不在路线上,这是因为我从graphhopper得到了错误的路线指示 为了消除这个问题,我尝试使用Kalman滤波方法作为stackoverflow问题的答案 但我还是得到了相当多的错误结果。我不能发布我的确

我正在使用Graphhopper离线、OpenStreetMap数据和每秒从android设备读取的GPS坐标创建一个离线GPS导航应用程序

到目前为止,我已经设法读取GPS坐标,从graphhopper获取路线指示,并更新我在地图上的位置。但当我用真实数据进行测试时,有大量的点实际上并不在路线上,这是因为我从graphhopper得到了错误的路线指示

为了消除这个问题,我尝试使用Kalman滤波方法作为stackoverflow问题的答案

但我还是得到了相当多的错误结果。我不能发布我的确切代码,因为这是一个产品。我的做法是,

1. Get user to set the destination  
2. Read initial position from GPS data
3. Get start-to-destination instructions from graphhopper
4. Display instruction
5. Read GPS position every second. Set current position as start
6. Repeat steps 3,4 until he reaches the destination.
为了使路径平滑,我得到了每个GPS位置读数的卡尔曼预测值。但我得到的分数不准确,超出了我的接受范围


如果你能帮我,指出我做错了什么,或者找到一个解决问题的方法,我将非常感激。我不是在要求代码,至少指向正确的方向会对我有很大帮助。

我认为这就是所谓的“在线地图匹配”。您可以尝试我们的(离线)地图匹配组件来猜测正确的道路。下面是最新的PR,它使用隐马尔可夫模型而不是简单的启发式集成:@Karussell是的,我认为这是正确的短语。我将尝试脱机地图匹配。但我必须实时完成这项工作,或者找到一种方法来平滑或过滤不正确的结果。到目前为止还没有效果。我们的matcher速度很快,可以实时完成,只需尝试一下,并让我们知道:)@Karussell我尝试从maven构建,如您的链接所示。但是它没有在
匹配核心/目标/
内部创建
映射匹配-*-dependentials.jar
。我认为这与
pom.xml
有关。我看到你在匹配核心的pom中使用了maven汇编插件。但我认为它不起作用。我必须为其添加目标吗?请查看
匹配的web/target/
,您是否调用了
mvn clean install-DskipTests=true
?或者等两周——我会很快将它合并到master中,让它更容易消费和启动。我想我们也应该到我们的论坛上去讨论这个问题:因为那里的讨论比较容易。