[RFC] Feature Proposal – Deprecate railway=narrow_gauge

So all of those gauges are “typical” in their context, as they are used for normal rail traffic and don’t require the narrow_gauge tag.

Similarly, all three widely used gauges in Spain could be seen as “typical”. If 1000mm lines formerly known as the FEVE network are seen as providing standard rail transport (which is how I would see it, but I would defer to mappers in northern Spain), there is no need for the narrow_gauge tag.

In contrast, bog railways in Ireland are perceived as atypical, so the narrow_gaugetag makes sense as a shorthand hint that these are not really things that people see as part of the rail network.

1 Like

I like deprecating tags more than many in OSM community but I am not convinced by this proposal

I had the same question, so took look at “Rationale” section of the proposal.

I am not sure why this tag was created in the first place.

then please, research it before trying to eliminate it

More so, considering that there is no tag for railway=broad_gauge

but we use railway=rail for that

If it existed, Japan, that uses 1067mm as its major gauge but 1435mm for high-speed, would have its high-speed railway not be rail

it does not follow

Spain also uses a different gauge for high speed (in this case, Spanish is 1668mm), and at no point has anyone every thought of classifying high-speed 1435mm railways as railway=narrow_gauge, because they are just as rail as the others

because both are not narrow gauge, and standard gauge and wider gauge are both railway=rail

railway=narrow_gauge was perhaps intended for touristic, mountainous railways

given “I am not sure why this tag was created in the first place.” I would research it, not speculate

as far as I know narrow gauges were introduced and popular for industrial use, with some remnants converted into touristic routes, though minority was constructed as tourism routes from start

Narrow-gauge railway - Wikipedia looks like workable introduction to the history of them.

I stopped reading at this point, and I consider “I am not sure why this tag was created in the first place” rationale to be insufficient to deprecate widely used and supported tag - and considered stopping at that point.

“It is in general unclear why even have this as a separate tag” would be potentially good reason, or at least far better than this.

4 Likes

Of course, in QLD, there is also the “narrow narrow gauge” (of 610) used by the sugar cane trains, consequently the Queensland “standard-gauge” of 1067 is tagged as railway=rail, not railway=narrow_gauge. (see remarks about peat bog railways in this thread)

Victoria also has dual-gauge tracks (see the line to Albury gauge=1435;1600), but in a similar manner to Queensland, its “standard-gauge” of 1600 is tagged as railway=rail, not railway=broad_gauge (which doesn’t exist).

Even though some of the Victoria lines (gauge=1600) extend into southern NSW, they are still just railway=rail, so some consideration is given to the practicalities of showing a coherent national map, not just what the former colonies independently decided was a good idea for rail gauges (and economic influence).

2 Likes

Which funnily enough is also Irish “standard” gauge. And of course tagged as railway=rail in Ireland too.

I run the raster tile version of OpenRailwayMap and I do not want to support this proposal.

The definition of the tag is not precise. But many tags have this issue, some even contain subjective elements (e.g. highway=*, smoothness=*). Before we change something, we should ask ourselves what benefits are, what the costs are and if the benefits outweight the costs.

This proposal creates an impression that the world fits into simple, strict rules. After almost 15 years of editing OSM, more than 10 years of writing rendering styles and discussing lots of questions about tagging, I can say: The world – and railway infrastructure and public transport even more – has plenty edge cases. Things do not fit into a fixed schema.

I have seen lots of discussions whether a certain piece of railway infrastructure is rail, light_rail, tram orsubway (or narrow_gauge if gauge is smaller than the default gauge in that country). Sometimes vehicle morph from one type into another or infrastructure changes suddenly for historical reasons.

Adding tags to an OpenStreetMap object is not just blindly following rules [1]. If you tag a road or a path, you often have to decide if it is a highway=secondary or highway=tertiary, if it is tracktype=grade2 or tracktype=grade3. The meanings sometimes overlap. Some tags are defined by a couple of criterias and mappers choose the tag which they think fits best to the object and its tag usage around them. highway=tertiary does not use road surface as a hard criteria but in some countries mappers will not tag unpaved roads as tertiary.

Usage and definition of tags needs to be seen in their historical context. This proposal lacks it completely. railway=narrow_gauge is very old. It is an early established tag to distinguish less important from more important railway lines/tracks. It is rather easy to understand for mappers with few special domain knowledge about railway infrastructure. usage=* was added later and requires more understanding. When I did my first contribution to OpenRailwayMap map styles more than ten years ago, some main railway lines in Germany lacked usage=*.

I oppose the this proposal because it removes the easy option to distinguish main and branch railway lines which is understood even by non-railway experts. What will you, @UnniMan, suggest as an alternative to authors of map styles if they still want to benefit from the clear distinction of railway infrastructure below the regional standard gauge? Where is the list of standard gauges per country to be integrated in my map styles? How many lines will I have to add? How many extra SQL JOINs will be required to decide if it is narrow gauge or not? How can one distinguish the less important narrow-gauge peat bog railways in Ireland or Northern Germany? Authors of map styles should be able to produce base maps without being railway experts.

This proposal comes with tiny benefits and huge unvisible costs (human power, computing/energy). Like most deprecations in the past, it will motivate some mappers to do undiscussed mechanical edits. They will be reverted, repeated later by the next one and reverted again … Not to mention all the data consumers who need to modify their data processing. Those who dislike railway=narrow_gauge can already merge rail and narrow_gauge this in their processing.

[1] Some say we don’t have “rules” at all. ;-)

8 Likes

exactly, having 2 tags “for the same” (if you so wish) is not a huge problem, finding out whether a particular rail is standard or narrow gauge is much more complicated than ignoring the distinction if you don’t like or need it.

I understand your sceptisism about deprecating a well-established tag, and I also see your point regarding the option to simply consider rail and narrow_gauge as equal already.

But I want to push back against the conflation of these tags with the importance or usage of railway lines, as I think this is exactly the main problem with narrow_gauge.

In Germany, these two categories are highly correlated and pretty much every narrow-gauge line feels in some sense not like a “normal” railway line. So the gauge might seem like a good heuristic or placeholder for estimating the importance of a line. But in general, this is simply not the case.

The Rhätische Bahn in Switzerland or the Euskotren lines in Spain are in most aspects “normal” railways, which just happen to have a different gauge. Other, completly unimportant lines happen to have standard gauge. Rail Baltica will be the most important railway line in the Baltics, despite having a narrower gauge than all other railway lines there.

One example from Germany: The trams in Mannheim and Karlsruhe are tagged the same way despite their different track gauges. I think this makes sense as they serve the same function. But as soon as they leave their cities, the Hardtbahn becomes a rail line, while the OEG line is narrow_gauge, although they still have the same function.[1]

Because of these examples, I think it is misleading to consider narrow_gauge lines as less important lines and e.g. render them less prominently on ORM. So I am in favour of at least treating them the same as rail. But I still think the existence of narrow_gauge might be in some sense harmful.

Because, on the opposite end, there are railway lines which are in pretty much every aspect different from “real”/”normal” railway lines, e.g. the Halligbahn to Nordstrandischmoor or the Klützer Kaffeebrenner (de). These are currently only differentiated by the narrow_gauge tag, which leaves data users only with the option to leave out all narrow-gauge lines when they don’t want to include these. But because of the unrelated collection of lines that is narrow_gauge, this then leads to a different treatment of the two tram lines mentioned above, only because they happen to have a different track gauge. But in no sense is one of them closer to the Halligbahn than the other one.

I think the only solution is to invent new tags to better describe “small” railways, whether it would be something like railway=feldbahn or better values for usage[2], so that there is never a need for a separate treatment of rail and narrow_gauge.


  1. At least north of KIT-Campus Nord. ↩︎

  2. The Halligbahn is currently tagged as industrial, but clearly not comparable to “real” industrial lines. ↩︎

2 Likes

Actually, there is a very good practical reason to not do this.

Most places operate at least some standardisation of their railways - quite simply because it is difficult and expensive to move people and freight between gauges. Even within such systems however, one can have a variety of oddities.

For an ordinary mapper, who knows little about railways, they can say “This looks like standard gauge. That looks like narrow gauge”, without knowing the actual gauge. Railway nerds can they add the details, based on this.

Way: 601446721 | OpenStreetMap Not being aware of the rails been there and therefore not having a measuring tape, I had to measure this with my shoes! :grinning_face:

But it’s not compulsory to use the narrow_gauge tag just because a particular country happens to have some lines with a wider gauge. At that point the Baltics will have two gauges for normal railways, and both can be tagged as railway=rail, just as high speed lines in Spain are despite the wider Iberian gauge. If narrow_gauge isn’t a useful distinction in a particular region, why use it?

3 Likes

There’s a term for this

Think =narrow_guage doesn’t mean “narrow gauge”, but “lightweight railway”, to borrow the Japanese word Light railway - Wikipedia

Incidentally, railway=narrow_gauge was already marked as deprecated on the wiki for several months in 2010. I don’t know if there was any discussion leading up to that or it was one editor’s initiative.

I guess this gets to the fundamental problem of narrow_gauge: Many want to use it not in fact to describe the track gauge, but to indicate that a line is in some sense “different” from a normal railway. This is understandable as we lack better tags for some of these cases.

I could certainly live with some railway=abnormal tag. But not only is the name narrow_gauge an unfortunate choice to describe those cases, it clearly excludes railway lines with standard gauge per its wiki page. If the above mentioned Halligbahn would by chance have been built with standard gauge (though I concede that is rather unlikely), we would have to tag it as a “normal” railway, although it is still as insignificant as before, only some centimeters wider.

1 Like

I don’t see that as a problem. It’s a limited use case, sure. It may not be especially useful on a global basis. But it has worked reasonably well for many of those cases where it was used at an early stage.

In fairness, if we are to judge tags from the early days of OSM with the benefit of hindsight from 2026, we’d probably have to rip up everything and start again! I mean, a highway classification called “unclassified”?

Again I don’t see this as a big problem, “unusual” standard gauge lines would generally be unusual in a different way. I think if we applied the same level of scrutiny to light_rail, tram, and subway we’d find just as many odd edge cases.

I still haven’t seen a clear case made for the benefits of deprecating this tag. Some of the examples seem more like arguments for tweaking the wording of the wiki to make clear that it is not necessary to pick just one “standard” gauge per country and then mechanically tag any narrower line as narrow_gauge.

4 Likes

The benefit is that we get rid of a tag that has two different meanings: as actually used on OSM, railway=narrow_gauge can be either a synonym for “railway=rail, usage=leisure/usage=industrial", or a synonym for “railway=rail, usage=main/usage=branch, gauge<1435".

3 Likes

With that you denote that railway=* should be enough for a consumer to determine whether it’s an important enough railway line to display more prominently, instead of checking the usage=* for minor importance railways. That sounds more like a “tagging for the renderer” which should be “utilizing all relevant tags, not just the top-ones”.

I agree that an unfortunate name for an existing tag is not enough of a reason to change it.

But I don’t understand why this would only apply to some track gauges. Either we have enough tags to distinguish unusual railways or we don’t. But I don’t see why we have a tag for “unusual” railway that we are only allowed to use on some lines, but not on others, only because of the arbitrary criterion of track gauge.

Personally, I would be happy if we keep narrow_gauge, but redefine it as a small/minor/unusual railway line, completely independent of the track gauge. However, it would be difficult to find a workable definition and i can’t imagine such a change winning majority support.

The tag in its current form mixes up different properties and there is no common understanding of what exactly it means. This makes it meaningless to data consumers. The wiki gives no definition and I would argue it is impossible to write a consistent definition for the way the tag is currently used in. When a tag has no meaning, it might be better to delete it. We are in the lucky situation that we have an alternative with rail which should be already supported by pretty much every consumer of railway data.

I think we need better tags to describe these unusual railways. One-fits-all is not sufficient, especially as long as we exclude certain track gauges. But when we have those better tags, then narrow_gauge becomes obsolete. (Of course, that would be a different situation from deprecating it right now.)

1 Like

Maybe, but that would be a quite different proposal to the one in this RFC, which is simply to eliminate the tag.

Supposing the proposal was reworked to include an extra tag, which railways do you see it applying to other than those currently tagged as narrow_gauge?

Has my approval when these weird corner case non-miniature railways get a proper replacement tag.

1 Like

I support the deprecation of railway=narrow_gauge, it always seemed very weird to have a tag like this as primary that just duplicates the gauge tag.
I don’t understand why narrow gauge industrial tracks can’t be tagged with just railway=rail, the appropriate gauge=* and usage=industrial or if that really doesn’t match what’s on the ground, as @Rokolell said just create a replacement tag.

Also in the wiki the narrow gauge tag is described as:

narrower tracks than the typical gauge considered for the country or a railway network

with no mention to the usage.

‘Usage’ has an its own tag, so why usage of the railway should be determined by the tag railway=* tag instead of the usage=*?

1 Like