Zh-hans:OSM Map On Garmin

许多佳明 GPS 设备可在屏幕上显示地图。此概述页面解释了如何在佳明设备上获取 OSM 地图。
预制地图
部分地区的佳明地图已由热心人士制作完成。用户可直接下载这些文件并立即导入设备使用。
请点击此处获得世界各地的佳明地图列表
借助 OSM 数据创建您自己的地图
软件
| 软件 | 授权 | .osm 转 .mp | .mp 转 .img | .osm 转 .img | IMG 聚合 | 导航 | 生成 .TYP | 生成 .TDB | 地势等高线 | 上传 | 专为 OSM 开发 | 用户界面 | 平台 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Mkgmap | GPL | 否 | 是 | 是 | 是 | 是 | 是 | 是 | 否 | 是 | 命令符 | 跨平台(Java) | |
| QLandkarte | GPL | 否 | 否 | 否 | 是 | 否 | 是 | 否 | 图形界面 | Linux、macOS、Windows | |||
| GPXSee | GPL | 否 | 否 | 否 | 是 | 否 | 否 | 否 | 图形界面 | Linux、macOS、Windows、Android | |||
| sendmap | 专有 | 否 | 否 | 否 | 是 | 否 | 否 | 否 | 否 | 是 | 否 | 命令符 | Linux、Windows |
| Mapwel | 专有 | 是 | 是 | 是 | 是 | 是 | 是 | 否 | 否 | 是 | 否 | 用户界面 | Windows |
| osm2mp | GPL | 是 | 否 | 否 | 否 | 是 | 否 | 是 | 命令符 | Linux、Windows | |||
| OSM Composer | 专有 | 否 | 否 | 是 | 否 | 否 | 是 | 是 | 是 | 是 | 是 | 用户界面 | 跨平台(需要 Java 1.6) |
| GroundTruth | GPL | 是 | 否 | 是 | 否 | 否 | 是 | 是 | 是 | 是 | 是 | 命令符 | Windows、Mono(需要 .NET 3.5 SP1) |
| Osm2garminGUI | GPL | 否 | 是 | 是 | 是 | 是 | 否 | 是 | 是 | 否 | 是 | GUI | Windows、Linux(Java + NetBeans RCP) |
- Mkgmap 是一款专为将 OSM 数据转换为佳明地图图像文件而开发的开源 Java 程序。建议您优先考虑使用该工具。
- QLandkarte 是一款用于显示和操作佳明地图的开源程序。
- GPXSee 是一款 Open Source 地图/GPS 日志文件查看器,支持读取佳明 IMG 格式地图数据。
- cGPSmapper 是一款将佳明地图的文本描述转换为二进制地图文件的程序。cGPSmapper 无法直接读取 OSM 文件。MapCenter 是 cGPSmapper 的网页操作界面。
- sendmap 是一款与 cGPSmapper 配套使用的程序,用于整合并上传地图图像文件。
- Mapwel 是一款集多功能于一身的 GPS 地图绘制软件。该程序支持 OSM 格式文件,并能将其转换为带有路径规划功能的佳明 IMG 格式。
- osm2mp 可生成可导航的佳明地图,请参见此论坛的帖子了解详情及下载。
- OSM Composer 是一款图形用户界面工具,用于简化从开放街道地图(OSM)和航天飞机雷达地形测绘任务(SRTM)数据生成佳明地图图像的过程。该工具本身不直接生成地图,而是通过控制现有工具来实现功能。
- GroundTruth 是一款开源命令行应用程序,用于根据开放街道地图(OSM)数据创建佳明地图。该程序配备基于维基的规则引擎,可指定地图要素的呈现样式(随后利用这些规则生成佳明 TYP 文件)。该软件还能基于SRTM数据为佳明地图生成地形等高线,并利用 cGPSmapper 工具将 .MP 格式文件转换为 IMG 格式地图数据。
- Osm2garminGUI 是一款开源程序,用于下载/更新 OSM 全球地图文件及 SRTM3 高程等高线数据,提取指定区域数据,并通过 Splitter 与 Mkgmap 工具对提取区域进行一步式处理。
操作说明:基于 OSM 数据创建您的地图
通常包括以下步骤(另请参阅上文软件部分):
- 获取 OSM 数据:
- 最简便的方法是直接使用网站上的“导出”选项卡。该功能可下载当前显示的地图。下载时请选择“OpenStreetMap XML 数据”选项(缩放级别 ≥11 时可用)。
- 如需获取整个国家乃至全球范围的数据,请使用全球数据包或众多可用数据子集之一。
- 您可以使用 JOSM 软件选择并下载数据,然后另存为文件。(但请注意:对于大型数据集而言,这种方式效率较低,因为 JOSM 会尝试绘制数据,该过程可能耗时数分钟。若您仅需将数据用于 GPS 设备,则无需进行此操作。)
- 如需通过命令行下载,请参见 Getting Data 或 GroundTruth For Dummies#Downloading OSM Data。
- 如果您正在编写软件,请通过 XAPI 下载。
- 分割大区域:若您所在区域范围较大或覆盖整个国家,在将 OSM 数据编译为佳明 IMG 格式文件前,需先使用以下工具进行区域分割:Splitter。
- 转换为 IMG 文件:您需要将 .osm 文件转换为佳明地图镜像文件 .img。建议使用 Mkgmap 或 GroundTruth 工具进行处理。需要注意的是,Mkgmap 无法处理过大的输入文件,因此可能需要使用新版 splitter 工具将 OSM 文件分割成较小的区块,这是最简便的解决方案。
- 创建 GMAPSUPP.IMG 文件(可选):若需将地图直接上传至佳明 GPS 设备,需将 IMG 格式文件打包整合为名为 GMAPSUPP.IMG 的聚合映像文件。Mkgmap 和[ [OSM Map On Garmin/cGPSmapper|cGPSmapper]] 可执行此处理流程。诸如 sendmap 和 MapSource 等程序在上传文件时会自动生成该文件。若您计划使用这些程序将地图上传至 GPS 设备,请跳过此步骤,直接进入#将地图安装至 GPS 设备章节。
若您有意在 Windows 设备上为单一国家构建地图,User:GPS-Marco 提供了一款软件安装包,收集所有必需工具,并编写一个脚本,只需双击即可执行上述所有步骤。该脚本依赖 download.geofabrik.de 服务器下载 OSM 数据:您可在该网站查询可用国家列表。脚本将生成一个最新版本的编译地图文件(gmapsupp.img),该地图支持路线规划(针对机动车辆优化)并可直接上传至佳明 GPS 设备。同时会生成一个 .reg 注册表文件以便简化 MapSource 软件的安装流程。
osm2gmap是一款命令行实用工具,由 User:Jsl 创建,用于从 Geofabrik 数据创建单一国家地图。该软件支持 macOS 和 Linux 系统,能自动获取地图数据、分图工具、mkgmap 编译程序及 gmapi 构建器,并通过默认设置生成适用于佳明设备及 Basecamp 软件的地图文件。
如何自行拼贴地图
- (此信息需核对后删除或整合至上述说明中)
User:Computerteddy provides weekly updated tiles for the whole world which are available for download (1 GB archive of all tiles, access to gzipped single tiles). These can be combined to a Garmin gmapsupp.img using the free sendmap program (download).
- Determine the list of tiles that you are interested in with either of these scripts: Script based on Google Maps, script based on lat/lng coordinates
- Download the necessary tiles from the links mentioned above (be aware that no tiles are available for areas for which no map data is available, e.g. pure ocean tiles). Extract them if necessary.
- Copy sendmap20.exe to the folder where you stored the downloaded tiles.
- Use sendmap to create a gmapsupp.img: "sendmap20 -l tile1.img tile2.img tile3.img ... tileN.img"
This script can generate the corresponding sendmap command if you need many tiles but be aware that you may have to remove the tile names for which no tiles exist (ocean tiles).
Alternatively use mkgmap: "java -jar mkgmap.jar --gmapsupp tile1.img tile2.img tile3.img ... tileN.img"
It's also a good idea to give the resulting .img file an internal description for when multiple files are loaded onto your Garmin or sharing with friends: see Topographic_maps_for_garmin_devices#Combining_the_data for adding a description. - Upload your map to your device and enjoy your map.
创建您自己的地形图
将地图安装至 GPS 设备
将地图安装至 GPS 设备:在佳明设备上安装地图的最简单方法是将其切换至“USB 大容量存储模式”,然后将需要安装的 gmapsupp.img 文件复制到名为 Garmin 或 Map 的目录中。若上述两个路径均不存在(例如某些 nüvi 1xxx 机型),请自行创建目录。具体操作说明详见:OSM Map On Garmin/Mass Storage Mode。
以下示例描述如何在 Linux 系统中复制文件:
wget http://path/to/gmapsupp.img mkdir -p /mnt/gpsdevice/Garmin cp gmapsupp.img /mnt/gpsdevice/Garmin/
请注意,已安装的地图会显示在“工具/设置/地图/地图信息”目录下,您需要在该界面选择新地图以覆盖佳明的默认底图。
另请注意,您可能需要将 gmapsupp.img 文件安装至 GPS 设备的 SD 卡中(若设备配有 SD 卡)。(至少在一台 nüvi 1490 设备上,安装于“Garmin”文件夹的地图未在“地图信息”界面显示。)
使用 sendmap 安装:如果您的 GPS 设备不支持 USB 大容量存储模式,您需要使用 sendmap 或其他专用软件发送地图到设备上。
使用 MapSource:或者,您也可以将地图加载至佳明的制图程序 MapSource 中,然后从该程序下载地图。将地图安装至 MapSource 的说明详见此处OSM Map On MapSource。在 MapSource 中完成地图安装后,请从工具菜单选择地图功能。随后高亮选取所有需要下载的地图,此过程中可随时切换不同地图集。接着选择"发送至设备"功能,该操作将覆盖设备中现有地图文件(佳明基础地图除外)。
使用 Pygarmin:免费开源的 Pygarmin Python 软件包包含命令行程序,支持在佳明 GPS 设备之间传输地图。
如果已经现有 gmapsupp.img 文件该如何操作?
部分佳明设备/应用程序支持加载多个 img 格式文件。您可以尝试将 OpenStreetMap 的 .img 文件重命名为 gmapsup2.img 或 gmapprom.img 等不同名称进行测试。
在 Oregon 200(固件版本 3.42)、GPSMAP 62S(固件版本 2.80)和eTrex 20(固件版本 2.30)设备上测试时,该程序可加载 /Garmin 目录下所有 .img 格式文件。而 nüvi 1××× 与 3××× 系列设备则会读取 /Map 目录下的任意 .img 文件。用户完全无需使用名为 gmapsupp.img 的文件。附注:若出于测试需要使设备无法识别某地图文件,只需将该文件移出 /Garmin 目录或修改其扩展名(确保不以 .img 结尾)即可。
当多个 .img 文件被安装时,若这些文件头中均设置为默认的 OSM Street Map(或类似名称),将难以在设备菜单中对它们进行区分。不过修改设备显示名称相对简单:
- 在可处理二进制数据的编辑器中打开“.img”文件。这些编辑器通常被称为十六进制编辑器(在 Windows 系统中,Frhed似乎是个不错的选择;它能部分打开文件,这点很重要,因为 .img 文件可能非常大)。不过,对于普通计算机用户而言,这并非易事。
- 将
0x49-0x5C字节段编辑为使用 ASCII 可打印字符分配新名称。- 在名称末尾用空格填充未使用的字符。
- 在某些地图文件中,
0x5D是空格字符,但它不属于名称字段的一部分。
- 附加地图描述文本可置于
0x65-0x82字符位置。- 在名称末尾用空格填充未使用的字符。
- 设备上的地图列表中可能不会显示描述性文字。例如,在 eTrex 20 型号上,只有当选中地图名称时才会显示描述文字。
- 部分设备可能无法完整显示描述文字字段。例如,eTrex 20 型号似乎仅能显示
0x65-0x73区间的字符。 - 在某些设备上,当名称字段和描述字段同时填写内容时,需要在名称字段末尾或描述字段开头添加一个空格。例如,eTrex 20 设备需要在
0x5C位置或0x65位置添加空格,以确保在某些屏幕上这两个字段之间能显示空格分隔。若这两个位置均未添加空格,可能会因自动换行问题导致名称显示不全。 - 从技术角度而言,
0x83字符也属于描述文本的组成部分,但该位置始终必须使用空字符(0x00)。
- 保存编辑后的“.img”文件。
传统流程
在 Windows 系统
- 无存储卡机型
- 最简单的方法是使用命令行工具 sendmap,该工具可将
gmapsupp.img文件发送至佳明设备。已有地图将被覆盖。因此请先进行备份。 - 此外还存在一种可能性(在 Vista C 设备上对笔者无效):当某份地图在 MapSource 完成注册后,可将该地图的任意区域与设备上所有其他地图一并传输。具体操作章节如下(其方法与前述步骤完全相同): 在 MapSource 上使用 OSM 地图。
地图整合完成后,请在 MapSource 中一次性全选所有地图。此操作同样适用于不同地图集。随后选择“发送至设备”。传输过程将耗时较长。
- 有存储卡机型
- 若您的设备内置存储器中尚未存在任何
gmapsupp.img文件,且配有存储卡,您只需通过读卡器或 USB 大容量存储模式,将gmapsupp.img文件复制至存储卡上名为Garmin的文件夹中即可。
在 macOS 系统
佳明公司曾推出一款名为 MapInstall 及 MapManager 的 macOS 平台软件,其 2.1.3 版本发布于 2010 年 1 月 5 日。 点此下载(21.24 MB)。此软件与佳明 Mapsource 类似。来自 user:Lambertus 的佳明 OSM 全球可导航地图(也应该)有效。
与 Linux 系统极为相似。区别在于佳明设备会自动挂载到 /Volume 路径下,而非“mnt/gps”(或其他路径)。您可通过选中设备图标并调出信息面板(command+i)来修改默认设备路径名称。例如将其重命名为“GARMIN”,即可获得 /Volume/GARMIN 的设备路径。在该设备上创建名为“Garmin”的目录,并将“gmapsupp.img”文件复制至此即可完成操作。
佳明 GPSmap 76CSx 设备的早期固件版本存在兼容性问题:当 macOS 系统通过聚焦搜索功能对存储卡建立索引时,会在卡内生成特定文件,这些文件会导致设备出现异常。具体表现为:若用户以海量存储模式连接设备后关机,设备将持续发出低频错误提示音,此时只能通过取出电池才能解除警报状态。
解决方法有两种:更新固件,或在佳明存储卡的根目录下放置名为 .metadata_never_index 的文件(请注意,英名称前有一个英文点“.”)。创建该文件时,需打开终端并输入以下指令:
cd /Volume/"NO NAME" 此处填充系统将佳明存储卡自动挂载时使用的名称 touch .metadata_never_index
如果已经建立了聚焦搜索索引,您可能还需要对其进行清理。
ls -a
此命令将显示所有已隐藏文件
rm -rf <filename>
并将它们删除。基本上删除所有非 Garmin 文件夹、.metadata_never_index 文件或 gmapsupp.img 文件的内容。注意不要忘记删除 Garmin 文件夹内的所有隐藏文件。
cd Garmin ls -a rm -rf <hidden file to delete>
在其他系统
您现有的 gmapsupp.img 文件包含当前地图。您可以使用 mkgmap 将现有地图与这些地图合并为一个新的 gmapsupp.img 文件:
java -jar mkgmap.jar --gmapsupp your-existing-map.img map-you-want-to-add.img
(.img 文件的提供顺序无关紧要)
注:有时将两个 gmapsupp.img 文件合并似乎无法成功,但合并用于生成这两个文件的原始文件却能奏效,例如:
java -jar mkgmap.jar --gmapsupp 1234567.img 2345678.img
将 gmapsupp.img 文件复制到您的佳明设备中:
sudo cp gmapsupp.img /mnt/gps/Garmin/
将 MapSource 格式地图转换为 macOS 格式
首先需要将下载的 OSM 数据转换为 tdb 和 img 文件:
java -Xmx512m -jar mkgmap.jar --tdbfile --gmapsupp map.osm
采用 Gmapibuilder 工具可将 MapSource 格式地图(包含 .tdb 文件及若干 .img 文件)转换为 macOS 系统下的 .gmapi 格式。经此转换后,地图即可在 Roadtrip 软件中正常使用。
搭配佳明地图使用 OSM 的兴趣点数据
若您希望在佳明设备上仅使用 OSM 的兴趣点数据(例如“便民设施”),同时保留Garmin官方提供的地图,请参阅“搭配佳明地图使用 OSM 的兴趣点数据”页面。
佳明同时免费提供了兴趣点增强包,该数据基于 OSM(欧洲)数据生成,并依据开放数据库许可协议(ODbL)发布。
Raster Maps

Newer Generations of Garmin Devices can display raster maps via the KMZ capability and Birdseye view. Garmin's use of the KMZ format is rather limited and allows only for smaller maps. To create a KMZ file from a custom raster map is possible with MapTiler or using a Google Earth overlay. The proprietary JNX format of the Birdseye view on the other hand allows for maps with up to 50000 tiles on 5 zoom levels. The JNX format has been re-engineered and there are multiple tools to create JNX Raster Maps that can be used after applying a firmware patch.
Devices
OSM maps should work on all Garmin devices which support uploading maps. These include the Colorado, eTrex Legend, eTrex Vista, eTrex Summit, eTrex Venture, GPSMAP, Nüvi, Zūmo, Oregon, Quest and Streetpilot ranges.
If you know of any Garmin devices which support maps but do not work with OSM maps, please list them here.
Other stuff
- OSMGarminMap is an older XSLT style sheet to convert OSM data into files which can then be read and converted by cGPSmapper. It is probably not useful to you unless you want to hack around.
- Cycle map explains how to create a custom "rendering" of OSM data using Mkgmap.
- GPS Maps From OSM Data describes a web-based interface to generating GPS maps from OSM data.
- See /Format for more information about these Garmin map image files.
- See /WINE MapSource how to use the original MapSource in wine to transfer maps (if neither sendmap nor qlandkarte work for you).
- GroundTruth, generates maps for Garmin GPS units using OpenStreetMap data and NASA's SRTM digital elevation model
- See /Postcode Search On Garmin how to use open codePoint data set to enable postcode searching.
- OS OpenData Contours on Garmin - add UK contours from Ordnance Survey OpenData.
External links
- GPSMapEdit can be used to view and convert the garmin format (.img) back to polish format (.mp). The polish format is input for the MapCenter database.
- MapSetToolKit can be used to open up an IMG file set (or just 1 IMG tile) and create a Garmin MapSource view. (it requires cGPSmapper which is free to download) it has been done before, but i forgot how exactly (might require editing zoom levels with GPSMapEdit
- PocketMV is an shareware ($20) program for an Windows PDA that can display the garmin IMG file.
- Mario Advisor is a free java utility to display Garmin IMG maps in your mobile phone.
- www.digitalmobilemap.com is a J2ME program that can display garmin IMG map on any mobile phone. The application supports routeable maps and uses A* algorithm for AutoRouting
- PTGMAP Program for WindowsMobile Device to display maps in the Garmin format.
- Glopus (EUR 20, German) Another great shareware program for Windows PDA, PNA and PC to display maps in the Garmin format, mainly developed to show raster maps, but can show IMG maps as an overlay.
- BBBike.org extract service offers Garmin maps for an area of your choosing, style OSM, cycle, BBBike, OpenSeaMap, OpenTopoMap, Openfietsmap Lite, or Leisue
- MapTiler is a program to convert raster images into KMZ format compatible with Garmin handheld GPS devices. There is a free version available that leaves a small watermark over the maps, or a start version for $25 with no watermark.
- Pygarmin provides a Python module and a command line application that supports the transfer of maps from and to Garmin GPS devices.