Geocacher
Creative Commons License photo credit: Gregory Pleau

Currently the development of Kosmos is on hold – about a month ago I started implementing a new tool for generating Garmin maps from OpenStreetMap data. The tool is called GroundTruth (and here’s why).

Since there are already some tools which do this kind of work, you’ll probably ask why I felt a new tool is needed. Let me answer by saying that I use my Garmin unit mostly for hiking (and mapping hiking paths). For the past year or so I used a tool called Mkgmap for generating Garmin maps of Slovenia (both road and hiking maps). The problem I had with Mkgmap is that it only supported single tag rules for converting OSM features to Garmin map elements. This is problematic if you want to fill your map with as useful information as possible.

One simple example would be to show hiking paths which are trailblazed differently from ordinary non-marked footways. This is important for hikers, since trailblazed path usually mean you won’t get lost even if you don’t have a GPS unit or if your unit’s batteries are dead.

The trailblazed paths are just one example. There are a lot of other combinations of OSM tags which are important. Since I didn’t notice any development Mkgmap activity on this issue, I decided to give it a go myself (it looks like Mkgmap now supports complex rules after all, but I haven’t tried it).

I’ve taken the idea of storing rendering rules on OSM Wiki pages from Kosmos. Here’s a sample of how these rules look like for GroundTruth:

GroundTruth4

The second motivation for GroundTruth was to make a tool which would be a one-stop-shop for Garmin mapmaking. This includes:

  • support for custom map styles (with automatic generation of TYP files)
  • support for additional map features (like map transparency)
  • generation of Mapsource preview files
  • registration of generated files into Mapsource
  • automatic uploading of generated maps onto a GPS unit.

These features are already implemented and I’ve tested maps on my hiking trips. I’ve done some work on defining rendering rules to show different types of highway=footway (red lines, solid or dashed depending on its visibility) and highway=track (gray lines, solid or dashed depending on the track grade) (screenshots are from Mapsource):

GroundTruth1

One of the nice things that can be done using GroundTruth is to combine several criteria using semitransparent lines or areas. We can show marsh in combination with other landuse types (like forests):

GroundTruth3

And here we show all trailblazed ways (either footways or tracks) with a white border:

GroundTruth2

All this can be achieved simply by specifying rendering rules. Everything else (custom types definitions, generation of TYP files) is done automatically by the tool.

I should note that GroundTruth uses a free version of cgpsmapper to do the actual generation of IMG, TDB and TYP files (I’m no way affiliated to the author of cgpsmapper).

What Still Needs To Be Done

GroundTruth is now nearing the first release. I still have to add support for POIs (you’ll be able to use your own icons for these) and some other minor features. Hopefully this will be done in next few weeks.

After the first release, I’ll concentrate into providing support for contour lines from SRTM height data (a new tool will probably be needed for this). Possibility for map routing should also be investigated. So if you’re interested in Garmin maps, please stay on this channel…