Basic-map questions


I have a little script that makes a map from a cloudmade extract, using the splitter and mkgmap. The end result is a garmin .img file. This works fine (apart from the white sea, or non existent sea).

Now I want to make a more ‘basic’ map, with for example only railroads and station points/names.

What is the best way to go about this? Take the same cloudmade extract, and filter it somehow? Or use xapi to select only what I want in my map? I suppose to show railroads on Garmin I would also need a TYP file because they are normally only shown at ridiculous zoom levels.

Would I require more processing than just the “right selection in the beginning”?

Would making a transparant map and having it on top of the base map be a solution for the “no sea” problem?


Use mkgmap’s --generate-sea switch.–generate-sea

The simplest would be to create a custom mkgmap style file by renaming the default style and editing the various files to remove OSM objects that you don’t want to appear in your Garmin map. See

I’ll try that again, I did not have good results with it the last time I tried (quite a while ago)!

I thought about that too, but that feels, eh, wrong :). The information would still be in the map, yielding a larger map than is necessary.

On an unrelated note - you are in Abu Dhabi? I lived in Al-Ain for three and a half years in the beginning of the eighties.


Actually, the information would not be in the map: anything not described in the style rules is dropped. So you will get a much smaller map if you edit down the style file as you need.

Yep, in Abu Dhabi. I bet things have changed a little since the 1980s… :slight_smile: Al Ain’s a great place, and lots of rock climbing near by.

Ok, I didn’t know the info would be removed in the end. I’ll give it a try.

Yes, Jebel Hafit :slight_smile:

(I should really finish scanning my photo’s from those days)


I have done some experiments, and have created maps with the mkgmap default style, together with CF1400.TYP. The sea works fine now!

Changing when features display, however, is voodoo to me :slight_smile: I tried to display the railroads on lower zoomlevels by changing:

railway=rail & !(layer<0) [0x14 resolution 17]


railway=rail [0x14 resolution 12]

(and many variations, but this last one worked.)

But that didn’t work. When I changed the 0x14 to 0x39, it did display (an orangle line, as expected). Is there any reason the railroad line wouldn’t want to display, while the “orange line” would? I opened the TYP file with the online TYP file editor, but I didn’t see anything that could cause this.


I’m not sure the first rule you wrote is correct syntax : the !(layer<0) looks unusual to me.
Regarding 0x14 vs 0x39, are you sure you got these the right way round? 0x14 is a permitted type, 0x39 is not and how maps behave if you use it will vary on your GPS unit and the version of MapSource you use.
Secondly, are you defining 0x14 (or 0x39) in a TYP file or relying on the inbuilt GPS or Mapsource styling to render these ways? 0x14 is defined in my TYP file (CF1400.TYP) and should work fine (or at least it does for me).

The rule with the layer statement is straight from the mkgmap styles/default/lines file.

As for the 0x14, 0x39 confusion - I didn’t realize there are permitted and non-permitted types. I think I need a Style Files for Dummies :slight_smile: . The 0x14 type works, and shows the railways on my Oregon 450, but you have to zoom in to 200 meters (which is one of the things I wanted to change). So I experimented by changing the resolution first, didn’t work, and then I experimented by changing the 0x14 to 0x39. That worked. I couldn’t find a difference between them, but I guess it is more subtle than I realised. I am using your CF1400.TYP file, with the mkgmap default styles.


Have a look at
For the list of standard line types, read

On the railroad resolution thingy: your Oregon behaves just like my GPSMap76csx: railroads (0x14) appear at 200m zoom. Garmin GPS units have internal rules about what zooms different things should appear, and these rules can over-ride what you set in the mkgmap style file. It appears that 0x14 cannot appear before 200m, no matter what you do. The only way to overcome this is to use a different type code, as you did with 0x39. I would suggest, however, that you use an extended type code (e.g. 0x10100) for railroads rather than 0x39, for the reasons given above.

Those tricky Garmin people…:slight_smile:

Ok, thanks, I will give it a try!