本文主要探索使用Graphhopper搭建离线路径规划服务,需要掌握一定的JAVA基础环境配置的知识
在外网环境中可以使用百度、高德等第三方的sdk用以实现路径规划的功能,由于项目的需要,在离线环境中需要使用路径规划功能
Graphhopper 是基于JAVA开发的,使用OpenStreetMap为基础数据源的路线规划服务。
在github上直接下载:Graphhopper
下载完成后直接解压至指定目录下,目录如图所示
下载.pbf文件,如下图所示下载的是国内的路图。
JAVA环境的搭建在此就不赘述了,自行百度解决即可。
Graphhopper的新版本还需要Meven的环境,并配置环境变量,如果没有安装会自动下载至当前目录如图所示:
下载完成配置一下meven的环境变量即可。
打开文件后可配置服务绑定的ip以及端口等
#先进入到graphhopper目录下,再执行以下语句 ./graphhopper.sh -a web -i china-latest.osm.pbf #china-latest.osm.pdf是下载的路图
-bash: ./graphhopper.sh: /bin/bash^M: bad interpreter: No such file or directory
sed -i 's/\r$//' ./graphhopper.sh #解决linux 跟Windows 对于换行符不同的区别
如果不成功可能是因为解析的地图数据过大导致内存溢出发生错误:
可以在执行启动之前先扩大内存
export JAVA_OPTS="-Xmx4g -Xms4g"#加大至4G内存
Graphhopper整个使用的过程也并不复杂,只需要细心配置即可。
路径规划及导航的精度主要还是来自与路图数据的精确度,OpenStreetMap上对于国内的路线信息还是比较落后的,建议可以从别的地方获取最新的更为精准是数据源,再转成Graphhopper所需要是数据格式再使用效果会更好。
Graphhopper还有其它很不错的功能也值得我们去探索
修改日期 | 修改人 | 备注 |
2022-05-23 15:50:26[当前版本] | 朱鹏程 | 格式调整 |
2020-12-16 19:47:25 | 朱鹏程 | 格式调整 |
2020-12-16 19:45:38 | 朱鹏程 | 格式调整 |
2020-12-16 19:42:33 | 朱鹏程 | 格式调整 |
附件类型 | PNG |
|
|