5x12 pentomino tiling
«

Better Mapping on the eTrex 10

»

I was talking in my last blog post about how I'd bought a Garmin eTrex 10. This was mainly for two traditional GPS functions: track recording and route following as, according to Garmin, it's not got any mapping. Except that it does.

Garmin Etrex 10 showing default map It's only a monochrome screen so it's not going to be great for mapping (although it is for viewing in daylight) but it does have a very basic world map stored in it, as the promo shot on the right illustrates. But it really is very basic. For example if you zoom in on the Nairn area it shows you that the land meets the sea there but the boundary is a part of a very simple polygon and consists of only three lines in the ten miles or so from Nairn to Findhorn and there are no labels, so no place names at all. Only large cities seem to be included, possibly only capital cities (although I didn't explore it in any detail).

As far as Garmin are concerned that's all you get, and it's pretty useless. But if you want mapping on your GPS they want you to buy the eTrex 20 or eTrex 30 so that's fine by them.

Anyway, going back to the map you do get it is unsurprising that it's so lacking in detail when you realise that the eTrex 10 only has 8MB of flash, it's not expandable, and in that space it has to store all your tracks, routes, waypoints etc plus its world map. So it crams the world map into a proprietary format IMG file called gmapbmap.img

And that is what has provided some clever people with a sneaky way of loading much more detailed maps onto the eTrex 10.

If you Google about this you will find that out there on the Interweb there are sites hosting pre-built IMG files for various regions. etrex10.ru is a good place to start. You download the IMG file and then simply mount the eTrex 10 as USB mass storage and overwrite the IMG file with the one you've downloaded from that site.

However this is a still a bit basic. That site for example offers, for here, one file for Ireland, Iceland(!?), and the United Kingdom. So although it's better than the base map it's not that detailed.

Far better is to create your own from OpenStreetMaps data. For that you need two things:

  1. an OpenStreetMap OSM file (geodata in XML format) for the area you want mapping
  2. a tool mkgmap which converts your OSM file to a Garmin IMG file

The first of these is easy. There's a site BBBike which has a handy tool that lets you define an area for which you want an OSM file and then queue it for extraction. Once it's done - it typically takes a few minutes - it mails you to tell you it's ready to download (you can choose xz, bzip or gzip format when you ask for the download).

The second is more interesting. It needs Java and, despite what its own documentation says, it needs 1.7 not 1.6 which caused me some minor irritation but I sorted that out. Once you've done that you just invoke it, assuming your unpacked OSM file is data.osm, as:

java -jar mkgmap.jar data.osm

After a bit of churning it spits out an IMG file. I picked an area which includes Inverness, the Black Isle and everything down to and including most of the Cairngorms and the IMG file I got out was about 2.5MB which fits nicely on the eTrex 10.

eTrex 10 showing map of Nairn On the whole it was very impressive, and in ways I wasn't expecting. It not only had mapping down to street level but it knew street names too. For example in the photo on the right (the contrast is a lot better in real life) I'm centred on Nairn and the pointer is on the high street so, at the top, it tells me that. You can also see that the A96 is labelled and if I zoomed in one more level the location of the two toilets in the town centre is shown1. I could ask where the nearest fuel station was and it told me with distances. Ditto pizza restaurants etc etc.

The only downer was that although it clearly showed paths in general it didn't if the area was also woodland or scrub. In other words it didn't seem to like rendering one object over another. The foreshore at Nairn is labelled as scrub and Culbin Forest as woodland and they're both areas in which I will be cycling a lot.

Some reading of the documentation of mkgmap revealed that it was all driven by styles and you could customise them.

A style generally consists of a directory tree of files and they provide "default" with the mkgmap download so I recursively copied it over to a new directory "nowoods" and used grep to track down and comment out all the lines in various style files referring to the rendering of objects in the OSM file tagged as "forest", "wood" or "scrub". Running the OSM file through mkgmap using this new style:

java -jar mkgmap.jar --style-file=nowoods

... produced an IMG file with no woods or scrub shown but now showing those missing paths and tracks in the woods and over the foreshore.

In closing I should mention that I believe this same technique works for any Garmin GPSs which support mapping, so long as you can work out what the target IMG name needs to be on the GPS' file system. They also tend to have a lot more memory.

So if you want some free maps on your Garmin GPS ...

  1. Actually I think I want to do a bit more work on this: as you can see the Garmin renders A and B roads wider. All maps tend to do this but it's ridiculous here and as I don't care about road classification I think I need to change the mapping so that all roads are mapped to be unclassified in Garmin's terms and so the same width.

Tags: maps, toys Written 16/07/16


Previous comments about this article:

On 01/02/18 at 8:49pm etrex10.ru wrote:

From etrex10.ru you download FULLY DETAILED OpenStreetMaps of a big region (e.g Ireland, Iceland and UK), but splitted for a small tiles. By user friendly interface you can build a small, but fully detailed mapset of a necessary region (e.g. Inverness, the Black Isle and everything down to and including most of the Cairngorms), compartable with a miserable memory and monochrome display of Etrex 10.

Of cause, you can compile your own maps form OSM data, but deleting ''woods'' is not the best solution. Etrex 10 САN render one object over another! But it is necessary to select a sutable typ file. For the first time you can try osm.typ Write me and I will send you this file

On 25/01/19 at 5:13pm Ray B wrote:

What I am currently trying is using the caltopo (https://caltopo.com/kmz.html#) website to get an MBTiles file, and then using mygeodata convertor (https://mygeodata.cloud/converter/mbtiles-to-img) to convert that to img. Seems like it should work. Just need to test it out tonight.

Comment on this article

«
You can follow these posts on Twitter at @Wibblings
»
I am currently reading:

Scotland: The Autobiography by Rosemary Goring Star Island by Carl Hiaasen

(?)
Word of the Day:
jumar