What should a rail-centric OHM layer look like?

OHM’s awesome and active set of railway mappers deserve an even better representation of their work on OHM.

And, while we will continue to show rails on the primary / default map style, the default style has to make certain design tradeoffs that limit the range of options available for making amazing rail history maps.

So, rather than having rail mappers compete with other interests for styling support on the primary / default map style, why don’t we have them continue to do that… aaaaand… have a railway-specific layer where they get to call the shots about priorities? @natfoot proposed this back in July of '22.

Because OHM works with vector tiles, we could even add some degree of layer controls / checkboxes to make things a little more dynamic and achieve some of the cool things @flha127 called out here and copied below.

This style could be created and owned and maintained by the OHM rail community and supported by the OHM dev team where necessary, but how that works should also be up to you. The OHM dev team would also make sure it was staged properly so it would show up in the OHM layer list in the right nav.

Thoughts? What should it look like? How should we maintain it?


When amateur railroad historians are looking at a particular railroad line, they’re often looking for more than one thing at a time. It would be hard to condense all the information into one layer—I think this would be a great opportunity to use dynamic layer controls.

When I go to openrailwaymap.org, I see five thematic layers: infrastructure, max speeds, signalling and train protection, electrification, and track gauge. Most of these are useful from a historic standpoint. If I had to add one, I’d add a layer color-coding operator=* or operator:wikidata=*.

If I had to rank these thematic layers in order of importance to railroad enthusiasts:

  1. Infrastructure
  2. Operator
  3. Track gauge
  4. Electrification
  5. Max speeds
  6. Signalling and train protection

A map of operators would be useful to track the historical development of railroads in places like North America, where they’ve continuously been operated by private companies since their inception. It would be interesting as well to see the historical progression of track gauge standardization, especially with countries like India still working on it. Electrification would be a good layer too. I’m not as convinced on the other two, though.


Thanks @jeffmeyer for throwing this post up! Definitely worth a discussion.

To tag onto what @clay_c said, which I agree 100% with, I think the most important part for me is being able to learn about railroad history from the maps, which is one of the reasons why I love this project, and love contributing to it. with that, a few of points on my end;

  • Distinguishing service =* and usage =* tags in the vector tiles will be key to success of this map style, and very helpful for the OG map sytle.
  • Using color and linestyle to distinguish rail types is important, as colorblindness is wildly common. this is something some maps don’t handle very well, understandably.
  • It doesn’t have to be too different from the current style, but maybe with less prominent roads and more prominent rail.
  • Incorporating more of the entire railway key and railway related landuse key would be a good thing to do, but not super critical to me personally.

I say we start simple and work it up in complexity, it doesn’t have to be prefect from the start.
Interested to hear what others think.


Be aware that you have a North American centric view on this topic but openhistoricalmap is used worldwide.
Eg. if I had to rank them it would look like this:

  1. Infrastructure
  2. Electrification
  3. Max speed
  4. Signalling and train protection
  5. Track gauge
  6. Operator

I’m not really convinced on adding max speeds either. I would be really awesome to see what lines got speed improvements and what lines turned to the worse over the decades but I doubt there are enough historic sources to map enough for the layer to be of any use.
Train protection could be interesting with the current switch to ETCS, but this is more of a niche topic.

What I personally am interested in is how old yards and loading areas worked, but there are even tags lacking for this in openstreetmap. Other tags are irrelevant for OSM and not even shown but will be everywhere in OHM, like railway=water_crane. But this is detail work for later. First supporting all service and usage tracks is crucial for it to be of any use. I have started mapping some yards and it really takes the fun when you map 20 tracks and two are rendered


I’m well aware, and I welcome others’ perspectives. Where are you from, so I can better understand yours?

In North America, sometimes we’re lucky enough to have access to multiple historical revisions of railroad employee timetables or track charts for a particular division, giving us enough information to deduce speed limit changes over time. There’s plenty of material to work with, but it takes a lot of time and effort to map railroad speed limits, and from my North American viewpoint, it’s just not as much of a priority.

1 Like

Ok - naïve question here I probably should have asked from the start… should we just start with an initial rail-specific layer by trying to replicate what’s on OpenRailwayMap & then perhaps OpenRailwayMap could also host the historical underlay with timeslider? Or is that stirring the pot too much? I’m just realizing I may have reasked an already-answered question.


I’m located in Germany.

Completetly forgot about them. They aren’t printed here anymore so you can’t access them for modern mapping, but up to the early 2000s it should be good source material.

I have doubts on that. Openrailwaymap doesn’t use vector tiles. If you do a right click you see that the tiles are all prerendered .jpgs for every zoom level so they likely have a completely unsuiting infrastructure for timesliders.

I think this is the way. This approach is straight forward, is good inspiration, and we can adjust if we find its not well suited for historic purposes.

I think in an Ideal world, all open mapping projects would use the OHM database, and the different projects would all host their own style focus. But as long as Openrailway map uses OSM database, and importantly like @Bauer33333 mentioned utilize a non-vector map approach, it’s probably not worth worrying about too much.

  1. Operator
  2. Electrification
  3. Track gauge
  4. infrastructure
  5. Signalling and train protection

Operator- extent of various ownership’s rail networks at different times, consolidation and break-ups are especially poignant to depict cartographically

Electrification- Interurbans- so many of these long-forgotten and difficult to relocate their original right-of-ways, but interesting to map for posterity’s sake and impetus for new light rail possibilities in current urban planning

  1. Track gauge- interesting to know what was narrow gauge, when lines were upgraded or never upgraded

  2. Infrastructure- i am very interested in original alignments, subsequent re-routes and realignements, station locations, spurs/branches/sidings, abandoned routes

  3. Signalling is not a particular interest of mine - not a modeller/train orders person, more into the historical geography of rail network development and senescence, establishment of post offices, plats, hamlets, villages, towns, cities

One thing I’m missing on ORM is whether a line is freight/passenger/mixed(/HSR).

It may not be historical specifically, but I think in an ideal world OHM replaces OSM?

Other than that I think everything has been mentioned that I could be interested in.

I opened a github ticket that also shares the beginning discussions for the rail style - specifically for the design/aesthetics considerations that will happen alongside data updates. The design changes and updates will work in tandem with any data updates

1 Like

I think probably the thing I’d like most on a historical railway rendering would be to show the stations more prominently.

Also goods stations (perhaps mapped as railway=yard?) should feature on the map.

In addition to rail infrastructure, it might also be nice to feature things like factories (man_made=works) and mines which were connected to the railway and served by freight trains - which may help show how certain lines were used. I’m not aware though of any established tag to indicate this.


I agree re station prominence @Paul_The_Archivist

There are plenty of tags available for mapping facilities that railways serve but many have not been set up yet to render properly in OHM. This is an area I’m interested in (factories and mines) and on my job list to formally request the styling improvements. Here is a factory example: OpenHistoricalMap


:mega: :mega: :mega:
Ok - a ticket is filed to put us on our way to getting a rail-specific layer for OHM.
h/t to @Natfoot for initially filing this ticket - sorry it took so long!!

Highly recommend everyone check out @vanessa_GIN’s cool:

Here’s a snapshot:

Monosnap OpenHistoricalMap :: MBGL TimeSlider Control Demo 2024-01-24 12-54-38

And a reference to the style testbed (in Greenland):

1 Like

Nice, track plan / illustration / drafting style. I like the integration with buildings- factories, mines, etc.- other shipping facilities. Sanborn maps have a wealth of detail on those often extant facilities.

Good fodder for a future 3-D render/gaming experience- back a train into the factory and load up, take-off, add some cars at another siding- train order delight!

Just to be clear. Is this to develop the railway style that all OHM users see by default, or to create a syle layer that is optionally selected by the user?
If the latter then I’m all for it. If the former then the suggested styles seem too visually dominant (IMHO railways should not be more visually dominant than primary highways).

This would be a user-selectable, non-default layer. Something like this:

That said, maybe there’s a way to select a default layer that I’ve missed or forgotten.

What about when there were railways, but no real dominant highways? :thinking:

1 Like

There certainly have been cases of this in history, but I assume these cases are outnumbered by cases where there were major highways without any railways. (Before a certain time period, major highways would’ve included stagecoach lines, wagon trails, turnpikes, plank roads, Roman roads, etc.)

I was mainly teasing @AndrewS_OHM that there were times when rails should have greater prominence than roads, and you bring a good point (at risk of thread diversion) about how significantly roads should be depicted in older times - e.g., yes, they were important connectors, but what % of the population actually used them & how frequently? Again, a good candidate for a separate thread!

and to add to the mix … shipping routes. Where I live there was no connecting road south to Sydney in the early 19th C and even after that was built through very rugged terrain the dominant transport for people and goods was by ship for many decades, then rail, then highways.

BTW we need shipping routes in OHM. Ferry routes exist but don’t render in OHM. Seamark=* has very specific shipping navigation details, but not a general shipping route. Some discussion of seaway=* on OSM but nothing solid. Are these best added to the Github issues list ?

1 Like