我使用以下命令创建一个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 returns "not found",它看起来像一个相同的问题,所以我在代码中添加了以下内容:
hopper.setMinNetworkSize(200, 100);这个设置允许graph- more找到更多的连接,但不幸的是,仍然有一些long/lat对不起作用(上面有例子)。如何停止RuntimeException:找不到位置之间的连接?
编辑:
交换经纬度对似乎更好:
GHRequest req2 = new GHRequest().addPoint(new GHPoint(latTo, lonTo)).addPoint(new GHPoint(latFrom, lonFrom))但这提供了相反的方向。我怎样才能纠正这个错误呢?出现这个问题是因为这些是单行道吗?
发布于 2018-04-27 05:35:48
我和你有同样的问题。我的解决方案是:
hopper.setMinNetworkSize(200, 200);当参数minOnewayNetworkSize设置为200时,路由器不会卡在(单向)岛上。
https://stackoverflow.com/questions/35116161
复制相似问题