From OpenStreetMap Wiki
Jump to: navigation, search
Available languages — Mkgmap/routing
Afrikaans Alemannisch aragonés asturianu azərbaycanca Bahasa Indonesia Bahasa Melayu Bân-lâm-gú Basa Jawa Baso Minangkabau bosanski brezhoneg català čeština dansk Deutsch eesti English español Esperanto estremeñu euskara français Frysk Gaeilge Gàidhlig galego Hausa hrvatski Igbo interlingua Interlingue isiXhosa isiZulu íslenska italiano Kiswahili Kreyòl ayisyen kréyòl gwadloupéyen kurdî latviešu Lëtzebuergesch lietuvių magyar Malagasy Malti Nederlands Nedersaksies norsk norsk nynorsk occitan Oromoo oʻzbekcha/ўзбекча Plattdüütsch polski português română shqip slovenčina slovenščina Soomaaliga suomi svenska Tiếng Việt Türkçe Vahcuengh vèneto Wolof Yorùbá Zazaki српски / srpski беларуская български қазақша македонски монгол русский тоҷикӣ українська Ελληνικά Հայերեն ქართული नेपाली मराठी हिन्दी অসমীয়া বাংলা ਪੰਜਾਬੀ ગુજરાતી ଓଡ଼ିଆ தமிழ் తెలుగు ಕನ್ನಡ മലയാളം සිංහල ไทย မြန်မာဘာသာ ລາວ ភាសាខ្មែរ ⵜⴰⵎⴰⵣⵉⵖⵜ አማርኛ 한국어 日本語 中文(简体)‎ 吴语 粵語 中文(繁體)‎ ייִדיש עברית اردو العربية پښتو سنڌي فارسی ދިވެހިބަސް
Mkgmap ±



Known issues


Download maps

This page is outdated. Please refer to the style manual of mkgmap for up-to-date information.

This page was created when routing support was new in 2009. It is now mostly for reference, although everything that is no longer true was removed or modified as of Feb 2012.


  1. get mkgmap
  2. get some OSM data, and cut it into tiles using the splitter if necessary
  3. build a routable map: java -jar mkgmap.jar --route --remove-short-arcs *.osm.gz


  • The created maps will be larger than without routing.
  • If you use your own style, then it must include suitable road_class and road_speed definitions, see the default style for an example.

Routable Types

0x01-0x13; 0x16; 0x1a,0x1b

  • Attention when changing the style-file. Not all line types support proper Routing. 0x20-0x26 are reserved for height lines and will not work anyhow. However if you select a type outside the amentioned types you will get erroneous routing behaviour - very similar to the situation where a way is not connected to another way. 0x1a and 0x1b should be used for ferries or car rail transport (putting your car on a train, mostly through mountain tunnels), if you create maps for hiking it's sensible to use 0x1b for gondolas, chairlifts and so on.

Access restrictions

Mkgmap evaluates the following access restriction tags (hardwired).

  • access (applies to everything)
  • bicycle
  • foot
  • hgv
  • motorcar
  • motorcycle (same as motorcar)
  • psv
  • taxi
  • emergency
  • delivery
  • goods (same as delivery)


Please post to the mkgmap-dev mailing list.

Routing Maps available online

See the OSM_Map_On_Garmin/Download page.

Old News

  • SVN r935 adds support for turn restrictions. 07:42, 26 February 2009 (UTC)
  • SVN r910 has support for inter-tile routing if tiles are split using the splitter. 11:11, 19 February 2009 (UTC)
  • SVN r899 merges support for routable maps from .osm to trunk. 10:31, 17 February 2009 (UTC)
  • SVN r868 adds support for routable maps from .osm input to the nod branch (Mark Burton). 08:16, 10 February 2009 (UTC)
  • SVN r863 has a patch by Mark Burton that may fix the pink lines of death people have been reporting. Please test! 18:11, 8 February 2009 (UTC)

Things to try

Apart from just using the map and reporting unexpected behaviour, here's a list of specific things that could do with testing.

  • Long routes and inter-tile routing: mkgmap occasionally fails to route over long distance and multiple tiles. We need to narrow the problem down.
  • Curvy roads: There's some "curvy road" data we don't understand and aren't writing. Do any problems show up with curvy roads?
  • Route parameters: There are some unknowns in the RouteParams-field and the Garmin routing settings (emergency and delivery, which may also be related to carpool). See also Talk:Mkgmap/routing#Bicycles.