3

我已经使用命令并使用此处提供的亚洲地图安装Graphhopper在 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","details":"java.lang.IllegalArgumentException"}]}}

显然,在core/src/main/java/com/graphhopper/GraphHopper.javagetPaths()的函数中,该函数没有获取任何附近的道路。locationIndex.findClosest(point.lat, point.lon, edgeFilter);

但是如果我在 Graphhopper 网站上尝试相同的点,它会得到它最近的点和到它的距离。(你可以在这里看到这个)。

我想知道为什么我的 Graphhopper 服务器设置给出的结果与 graphhopper.com 不同。

  1. 是否需要更改任何配置才能设置实时 graphhopper?

  2. 也有人可以告诉我如何在启动时单独重建 jar 文件, $ ./graphhopper.sh web asia_india.pbf以便我可以打印一些内容并尝试调试或改进系统?

  3. 该功能如何locationIndex.findClosest(point.lat, point.lon, edgeFilter);工作?我实际上不是来自 java 背景。

4

1 回答 1

6

您可以使用更大的查找半径:

index.highResolution=1000

(我们正在研究更动态的解决方案)

但是正如您所看到的,您的点周围实际上没有道路,因此找不到路线也是有道理的。取决于您的用例。

2)还有人可以告诉我如何重建jar文件

你的意思是./graphhopper.sh clean

函数locationIndex.findClosest(point.lat, point.lon, edgeFilter);

它是一种四叉树,我们在内存中构建它并以特殊的压缩格式将其刷新到磁盘中。

于 2014-05-22T09:06:15.747 回答