找不到在自己的Graphhopper安装上可路由的路由 [英] Route not found that should be routable on own Graphhopper installation

查看:135
本文介绍了找不到在自己的Graphhopper安装上可路由的路由的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问题:

在我的Graphhopper(GH)安装中,有些情况无法路由,我认为应该可以路由.在GH Demo版本上可以路由相同的路由,而我的安装使用最新的GH代码.

On my Graphhopper (GH) installation, there are some cases that are not routable, that should be routable in my opinion. The same route is routable on the GH Demo version, while my installation uses the latest GH code.

示例:

This route is plannable on GH demo server while I'm getting a "not found" error on my machine.

尽管我在locationIndex中调用第二个点:

Though when I call the second point in the locationIndex:

LocationIndex index = hopper.getLocationIndex();
QueryResult qr = index.findClosest( place.lat, place.lon, EdgeFilter.ALL_EDGES );
GHPoint3D snappedPoint = qr.getSnappedPoint();

找到

(距离该点约20-30m).这使我相信我正在使用的OSM数据是正确的(由于我使用的是一个月前的OSM数据,所以我在上个月仔细检查了是否有连通的道路并没有进行编辑).

it is found (around 20-30m from the point). This leads me to believe the OSM data I am using is correct (I doublechecked if roads there are connected and not edited in the last month, because I am using a month old OSM data).

This is another example fixed with new dataset! of a route that is not plannable on my machine, while it works on the GH demo server and gets found in the locationIndex. I have not modified the GH code.

配置:

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

The config I am using on my server is as follows:

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

问题:

我可以配置一些东西来允许这些路由可路由吗?还是您可以为我指明正确的方向,导致我出现问题的原因是什么?

Is there something I can configure to allow these routes to be routable? Or can you point me into the right direction what the cause of my problem would be?

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

With a new dataset, the second example I posted is 'fixed'. The first one still remains..

此外,

Also, a new example. It seems as if my routing machine can't use the 'main' road that GH uses to achieve a result. I double checked if the bike flag encoders (all 3 of them) are the same as the master GH version, and they are. This part was routable with my previous OSM dataset, so I went to see what changed in the OSM data. Unfortunately I cannot see what exactly changed in the data set, but the cyclepath that is adjacent to the main road has oneway=true specified. Maybe this still has something to do with my oneway settings?

推荐答案

借助 Karussel 的帮助,我们发现问题.

With the help of Karussel, we have found the problem.

问题在于,在准备图形时,图形中的某些子网"会被删除,因为它们低于闭合岛可路由所需的最小节点数量的阈值.可以使用config.properties中的以下属性来降低此阈值(请参见此问题)

The problem is that some 'sub-networks' in the graph get deleted when preparing the graph, because they fall below the threshold of the minimum amount of nodes needed for a closed-off island to be routable. Lowering this threshold can be done with the following properties in your config.properties (see this question)

prepare.minOnewayNetworkSize=200 
prepare.minNetworkSize=100

这可以解决我的问题示例.虽然由于我正在为两辆车(脚踏车和自行车)创建一个准备好的图形,但使用当前的Graphhopper版本,因此未使用此设置.因此,这仅在图中有一辆车辆时有效.

This would solve my examples in the question. Though because I am creating a prepared graph for two vehicles (foot & bike), with the current Graphhopper build, this setting is not used. So this only works when having one vehicle in the graph.

与此相关的当前Github问题可以在此处找到.

The current Github issue for this can be found here.

这篇关于找不到在自己的Graphhopper安装上可路由的路由的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆