Garmin bicycle routing algorithm

(This message was posted in the mkgmap mailing list as well.)

I apologize if this question is off-topic for this forum. I am trying to get an idea about how the bicycle routing of Basecamp 4.4.8 works (or eTrex 20x, which is the unit I have) and how it differs from car/automotive routing. I wonder if others in this list could enlighten me.

From the information I was able to gather, automotive routing works like this:

  • fastest speed: gives preference to higher road_class
  • shortest route: disregards road_class, calculates shortest route
    In both cases road_speed is only used for ETA and not route calculation (or has a very low weight).

However, does bicycle routing works in the same way? I found confliction information on this point: when using ‘fastest speed’, some say that lower classes are preferred (due to roads being less busy) but most dedicated cycle maps that I have encountered (for example ligfietser’s most excellent OpenFietsMap) use higher classes for more desirable roads and claim that the map can be used in both automotive and bicycle mode. And what about ‘shortest route’: does it disregard road_class like automotive mode?

And how ‘bicycle’ and ‘tour cycling’ differ?

I’m going to create a custom OSM map and a custom style in order to get some more clues and share the findings with the forum but I would appreciate if somebody with the knowledge could shed some light into these issues.

No, not at all off-topic. As you already noticed, I give cycle routes and cycleways a higher road class (3) so they are preferred in fastest speed. The highest road class 4 caused problematic routing in bicycle and foot mode (I think Garmin doesn’t like to take those ways as pedestrian or cyclist). I haven’t notice any difference in bicycle or touring cyclist mode, but I’m looking forward to hear it if you can find something.

Also note that some Garmin maps prepared from OSM data for cycling purposes assume that you use car routing on your Garmin device! The algorithms do vary between different device types, and from BaseCamp/MapSource. Newer Garmin devices have a feature called “activity routing” which may cause routing problems with the old-style maps generated by mkgmap - Garmin does not provide us with information how to build maps of the current format.