Custom maps for Magellan GPSR


Until recently, only custom Garmin maps could be created, because there were no programs to create custom Magellan's maps, while several excellent programs such as GPSMepEdit (Konstantin Galichsky) and cGPSmapper (Stanislaw Kozicki) were developed for Garmin's maps.

In spite of Garmin's and Magellan's maps have the same file extension (*.img), format of the maps is absolutely different. Magellan's map (*.img file) consists of objects (layers) and the databases in Raima database format. The IMG file is composed from numerous compressed files (in different formats); the files describe objects on the map and determine behavior and look of the map on GPSR screen. Advantage of such Magellan's approach is faster map operation and the ability to upload any selected region to the GPSR (in contrast to the whole predefined region upload in Garmin). Mapsend_format yahoo group did incredible work to find out Magellan's formats; in the File section of this group specification of many main formats can be found. Members of this group developed several programs to create simple objects for Magellan's maps; but unfortunately all the programs are far from user level.

Situation changed dramatically on September 30th, 2003, when Varga Csongor discovered that MobileMapper Office available for public download on FTP servers of Thales Navigation (software developer for Magellan GPS) can be used to create custom maps for Magellan GPSRs. The MobileMapper Office (MMO) was designed to work with MobileMapper units (for professional georeference; the unit itself costs more than $1000). New MobileMapper yahoo group was created by him (?), this group deals with custom map creation using the MMO.

First version of MMO 1.00 creates maps fully compatible with Magellan GPSRs, later versions (1.10 and 2.00) were redesigned by Thales Navigation to exclude working with Magellan GPSR, but this "protection" was overcame by creation of converters (convertMMOoutput (command line) and MMOconverter (Windows GUI)). Both programs are available at this site.

All versions of MMO can create maps from the layers in Shape format (*.shp), MapInfo format (*.mif) and AutoCad format (*.dxf) of virtually any coordinate systems. These formats and coordinate systems can be converted to each others from within the MMM. MMO can create objects of the following 3 types:

1. Points 2. Polylines 3. Polygones

Magellan GPSRs have more types of the objects, in addition to above mentioned types there are:

1. POIs (Point-of-Interest) and 2. Topo (as a matrix of heights, shown by isolines on the screen with ability to build profiles and determine the height at any point).

To create objects of these two type custom programs were developed. POI_DB_creator to work with POIs and TOPO_creator to work with topography. All the created objects will be shown on MMO screen and than any desired region can be uploaded to GPSR.

Until recently (August 2004) the main disadvantage of MMO was impossibility to create more than one search groups. All created objects independent on their type are placed in only one group, so streets, rivers, points, parks could be done searchable from within one group (Streets and Roads). In August I found that some MMO's DLLs (for ver. 1.00 and 1.10, but not for 2.00) contain more functions then standard MMO uses; (probably Thales navigation was lazy enough to remove them from the version for internal using). After some modification of the MMO's code they were revealed (for ver. 1.00). After such "improvement" MMO can create more advanced maps with multiple search group and also create POIs. Also (this is important for conversion of Garmin's maps) filter function allows use one *.shp file for many different types of objects. For details see "Unknown MMO" section on this site. So now the most "advanced" version is the oldest MMO 1.00, where these hidden functions can be revealed. MMO 1.00 now is not available at FTP servers of the Thales Navigation. Currently I know only one place were MMO 1.00 can be obtained, this is a link in the Link section of the MobileMapper group. Size of the MMO1.00 is about 70 Mb. Unfortunately, I can not put the MMO 1.00 here (because of traffic and size limitation of my site). If somebody can put MMO 1.00 somewhere, please, do it; it will help a lot for many people working with custom maps.

Update: Many thanks to Il'ya, MMO 1.00 is now available at http://www.npoburenie.ru/ftp/mmo100/index.html)
09/17/05 Many thanks to Dmitry, MMO 1.00 is now available at http://www.rhamphorhinkx.ecohost.ru/mmo100/

As an example I describe in details creation of custom map of Moscow, Russia. The source of data is Garmin maps. In this example "hidden" function "Advanced Map creation dialog" and POI_DB_creator are used. For examples how to create custom maps from "paper" maps or other sources, please, have a look at the messages in the MobileMapper group and the File section of the group.


For this example I used Garmin's maps of Moscow. I used the most detailed map for streets, parks etc ( http://www.rus-roads.ru/gps/maps/50.htm) and another maps for POIs ( http://sinfo.ru/offroad/gps/).

Creation of *.shp files

1. Convert Garmin's maps to Polish text format. It can be done with GPSMapEdit (File-SaveAs-Polish format) or cGPSMapper (cGPSmapper yourfile.img). As a result we have 2 files (for each of the maps). In this text files there is all information on map objects (street segments, point, polygones, POIs (symbols) etc).

2. Convert these Polish text files to Shape files (*.shp). I used TXT2SHP program (by Claudio Galli). This freeware program can be found at the File section of Mapsend_format yahoo group or on Claudio's web site. The program works perfect but a little bit slow: conversion takes about 40-60 min. As a result we will have 4 files for each type of objects: lines (*_L.shp), points (*_P.shp), polygones (*_A.shp), symbols (*_S.shp). 3 files (lines, points, polygones) from the first map (10000077.img) will be used for the map itself, and one file (symbols) from the second map will be used for POIs. For simplicity we will call the files 1_X.shp and 2_X.shp for the first and second maps, respectively.

15 Dec 2005: Update: PTxt2shp program on this site: fast and filtered polish text to ESRI shape files.

Data preparation for POIs

Convert *.shp files with symbol information from the second map to format necessary for POI creation. There are two options: 1) POI_DB_creator from this site and 2) using the POI creation dialog from "hidden" MMO functions (see Unknown MMO section). For the POI_DB_creator we need text file (*.csv, comma-separated values) in format described in the POI_DB_creator of this site. In case of the "hidden" MMO function, file in DBASE 4 (*.dbf) format is needed. Basically both format are similar, *.csv can be converted to *.dbf (and wise versa) with Excel. In the following example I will use POI_DB_creator (to my opinion (probably because I am an author of this program) this program is more functional and convenient).

The Shape files (*.shp) contain coordinates of the points, for any of the *.shp there is also *.dbf files with text information fields. We need one file, where coordinates and text fields will be combined. ArcView program (licensed) can be used, or alternatively Map Maker program can be used (it has 30 days trial period, which can be "extended" by calendar settings (this is illegal ;)).

13 Feb 2006: Update: Please see PText to SHP page for Shp2csv program description. Map Maker is no longer needed.

1. In MapMaker: import our 2_S.shp file from the second map (Utilities-Vector Utilities-Import Files-ArcView Shape files), then save, then Utilities-Vector Utilities-Export Files-to Dbase/FoxPro dbf with XY. For some unidentified reason, Map Maker do not create file as expected, so we should do some manual work. Import to Excel 2_S.dbf file, import to Excel *.dbf file created by Map Maker. Copy and paste two columns with coordinates to the 2_S.dbf. In Excel, sort the 2_S.file (now with coordinates) by first column (which contain ID codes (they determine look of the symbols on Garmin maps), this is actually sorting by categories (in terms of Magellan maps). You can have a look at the "What is a POI" section of this site if you are not familiar with Magellan's POI.

2. Remove all not necessarily columns, as a result we should have 3 columns: i) POI names, ii) Longitude iii) Latitude. At this stage I did some more work (optional): i) duplicated points were removed (with simple VB script written for Excel) and ii) some names were corrected. Add category names as described in POI_DB_creator (in brackets).

3. Save in the CSV format (with *.txt extension). With text editor change comma to comma-space (default for POI_DB_creator, but can be modified (see POI_DB_creator)).

Here is an example (some part) of the file obtained :

Note, this is the simplest presentation of the POIs, there are only names and coordinates. Magellan format allows to add more fields with useful information (e.g. Addresses, description etc). Please see POI_DB_creator AUX fields for more info.

OK, data are ready, let us do the map

Modification of MMO

As I mentioned in the Introduction, we should "improve" our standard MMO to use "hidden" functions. Below is a very basic info, for more details please see "Unknown MMO" section of this site).

Unpack unhideMMO.zip (download section of this site) to the root folder of MMO 1.00 (default C:\Program Files\MobileMapper Office). launch unhideMMO.exe. As a result we have 3 programs instead of one:


Program Icon Files
Standard MMO MMOffice.exe, mmomain.exe, CustMap.dll
MMOfficePOI.exe, mmomain.poi, CustMap.dll
MMO for Advanced Maps MMOfficeGRP.exe, mmomain.grp, CustMap.grp

In this example we will use "MMO for Advanced Maps" and "Standard MMO". For POis POI_DB_creator will be used (although "MMO for POI" can be used as well).

Creation of the map

1. Run "MMO for Advanced Maps". Press Background Maps (or select from menu). We see the following (after some welcome message and project page (self explanatory))

2. Add User Groups (Cemetery, Industrial, Sports (objects found on our Garmin map)). For each of the User Groups add a layer of polygon type (because our user objects are polygons, of couse, any type of layers can be used for other custom maps). For Standard Groups add our 1_X.shp files (msk0_X.shp on this screenshot). For Roads, Railroads this is the *.shp (1_L.shp) of a line type, for Parks this is 1_A.shp of polygon type, for Hydrography there are 2 files: line type for thin rivers and streams (1_L.shp) and polygon type (1_A.shp) for thick rivers, lakes, etc. For all layers select LABEL in a Name-Source field (for names of the streets, parks, rivers and all other objects). More fields can be added, they will be shown on both MMO and GPSR screens (database manu), please, see "Unknown MMO- Advanced Maps" for details. In this example there are no additional fields (are they theoretically exist in Garmin format?). Similar, add 1_A.shp file to all User Group (the file contains polygons for Sport, Industrial and Cemetery objects)).

3. In all of the *.shp files there are layers of different type, they can be selected by TYPE field (as it was in Garmin's map). For each group select corresponding layers. Here is an example for Roads:

To select object of needed type we use "Filter" dialog. To have an idea what TYPE is the object use GPSMapEdit ( File-Map properties-Statistics), below is this property page from the GPSmapedit:

Do the same for all layers.

With "Advanced map dialog" presentation of the objects from Standard groups (on PC screen, but not on GPSR screen) can be modified. For User Groups both PC and GPSR look can be adjusted. If you like, only User Groups can be used. Look of the objects on PC screen and on GPSR screen can also be modified later. For PC map look see MSmapView program from this site, for GPSR map look see joinmaps program (by Tim Ford) available at the MobileMapper group, also there are several perfect documents with detailed description how to modify look of the objects on GPSR screen at the MobileMapper and Magellan_Meridian groups.

Almost done. If some map is attached to MMO, in the "Operations"-"Setup Attached Maps" detach all the maps. Press "Operations"-"Add map to Mapsend" button or menu item. Saving of the project and other options are self explanatory and I will not describe them here (some more stuff can be found at "Advanced Map" section of this site).

Close "MMO for Advanced maps". launch addSTDGRP.exe (part of the unhideMMO.zip package). This program will add standard groups in the export.cfg file of MMO. Add SEARCH_GROUPS = N n1 n2 .. in the [GROUP] section of the export.cfg file. N is a total number of the Search Groups for showing in the GPSR, n1, n2, ... are numbers of the group to be shown. Here is an example:

Now launch Standard MMO and see the map.


Let us add POIs to our map from the file described in the "Data preparation for POIs" section above. Unpack POI_DB_creator (downloads section) to any folder. Copy cat.def file provided to a new file with different name (or edit the cat.def) (say, moscow.def)). In the very first string add path to the folder with POI icons (they are used for MMO screen, but not for GPSR screen). GPSR's firmware has similar icons for the categories. The total number of available categories is 87. Which icon will be used in GPSR is determined by their internal name (this name is not shown nor on PC nor on GPSR screens). The internal names are in the third column of cat.def (or whatever *.def file). DO NOT modify them. Names for categories that will be displayed in MMO and in GPSR are in the first column of the *.def file. Modify the first column to custom names. They should match names for categories (in brackets) in the csv file. Here is an example (for our map of Moscow):

In this file we changed names from cat.def to be displayed with corresponding icons. For example, "Metro" category (subway in russian) will be shown with "tunnel" icon. In this example I used comment mark (";") to skip unused categories. This is done only for simplicity to understand what is done, actually this is not needed. Just modify first column to desired names.

launch POI_DB_creator, with "Menu-Import cat Definitions" import moscow.def file. Import *.txt (csv) file with POIs. Press "Create POI DB" (MMO should be closed). Done. For more details please see POI_DB_creation section. Note, objects of point type better present as a POIs (not as a layer of point type), the main advantage is a possibility to select which categories will be shown on GPSR's map at runtime.

launch standard MMO. Here is the map created in this example:

Here there are several pictures taken from GPSR

The map is available at <Downloads> section . On http://www.bicimapas.com.mx/Magellan_World_Maps.htm there is a repository of custom maps for Magellan. If you have something to publish, please put maps there.