我已使用Graphhopper
命令并使用亚洲地图available here在Ubuntu Server中安装了$ git clone
。
我使用以下命令启动了我的服务器:
$ ./graphhopper.sh web asia_india.pbf
发送以下请求时出现错误:
http://serveraddresss:8989/route?calc_points=false&point=9.983242,76.390418&point=9.990618,76.421088
我从服务器收到的答案是:
{“info”:{“errors”:[{“message”:“找不到第1点:9.9906,76.421”,“详情”:“java.lang.IllegalArgumentException”}]}}
显然,在 core / src / main / java / com / graphhopper / GraphHopper.java 的函数getPaths()
中,函数locationIndex.findClosest(point.lat, point.lon, edgeFilter);
没有到达任何附近的道路
但是如果我在Graphhopper网站上尝试相同的观点,那么它就会变得最近 点和它的距离。 (你可以看到这个here)。
我想知道为什么我的Graphhopper服务器设置会提供与graphhopper.com不同的结果。
是否需要更改任何配置以获取实时graphhopper设置?
也可以有人告诉我如何在启动时单独重建jar文件
$ ./graphhopper.sh web asia_india.pbf
以便我可以放一些打印件并尝试调试或改进系统?
函数locationIndex.findClosest(point.lat, point.lon, edgeFilter);
如何工作?我其实不是来自java背景。
答案 0 :(得分:3)
您可以使用更大的查找半径:
index.highResolution=1000
(我们正在研究更具动态性的解决方案)
但正如你所看到的那样,你的观点周围确实没有道路,所以也没有找到路线的意义。根据您的使用情况而定。
2)也可以有人告诉我如何重建jar文件
你的意思是./graphhopper.sh clean
吗?
函数locationIndex.findClosest(point.lat,point.lon,edgeFilter);
它是一种四叉树,我们在内存中构建它并以特殊的压缩格式将其刷新到光盘。