如何与自行车赛道的graphhopper进行gps地图匹配

时间:2015-04-30 08:44:05

标签: java graphhopper

我需要将自行车录制的gps轨道与openstreetmap相匹配。为此,我使用了对于graphhopper的map-matching扩展名。路由默认值适用于汽车,但有一个参数vehicle=

我试过了 ./map-matching.sh action=import datasource=./map-data/*.osm.pbf vehicle=bike

并收到错误

Exception in thread "main" java.lang.IllegalStateException: Encoding does not match:
Graphhopper config: bike|speedFactor=2.0|speedBits=4|turnCosts=false
Graph: car|speedFactor=5.0|speedBits=5|turnCosts=false, dir:./graph-cache/
        at com.graphhopper.storage.GraphHopperStorage.loadExisting(GraphHopperStorage.java:1410)
        at com.graphhopper.GraphHopper.load(GraphHopper.java:757)
        at com.graphhopper.GraphHopper.importOrLoad(GraphHopper.java:601)
        at com.graphhopper.matching.MapMatchingMain.start(MapMatchingMain.java:56)
        at com.graphhopper.matching.MapMatchingMain.main(MapMatchingMain.java:38)

这个错误是什么意思?对于汽车,它没有任何问题:

./map-matching.sh action=import datasource=./map-data/*.osm.pbf vehicle=car

2015-04-30 10:29:37,624 [main] INFO  com.graphhopper.GraphHopper - version 0.5|2015-04-22T18:00:26+0000 (4,12,3,2,2)
2015-04-30 10:29:37,641 [main] INFO  com.graphhopper.GraphHopper - graph GraphHopperStorage|car|RAM_STORE|2D|NoExt|4,12,3,2,2,
details:edges:1 024 914(32), nodes:833 438(10), name: /(3), geo:7 254 610(28),
bounds:5.95087757596845,10.511746492499407,45.81184228834157,47.811018254109136

我的系统

> mvn --version
Apache Maven 2.2.1 (rdebian-15)
Java version: 1.7.0_79
Java home: /usr/lib/jvm/java-7-openjdk-amd64/jre
Default locale: de_CH, platform encoding: UTF-8
OS name: "linux" version: "3.16.0-34-generic" arch: "amd64" Family: "unix"

1 个答案:

答案 0 :(得分:1)

在第一次导入时,GraphHopper为地图匹配组件创建文件夹图形缓存。如果更改车辆或区域以触发新导入,则需要删除此文件夹。

请确保您使用' official repo'不是我的私人分叉:)。

请随时提供拉动请求以改进文档/自述文件。