为 Garmin GPS 设备制作地图
该项目的目标是获取来自 OpenStreetMap http://www.openstreetmap.org 的地图数据,并将其转换为 Garmin 文件格式,以便加载到 Garmin GPS 设备中。
最初的动机是为了帮助规划测绘工作,但现在这些地图本身也已变得非常实用。
使用方法
该程序需要 Java 1.6 或更高版本才能运行。
制作地图非常简单。先将 JOSM 或其他方式获取的 OpenStreetMap 数据保存为文件,然后将其复制到 mkgmap 目录中。在以下示例中,该文件被命名为 data.osm。
运行以下命令:
/java -jar mkgmap.jar data.osm
这样就会生成一个名为 63240001.img 的文件。
你可以用任何已知的方法将该地图复制到你的 Garmin GPS 设备中。最好使用 SD 卡,因为一旦出现故障,只需将其从设备中取出,一切就能恢复正常。
将其复制到卡上的 “Garmin/gmapsupp.img” 文件中。在许多现代 Garmin 设备上,你可以使用不同的名称,从而存储多组地图。
注意:此操作会覆盖该卡上已有的其他地图,请确保不会误删重要的地图。
另一种方法是使用 USB 存储卡写入器,对于较大的地图来说这种方式更快,因为许多 GPS 设备的 USB 连接速度较慢。
此外,还有各种程序可以将地图发送到设备中。
根据所使用的 Garmin 具体型号,您在启动程序时应该会看到 OSM 版权信息,而“OSM Street map”这一地图名称应会显示在地图设置部分。
如需更多帮助,请访问:http://www.mkgmap.org.uk/doc/index.html
调用 mkgmap
上一节中提到的大多数默认名称都可以通过合适的选项进行修改。运行以下命令即可获取最新且完整的选项列表:
java -jar mkgmap.jar --help=options
同时处理多个文件
Garmin 地图格式的设计理念是让一张地图由多个图块组成,如果您的地图数据量超过了单个图块的承载能力,就必须对地图进行分割。
如需使用可执行此操作的程序,请参阅:http://www.mkgmap.org.uk/doc/splitter.html
您只需在命令行中列出所有由分割工具生成的图块,即可一次性将它们全部编译。
致谢
本项目几乎完全基于 John Mechalas 在 SourceForge 项目(网址:http://sourceforge.net/projects/garmin-img)中编写的文件格式规范文档。同一来源中的“imgdecode”程序也在确保我能够生成优质文件的过程中发挥了重要作用。非常感谢。
Steve