问题:
在我的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。也许这仍然与我的单向设置有关?
答案 0 :(得分:2)
在Karussel的帮助下,我们发现了问题。
问题在于一些子网络'在准备图形时,图形中的图形会被删除,因为它们低于封闭岛可以路由所需的最小节点数量的阈值。可以使用config.properties
中的以下属性降低此阈值(请参阅this question)
prepare.minOnewayNetworkSize=200
prepare.minNetworkSize=100
这将解决我在问题中的例子。虽然因为我正在为两辆车(脚和自行车)创建一个准备好的图表,但是使用当前的Graphhopper构建,不使用此设置。所以这只适用于图中有一辆车的情况。
可以找到当前的Github问题here。