找不到位置之间的图形跳跃器连接



我使用以下方法创建一个 graphHopper 实例:

 GraphHopper hopper = new GraphHopper().forServer();
 hopper.setCHEnable(false);
 hopper.setGraphHopperLocation("hopper");
 hopper.setOSMFile("greater-london-latest.osm");
 hopper.setEncodingManager(new EncodingManager("car"));
 hopper.setMinNetworkSize(200, 100);
 hopper.importOrLoad();

我使用以下方法发送请求:

 GHRequest req = new GHRequest().addPoint(new GHPoint(latFrom, lonFrom)).addPoint(new GHPoint(latTo, lonTo))
            .setVehicle("car")
            .setLocale(Locale.ENGLISH)
            .setWeighting("fastest")
            .setAlgorithm(AlgorithmOptions.ASTAR_BI);
 req.getHints().put("pass_through", true);
 GHResponse res = hopper.route(req);

但是我收到以下错误:

 [java.lang.RuntimeException: Connection between locations not found]

这些是我正在使用的经度/经度对的一些示例:

 Lat1 51.519265 Long1 -0.021345 Lat2 51.502635 Long2 -0.022702
 Lat1 51.49109 Long1 -0.018716 Lat2 51.502661 Long2 -0.021596
 Lat1 51.503143 Long1 -0.008428 Lat2 51.502661 Long2 -0.021596

我已经用 https://graphhopper.com/maps/?point=51.499041%2C-0.020157&point=51.503083%2C-0.017676&locale=de&vehicle=car&weighting=fastest&elevation=true&layer=Lyrk 仔细检查了这些经度/经度对的(所有(,它们正在工作。

然后我搜索了一个解决方案,发现 Graphhopper 返回"未找到",这看起来像一个相同的问题,所以我在我的代码中添加了以下内容:

hopper.setMinNetworkSize(200, 100);

此设置允许图形跳跃器找到更多的连接,但不幸的是,有一些长/纬度对仍然不起作用(示例如上(。如何停止运行时异常:找不到位置之间的连接?

编辑:

切换长/纬度对似乎更好:

GHRequest req2 = new GHRequest().addPoint(new GHPoint(latTo, lonTo)).addPoint(new GHPoint(latFrom, lonFrom))

但这提供了相反的方向。我该如何纠正此问题?出现此问题是否因为这些是单行道?

我和你有同样的问题。我的解决方案是:

hopper.setMinNetworkSize(200, 200);

当参数minOnewayNetworkSize设置为200时,路由器不会卡在(单向(孤岛中。

参见:Graphhopper 返回"未找到">

相关内容

  • 没有找到相关文章

最新更新