
Sections of railway are dropped during processing by mkgmap. The cause of this is that the sections are tagged layer=-1 even though they are not in a tunnel. The question which arises in a situation like this is: is the tagging wrong, or should the behaviour of mkgmap be changed? At first sight it seemed simple to me. A railway which is neither on a bridge nor in a tunnel should be in the default layer (layer 0). Any crossing ways on a bridge or in a tunnel should have the layer set to 1 or -1 respectively, except for multi-level civil engineering works. However, the contrary case is put in various OSM mailing lists. If a railway is in a cutting and crossed by several bridges, it is simpler and it also makes sense to put the railway in layer -1 and leave the bridges in the default layer. In my opinion, tagging with layer=-1 in that particular case is not wrong, but tagging long stretches with layer=-1 would be wrong. Looking at r1445 in the mailing list, it was clearly the intention to hide underground railways. In light of that, I suggest that the mkgmap default style might be modified to test for !(tunnel=yes) instead of !(layer<0), for all four types of railway.