
Making maps for Garmin GPS units
================================

The goal of the project is to take the map data from
OpenStreetMap <http://www.openstreetmap.org>
and to generate a map in the Garmin .img file format so
that it can be loaded onto GPS units.

The original motivation was to help plan mapping sessions, but now the
maps are becoming useful in their own right.

Using
=====

This program requires Java 1.6 or above to run.

Producing a map is simple.  Save OpenStreetMap data from JOSM 
or by any other method to a file and copy it to the mkgmap
directory.  In the following examples this file is called data.osm.

Run the command:

	java -jar mkgmap.jar data.osm

This will produce a file called 63240001.img.

You can copy the map to your Garmin GPS unit in any way you know how. On my
Legend Cx connected to a Linux system I put the unit into USB mass storage
mode, mount the filesystem on the memory card, and copy the map to
Garmin/gmapsupp.img  Note that this will replace any other map you have on
there.  Another way would be to use a USB memory card writer.
Another convenient way is to use the sendmap program.

You should (depending on the particular Garmin model) see a OSM
copyright message on starting up, and the map name 'OSM Street map'
should appear in the map setup section.

For more help see: http://wiki.openstreetmap.org/index.php/Mkgmap/help


Invoking mkgmap
--------------

Most of the default names mentioned in the previous section can be altered
by suitable options.  Run

 java -jar mkgmap.jar --help=options

to obtain a comprehensive listing of options, or see
resources/help/en/options.  See doc/README.examples for examples of
invocation details that others have found useful.


Processing more than one file at a time
---------------------------------------

It is usual to split Garmin maps up into smaller tiles.  This is
because older GPS units (before large SD cards were cheap) had a
limited amount of memory for maps, because there are limits within the
map format itself, and because mkgmap uses a significant amount of
memory to process each tile.

You can give more than one .osm file on the command line at a time and they
will each be converted to a separate garmin map tile.  There will also
be two other files created: 1) a file ending in .tdb and an overview .img
map.

See also doc/README.splitter.


Acknowledgements
================

This project is almost entirely based on the file format specification
document written by John Mechalas at the SourceForge project at
http://sourceforge.net/projects/garmin-img.  The 'imgdecode' program
from the same source was also very important in checking that I was
on the right lines to producing a good file.  Thanks.

Steve <sr at parabola me uk>
