Marcel's weblog

Bloggers zijn blijer!

May 17, 2009
17 May

Converting geonames to Garmin custom map

Posted by Marcel, May 17, 2009
Geonames Turkey

Geonames Turkey

I have been figuring out how to make custom Garmin maps using the names from geonames.org for use on my Garmin eTrex Vista HCx GPS. This is useful for areas for which no Garmin maps exist.

I couldn’t find any software to convert the data, so I wrote my own software. I am sharing the software here under the GNU General Public License.

To make your own places map, follow these steps:

  1. Download and unzip Gn2mp
  2. Download and install Microsoft .NET Framework 3.5
  3. Download and unzip cGPSmapper (a version that supports indexing)
  4. Download and unzip MapSetToolKit
  5. Download and unzip names of your choice from geonames.org
  6. Start Gn2mp (double click the .exe file)
  7. Select the unzipped geonames text file
  8. Select the cGPSmapper executable
  9. Select the ‘Convert!’ button and have patience
  10. Create a directory to install the map into (usually C:\Garmin\…)
  11. Start MapSetToolKit (double click the .exe file)
  12. Select ‘Select IMG’ and select the folder where you unzipped the geonames text file
  13. Highlight the .img file and select the ‘Add –>’ button
  14. Select the ‘…’ button after ‘Mapset directory’ and select the install directory
  15. Type a ‘Mapset name’
  16. Type a ‘Family ID’ (don’t use product codes, else indexing want work!)
  17. Be sure ‘CodePage’ is 1252
  18. Select ‘cgpsmapper/cpreview folder’ and select the correct directory
  19. Check ‘Install in MapSource’
  20. Select  the ‘START’ button and have some more patience
  21. Start MapSource, select the new map and transfer it like usual

The generated map is a POI only map and has two levels. The bigger places (marked administrative or capital) are on the second level. The default zoom levels should be okay for most cases.

Even if you don’t select the cGPSmapper executable, Gn2mp generates an intermediate .mp file. This file can conveniently be edited by GPSMapEdit. In this way you can add more information to the map (for example VMap0 data) or edit the zoom levels.

If your trial period has been expired and you don’t want to buy cGPSmapper, you can compile your maps online in Mapcenter2.

The provided file geonames.map translates the feature codes of geonames.org to Garmin object types (see the user manual of cGPSmapper, section 12.3.1). Gn2mp will show unmapped features in the messages box. Unmapped features are by default mapped as miscellaneous points (0×0700) with the feature code appended to the name (separated by a dash). If you add to or correct geonames.map, please let me know, so I can update it. The feature map is originally based on the information here.

Indexing works, but ‘Find Address’ on my GPS does not (‘Find Cities’ and other functions do work). If you know how to make ‘Find Address’ working, please let me know. This seems to be called global indexing.

To check if a map id (family id) is in use, check this list.

Gn2mp was written using Microsoft Visual Studio 2008 in the C# language. You can download the project here.

Comments, corrections and remarks are very welcome, also if you just succeeded making your own map.

Change log

Version 1.2

  • Workaround WPF scroll bug

Version 1.1

  • DOS window removed
  • cGPSmapper runs at lower priority
  • GUI layout improved

Version 1.0

  • Initial version
VN:F [1.8.1_1037]
Rating: 0 (from 0 votes)
Tags:

Comments

Add a comment

Leave a Reply

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="">