OpenStreetMap Quality Assurance with a Garmin GPS
I've recently bought myself a new Garmin eTrex Vista HCx GPS to replace my older Garmin eTrex Legend unit. Because I don't want to shell out money for outdated maps, I have spend some time building my own map images for the Garmin with mkgmap and OpenStreetMap data. I will write more on that later.
Because most of the data in OpenStreetMap has been surveyed by volunteers, it is always possible that things are missing or done incorrectly. There are quite a few different tools on-line for quality assurance of the OpenStreetMap data, but I will be looking at two of them only.
OSM Analysis
First of all there is ITO World's OSM Analysis. This tool compares the OpenStreetMap data in the UK to the Ordnance Survey's Locator data. The latter is supposed to be the authoritative source of road names in the UK. For each of the 417 areas in the UK, the tool produces two lists; for example the one for Brent is here: http://www.itoworld.com/product/data/osm_analysis/area?name=Brent.
The first column lists all the corrections that Ordnance Survey ought to make in an updated version because one of OpenStreetMap's surveyors found it incorrect. The second column lists all the streets that are missing from OpenStreetMap.
Because it would be really useful to have this sort of data available on a hand-held GPS to be able to notice any of the highlighted missing roads on the go, I set out to convert this data to a map file suitable for the Garmin devices. I've published the scripts on github so that you can try it for yourself, but I've also put a ready made osmanal.img file on-line for download at http://derick.dev.openstreetmap.org/. In the near future I will use cron to run this conversion about once a week automatically.
Musical Chairs
Another tool that compares OpenStreetMap data with Ordnance Survey's Locator data is OS Locator Musical Chairs. Documentation on this project is available on the OpenStreetMap wiki.
The author of the Musical Chairs tool has provided a data dump highlighting all the disagreements it finds (including missing roads) while comparing OpenStreetMap data against Ordnance Survey's Locator data. I've written a tool that converts this data to another Garmin map image files with the scripts that I have published at github. With those scripts you can make your own image files, but like with the OSM Analysis I have made a ready-made file muschair.img available at http://derick.dev.openstreetmap.org/.
Using the map image files
Before you can use the two Garmin map image files, you either need to convert it to a stand-alone gmapsupp.img file by running:
java -jar /backup/osm/try4/bin/mkgmap-r1946/mkgmap.jar --gmapsupp osmanal.img
or:
java -jar /backup/osm/try4/bin/mkgmap-r1946/mkgmap.jar --gmapsupp muschairs.img
These commands produce a gmapsupp.img file that you can upload to your Garmin device. If you do this, you will not have any road data.
You can also merge this file with all your other maps to keep the road data, by running something like:
java -Xmx2048M -jar /backup/osm/try4/bin/mkgmap-r1946/mkgmap.jar \
--gmapsupp /tmp/music.img /tmp/osmanal.img \
UK/gmapsupp.img \
contours/gmapsupp.img
Which merges the Musical Chairs image file (music.img), the OSM Analysis image file (osmanal.img), the UK maps (UK/gmapsupp.img) as well as my UK contours line file (contours/gmapsupp.img). This again produces a gmapsupp.img file that you can upload to your Garmin GPS.
For further mkgmap usage details I would like you to point to it's page on the OpenStreetMap wiki: http://wiki.openstreetmap.org/wiki/Mkgmap or more generally to http://wiki.openstreetmap.org/wiki/OSM_Map_On_Garmin. I am also intending to publish my UK and contour map creation scripts after I've streamlined this process.
And now the maps have been on my GPS for a few days, I've identified and fixed a "disagreement" from Musical Chairs and a few others from the ITO World OSM analysis tool.
Life Line
Updated an information and a bench
Created 2 benches
Created 4 picnic_tables, a bench, and a fitness_station; Updated a pub and a sport club
Created 2 benches and 2 waste_baskets; Updated 4 benches, a bus_stop, and a cafe; Confirmed a dentist
Created 3 waste_baskets, 2 main entrances, and a bench; Deleted a cycle_barrier, a bench, and a waste_basket
Created an information; Updated a waste_basket and a bench
Updated 2 waste_baskets and a bench
Created 3 benches
Created a waste_basket; Updated 2 benches and a tree
I walked 3.5km in 35m31s
Created a main entrance and a home entrance
Created an entrance
Updated a house building
Created an entrance
I walked 5.8km in 1h15m06s
I've just finished reading "A Cheese-Monger's Tour de France", by Ned Palmer.
Now I want to try many of those! 🧀
I'm thrilled to announce that I'll be speaking at the 23rd edition of #phpday, the international PHP conference in Italy, organised by @grusp.
I’ll be presenting a talk titled: "Better Debugging With Xdebug".
It's in Verona, Italy, on May 14-15th 2026.
You can use my speaker’s discount code "speaker_10OFF" for 10% off at https://www.phpday.it/tickets/?utm_medium=organic&utm_source=linkedin&utm_campaign=post-speaker
I walked 5.5km in 1h11m00s
I walked 1.1km in 9m37s
Merged pull request #1066
PHP 8.6: Changes to opcache optimisations wrt function arguments
I walked 10.5km in 1h49m54s
Fixed building type
Fixed addresses and building type
Updated a bus_stop, a waste_basket, and a bench


Shortlink
This article has a short URL available: https://drck.me/osm-qa-8p4