0

按照文档( https://github.com/graphhopper/graphhopper/blob/master/docs/core/weighting.md)中描述的示例,我正在尝试阻止我的graphhopper路由中的边缘。我试图找到必须被阻挡的边缘

EdgeIteratorState edge = hopper.getLocationIndex().findClosest(lat, lon, EdgeFilter.ALL_EDGES ).getClosestEdge();

但是在运行我的应用程序时,它显示一些完全不同的边缘被阻止,而不是我试图阻止的边缘。我做错了什么,你有什么提示吗?自从四天以来,我一直被这个问题困扰,没有留下任何想法。

4

1 回答 1

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));
于 2015-05-05T08:58:34.313 回答