我正在尝试按照文档(https://github.com/graphhopper/graphhopper/blob/master/docs/core/weighting.md)中描述的示例阻止我的graphhopper路由中的边缘。 我试图找到必须用
阻止的边缘EdgeIteratorState edge = hopper.getLocationIndex().findClosest(lat, lon, EdgeFilter.ALL_EDGES ).getClosestEdge();
但是在运行我的应用程序时,它会显示一些完全不同的边缘被阻挡,而不是我试图阻止的边缘。 我做错了什么,你有什么提示吗?自从四天以来我就遇到了这个问题,没有任何想法。
答案 0 :(得分:0)
不知道,如果这很优雅,但我想我找到了一个解决方法: 在graphhopper.sh的config.properties中我添加了
prepare.chWeighting=no
在加载图表时,我设置了
tmpHopp.setCHEnable(false);
为了阻止边缘,我只需将此边缘的速度设置为0
FlagEncoder footEncoder = TempAppData.getInstance().getHopper().getEncodingManager().getEncoder("foot");
edge.setFlags(footEncoder.setSpeed(edge.getFlags(), 0));