找不到应该在自己的Graphhopper安装上路由的路由

时间:2015-01-16 16:27:33

标签: routing openstreetmap graphhopper

问题

在我的Graphhopper(GH)安装中,有些情况不可路由,在我看来应该是可路由的。在GH Demo版本上可以路由相同的路由,而我的安装使用最新的GH代码。

示例

This route可以在GH演示服务器上进行规划,而我找不到#34;未找到"我的机器出错了。

虽然我在locationIndex

中拨打了第二个点
LocationIndex index = hopper.getLocationIndex();
QueryResult qr = index.findClosest( place.lat, place.lon, EdgeFilter.ALL_EDGES );
GHPoint3D snappedPoint = qr.getSnappedPoint();

它被发现(距离该点约20-30米)。这让我相信我使用的OSM数据是正确的(如果道路在上个月已连接且未编辑,我会进行双重检查,因为我使用了一个月的OSM数据)。

This is another example 编辑:修复了我的计算机上无法规划的路径的新数据集!,同时它在GH演示服务器上运行并获取在locationIndex中找到。我没有修改GH代码。

配置

我在服务器上使用的配置如下:

graph.dataaccess=RAM_STORE
prepare.chWeighting=no
osmreader.wayPointMaxDistance=1
graph.flagEncoders=bike,foot
web.jsonpAllowed=true

问题:

我可以配置一些允许这些路由可路由的东西吗?或者你能指出我正确的方向是什么导致我的问题?

编辑:对于新数据集,我发布的第二个示例是“已修复”。第一个仍然存在..

另外,new example。似乎我的路由计算机无法使用' main' GH用来实现结果的道路。我仔细检查了自行车标志编码器​​(所有3个)是否与主GH版本相同,它们是。这部分可以用我之前的OSM数据集路由,所以我去了解OSM数据中的变化。不幸的是,我无法看到数据集中究竟发生了什么变化,但是与主要道路相邻的循环路径指定了oneway = true。也许这仍然与我的单向设置有关?

1 个答案:

答案 0 :(得分:2)

Karussel的帮助下,我们发现了问题。

问题在于一些子网络'在准备图形时,图形中的图形会被删除,因为它们低于封闭岛可以路由所需的最小节点数量的阈值。可以使用config.properties中的以下属性降低此阈值(请参阅this question

prepare.minOnewayNetworkSize=200 
prepare.minNetworkSize=100

这将解决我在问题中的例子。虽然因为我正在为两辆车(脚和自行车)创建一个准备好的图表,但是使用当前的Graphhopper构建,不使用此设置。所以这只适用于图中有一辆车的情况。

可以找到当前的Github问题here