Generating Custom Garmin GPS Maps :
The following article is a follow up article on how to generate downloadable
maps for Garmin's range of GPS receivers using one of the new GUI's that have
appeared in the last year. This article will focus on the use of MapEdit. The GUI that
originally shipped with GPSMapper
is no longer supported by it's authors. I also took a look at GlobGPS, but in
my opinion MapEdit has a better feature set/easier to use despite the fact that
GlobGPS has calibration integrated into the application.
As with the original article, it is still required to have some form of
basis for the map you wish to create. This process simply removed the requirement
of tracing the files in OziExplorer and the tedious task of generating the text
The basis for your map can be anything from; an existing track taken with
you GPS, a set of waypoints, or for my example an aerial photograph. I currently
use UsaPhotoMap in combination with
BigJpeg due to its ease of use and that it gives both aerial photographs and
topographic maps. If you are using this process I suggest that you take note of
two waypoints that can be used later as calibration points.
This article assumes that the tools required are installed and configured as
per the previous article.
The following example will create a map from scratch using aerial photograph
downloaded using TeraServer.
- Start UsaPhotoMap.
- Click File/New Map File. For
you own map, enter suitable information. For my example enter the
following for the Torrey Pines Municipal Golf Course, home of the Buick
Invitational here in San Diego. Description: Torrey Pines GC, Lat
-117.2453 Long 32.9045. Make sure the zoom is set to 1 metre/pixel, and
then click File/Download Map Data. This should give you part of the golf
course around the club house.
- Using the cursor keys move
the screen/download map data until both the north and south courses are
visible. Navigate to the top left corner of the golf course and press X.
Cut and paste the coordinates into a text file, and perform the same
operation for the bottom right. The coordinate will look something like
Top Left N 32.915435° W 117.255387° N 32° 54.9260' W 117°
15.3232' N 32° 54' 55.56" W 117° 15' 19.39" Easting 476,120 Northing
3,641,941 z11y18209 x2380 32.54 -117.15
Bottom Right N 32.889138° W 117.242589° N 32° 53.3482' W 117°
14.5553' N 32° 53' 20.89" W 117° 14' 33.32" Easting 477,310 Northing
3,639,023 z11y18195 x2386 32.53 -117.14
- Mark a couple of reference
points that can be used for calibration. For golf courses I use the center
of the greens as they are usually easy to detect. Road intersections are good
for other types of maps. When you exit the UsaPhotoMaps application, a xml
file will be created with the waypoint information. However as I
personally don't like having to type in all of the information, I save the
waypoints to my GPS which I then load back into OziExplorer. At the moment
I don't know how to save the waypoints in UsaPhotoMaps into a Ozi
compatible file directly. So if your unable to save to a GPS unit and
export into Ozi from it, you'll have to write the waypoints down.
- Start BigJPEG (should be in
the UsaPhotoMap directory), using the data just captured enter the
coordinates for the top left and bottom right. (tip: if the program
complains that a specific DTA file cannot be found and the files exists in
the directory, close the UsaPhotoMaps application and rerun BigJpeg)
- Create a working directory
e.g. "My Maps" in your home account.Copy the generate BigJPEG
file/jgw file to your working directory and rename to something relevant
e.g. torreypines_gc.jpg/jgw. (the actual
map is below for reference if you wish to skip the steps above)
- Start OziExplorer.
- For calibration I'm going to
use North Course hole 15 (top right @ lat="32.914054"
lon="-117.246742") and South Course hole 12 (bottom right @lat="32.891984"
lon="-117.249686"). Click "View/Lists/Way Point List".
- Enter the information for the
two points (make sure your units are correct. (tip: Ozi requires that the
decimal part has . prefix). Save the way points to a file by clicking Save
disk icon, "Save Waypoints to file" and save to torreypines_gc_cal.wpt
- Now it's time to calibrate
the map (if your using the evaluation version, you will need to convert
the JPG to a BMP before doing this). Click "File/Load and Calibrate
Map Image". Select the file that was created from using UsaPhotoMaps.
Click the "Point 1" tab and navigate to the same location as
N15, click the center of the green, now click the "Wp" button
next to it and use N15 as the reference. Click"Point 2" tab and
do the same for S12. The further apart and more numerous the calibration
points are, the better the calibration.
- Save the file as torreypines_gc.map
- Start MapEdit.
- Click "File/Open"
- Zoom to a scale that gives
detail for your screen size/resolution (30m is about right for me) and
navigate to to where the club house is (right hand side/half way down the
map @ lat="32.90448" lon="-117.24541"). Select the
"point tool" on the tool bar by selecting the arrow between the
wand tool and rectangle-cut tool. Select the club house, when the "Change
region type" dialog appears, navigate to symbol 0x0040 - Golf and
select it. A small white rectangle will now appear of the map - enter
"Torrey Pines Golf Course". A POI (a.k.a. Point of
Interest") has now been created.
- Repeat this for all of the
holes on the course. I created two files with this information for north
and south courses respectively.
- Click "File/Save
as" and enter name. This saves all of the POI's as a txt file
compatible with gpsmapper.
- Creating the fairways for
the course is similar to the POI's. This time using the region tool select
"Polygon" and draw round one of the fairways. When done, hit
escape and select "Golf Course - 0x0018" in the dialog and then
add a description such as "Fairway N13". The new region will now
be shown in red hash overlaid on top of the map.
- Repeat the above process for
the remaining holes/water hazards etc. For my example I used "Lake -
0x003c" for the water hazards. During the creation phase, if you make
a mistake, the polygon can be edited by selecting the "Move
Points" tool on the tool bar, zooming in over the point you wish to
change (the cursor will change over an movable point) and drag and drop
the points. Additional points may be added by right-clicking the mouse and
selecting "Add Points".
- If you decide you don't like
the name that you entered in the previous steps, it may be renamed by
selecting the object, right-clicking and selecting "rename".
Other options on this menu are "Change Type" and "Move
The following file is a partial map of Torrey
Tip: If you have multiple maps, using the "File/Add" option you
are able to import each of them into the work area. Then using the mask option
select the area of interest and right-click cut outside. This is useful when
wanting to perform the equivalent of a merge and want to avoid having a
"blank" area's just outside of your custom map when used with Garmin
- Finally we are ready to
generate the map. But before we do we want to make sure all of the maps
properties are correct. Click File/Map Properties. For ID Enter 10000013,
Name: Torrey Pines Golf Course. RTE_size: 6000, TRE_margin: 0.000. Leave
the other options at their defaults.
- Click the levels tab, and
the "Insert before" tab. This will add two levels. As a golf
course is pretty small and detailed we want the maximum resolution. Higher
resolutions would result is a jaggy look. Highlight level 0 and click
change. Make the Bits: field 24 but leave the zoom range at under 1.2Km.
Highlight level 1 and click change. Continue with options until it looks
like the image below.
Generating the Map
- Finally we are ready to
generate the map. For this we will need a DOS prompt, getting this will
depend on your OS for Win2k/XP using click Start/run and enter
"cmd" (without quotes) and you should have prompt. Change
directory to where you saved all of your files.
the attached files. This will invoke the cgpsmapper utility with the
correct options to generate the actual map in the correct Garmin IMG
format and a preview file that can be used with MapSource. (When you have
more maps to add, simply modify the attached version to expand the
auto-generation of the maps and previews)
- Now copy the two generated
IMG files (100000013.img/GolfCourses.img) and the TDB files to the
location that was configured in your registry.
- The new maps should be
available in MapSource.
The following tools need to be installed (listed in the order they are
The following is a selection of commonly asked questions I've received since
I wrote the first article.
Q: Can I download a image (scan/photograph or other bitmap image) directly
to my GPS receiver?
A: No, GPS receivers require specially formatted maps which are in
"vector" format i.e. a sequence of coordinates representing
individual lines rather than "bitmaps" which typically represents an
image such as a photograph.
Q: Do you know of a program similar GPS Mapper for my brand "X"
A: There might well be, but as a Garmin owner I am unfamiliar with other
brands that might or might not have comparable utilities available for them.
Q: GPSMapper doesn't seen to generate maps correctly, what is wrong?
A: Make sure that you're able to generate the example map that comes with
GPSMapper. It's located in the directory where you installed GPSMapper under
SampleMap or Test_map. Note, I am not the author of this program. I've simply
written this How-To FAQ to assist enthusiasts.
Q: I have Garmin's "X" GPS receiver. Will this method work for it?
A: Any of Garmin's GPS receivers that have mapping capability will work with
this process. Garmin GPS receivers that support POI should still be able to
display POI information contained in the maps, but will not be able to display
the maps themselves.