Adnroid GraphHopper 离线导航路网数据包制作

GraphHopper 一款完全离线导航库,需要搭配对应的离线地图。操作比较繁琐,具体过程如下

1. https://github.com/graphhopper/graphhopper 下载整个资源库到本地,解压之后把目录后面-maseter去掉,文件名称最好不要拼接,建议找个位置放好,不要随便找个位置。后面要环境配置。

2.http://download.geofabrik.de/asia.html  这个是全世界的离线路网数据,根据各大洲区分,找到亚洲下的中国,以osm.bz2 下载到本地,数据很大,下载完成后解压会得到一个osm格式的文件。

3.http://babun.github.io/ 下载Babun linux脚本执行器。和第一步的文件放到同一级目录下可以。解压缩包然后你会看到install.bat文件,先不管,打开cmd右键以管理员身份运行,cd到解压的路径文件夹,然后执行命令 install.bat /t "xxx"。xxx: 这里会安装到你指定的路径,然后下面就是一系列命令执行过程,执行完成后会自动在桌面创建一个babun 的快捷方式。

4.babun环境变量,安装完成后这里变量会自动配置上去,如果没有,那就手动配置一下。 

Adnroid GraphHopper 离线导航路网数据包制作_第1张图片

5.把解压的osm文件copy到graphhopper文件目录下,然后打开babun窗口,通过cd命令进入到graphhopper目录下,然后执行./graphhopper.sh import xx.osm    xx是你osm文件名称,然后开始会开始执行路网数据包制作。第一次执行会安装Maven,安装完成后配置一下环境变量,下次执行就不会重复安装了。

Adnroid GraphHopper 离线导航路网数据包制作_第2张图片

 以上就是制作数据包全部过程。

提示:如果发生内存泄漏,找到graphhopper目录,打开graphhopper.sh文件,头部添加JAVA_OPTS="-Xms1024mXmx5000m"。

Adnroid GraphHopper 离线导航路网数据包制作_第3张图片

 

 如果提示 GraphHopperGtfs类中的importPublicTransit方法 141行报错,找不到文件。解决方案如下:找到GraphHopperGtfsIT类。

Adnroid GraphHopper 离线导航路网数据包制作_第4张图片

 原来的代码是 ghConfig.putObject("gtfs.file", "files/sample-feed.zip"); 给的相对路径,这里找不到就给绝对路径。

如果报其它错误就根据问题去改代码可以。

你可能感兴趣的:(Android,GraphHopper,java)