# Priorities for Railroad Styling in OHM (DRAFT, for review)
*(aka, what should show up when, and why?)*
## Approach
This doc attempts to summarize the full content of railway styling in the OHM community and to recommend some approaches, both specific and general for styling both the Historical & Railway layers moving forward.
The doc also attempts to reconcile our railway styling efforts with the railway styling of 3 other projects, [OpenRailwayMap](https://www.openrailwaymap.org/index.php) (ORM), the next-generation [OpenRailwayMap app](https://openrailwaymap.app/#view=3.74/49.63/23.26) (ORMa) and OpenStreetMap [Americana](https://americanamap.org/#map=4/40.5/-94). ORM & ORMa are helpful benchmarks for what the railway community might expect from OHM's Railway layer. Americana is a great reference for how to clearly style railways at higher zooms using modern stylesheets. In many cases, where a design approach is unclear, OHMers are encouraged to default to how ORM or Americana handled this approach, in order to not reinvent the wheel & to draft off of others' efforts.
After reviewing the feedback, and comparing our styles to ORM and Americana, we will review our objectives for each zoom level, focused around the types of stories that *could* be told at each level. With those stories in mind, this doc will suggest possilbe Historical and Railway layer changes *for community feedback*.
TAGGING NOTE: Some style updates may require updates to our tagging practices, the development of new to OHM tagging styles, abandonment of OSM tagging practices, or just plain adding some tags that are missing. The goal of these style updates will be to make what's tagged properly look great. Rails missing tags may not look as sharp and may require additional effort or rework to bring up to par.
TECH NOTE: We may not be able to reliably deliver some of the goals outlined in this doc. Refining our current styles to where they might be more easily maintained and more uniformly updated may require the implementation of a style-generating script. Until we adopt such a system, we will likely achieve only portions of the goals outlined in this doc.
## Key References Reviewed [PLEASE ADD]
**Goal**: catalog every feature, zoom level, design objective across all discussions
* [OpenRailwayMap](https://www.openrailwaymap.org/)
* Next-generation [OpenRailwayMap app](https://openrailwaymap.app/#view=3.74/49.63/23.26) (ORMa)
* OpenStreetMap [Americana](https://americanamap.org/#map=4/40.5/-94)
* Github Issues PRs
* [#287: railway rendering](https://github.com/OpenHistoricalMap/issues/issues/287)
* [#405: Add a railway mapping focused layer to OHM](https://github.com/OpenHistoricalMap/issues/issues/405)
* :star: [#558: Railway style - design considerations](https://github.com/OpenHistoricalMap/issues/issues/658)
* :star: [#608: Design Review for Feedback](https://github.com/OpenHistoricalMap/issues/issues/608) - specifically, railway commentary
* [#637: Add rail-centric tags to vector tiles](https://github.com/OpenHistoricalMap/issues/issues/637)
* [#706: Adopt something close to @flha127's styling suggestions](https://github.com/OpenHistoricalMap/issues/issues/706)
* [#717: Add styling for route_lines to staging versions of main and rail OHM styles](https://github.com/OpenHistoricalMap/issues/issues/717)
* [#1074: Render railway features](https://github.com/OpenHistoricalMap/issues/issues/1074)
* :star: [Americana PR476: Add railroad tracks](https://github.com/osm-americana/openstreetmap-americana/pull/476)
* Forum Posts
* :star: [What should a rail-centric OHM layer look like?](https://forum.openhistoricalmap.org/t/what-should-a-rail-centric-ohm-layer-look-like/76)
* :star: [How to tag the ‘local railways’?](https://forum.openhistoricalmap.org/t/how-to-tag-the-local-railways/150)
* [OpenRailwayMap adds OpenHistoricalMap](https://forum.openhistoricalmap.org/t/openrailwaymap-adds-openhistoricalmap/446)
* [Railroads are too dominant](https://forum.openhistoricalmap.org/t/railroads-are-too-dominant/490)
* [Personal page to document tramways in Mainz](https://forum.openhistoricalmap.org/t/personal-page-to-document-tramways-in-mainz/480)
* Discord discussions: not reviewed... yet
* Key historical online comparables:
* GIN example
* [Union Pacific Historical Maps](https://www.up.com/about-us/history/photos/historical-maps)
* [Western Pacific Yard Diagrams](https://www.wplives.com/diagrams/track/yards/index.php)
* [Rails and Trails: Transportation History - Sources Diagrams](https://www.railsandtrails.com/diagrams.htm)
* Key locations for comparison:
* Karlsruhe Station W - OHM, OSM, ORM, G, B, A
* Bailey Yard [W](https://en.wikipedia.org/wiki/Bailey_Yard) - largest in the world - OHM, [OSM](https://www.openstreetmap.org/#map=14/41.15152/-100.83986), ORM, G, B, A
* Maschen Marshalling Yard [W](https://en.wikipedia.org/wiki/Maschen_Marshalling_Yard) - OHM, [OSM](https://www.openstreetmap.org/node/615433252#map=14/53.40332/10.09189), [ORM](https://openrailwaymap.app/#view=14/53.40606/10.0574), G, B, A
* Chongqing East [W](https://en.wikipedia.org/wiki/Chongqing_East_railway_station) - OHM, [OSM](https://www.openstreetmap.org/node/10561477550#map=14/29.47760/106.69982), [ORM](https://openrailwaymap.app/#view=14/29.48643/106.67353), G, B, A
* Grand Central Terminal [W](https://en.wikipedia.org/wiki/Grand_Central_Terminal) - OHM, [OSM](https://www.openstreetmap.org/node/7099182377#map=16/40.75523/-73.96985), [ORM](https://openrailwaymap.app/#view=16/40.754882/-73.974486), G, B, A
## General types of stories
**Goal**: General brainstorming before we get to specific zoom level discussions. We're looking for stories to tell & themes to emphasize, and relevant style/layer for the story (H or R) **[PLEASE ADD/CORRECT!]**
* Evolution of infrastructure:
* Tracks at all - **H**, **R**
* Track gauge / incompatibility - **R**
* See: [Project Unigauge](https://en.wikipedia.org/wiki/Project_Unigauge) in India (@clay_c)
* Electrification - **H**, **R**
* Regional segmentation of operations:
* Operator - **H?**, **R**
* Urban evolution of:
* Rail facilities - **H**, **R**
* Local rail - **H**, **R**
* Subways - **H**, **R**
* Special purpose systems
* Mining - **H**, **R**
* Industrial - **H**, **R**
* Military - **H**, **R**
@clay_c:
If I had to rank these thematic layers in order of importance to railroad enthusiasts:
Infrastructure
Operator
Track gauge
Electrification
Max speeds
Signalling and train protection
@Bauer33333:
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:
Infrastructure
Electrification
Max speed
Signalling and train protection
Track gauge
Operator
**@Pilgerobst:**
I would also point out, that at least in Europe especially in Germany there were many railways built to densely connect rural regions to the big cities. These are called Kleinbahnen (or Kreisbahnen). Those railways do not fit into current tagging practicies. Those railways are mostly split between `usage=branch` and `railway=narrow_gauge` (if not standard gauge). [This narrow gauge](https://www.openhistoricalmap.org/relation/2871607#map=13/54.74147/9.52746&layers=R&date=1931-07-17&daterange=1824-01-01,2025-12-31https://) and [this standard gauge](https://www.openhistoricalmap.org/way/200014615#map=13/54.63967/9.59218&layers=R&date=1931-07-17&daterange=1824-01-01,2025-12-31) railways serve the same purpose and the same area. There should be a way to render both railways equal with a seperation to main/branch railways.
## General style considerations
**Goal**: Outline general style discussion considerations that apply to all zoom levels before getting to specific zoom-level discussions. **[PLEASE ADD/CORRECT]**
* Zoom levels in this doc reflect standard OHM browser zoom levels
* Many modern sites use a different zoom level system
* E.g., [OSM `z=2`](https://www.openstreetmap.org#map=2/-4.7/-118.1) is the same zoom as [Americana `z=1`](https://americanamap.org/#map=1.1/0/133.3)
* Mnemonic: The "Os (OSM, OHM) start at 0"; not counting ORM...
* [Vector tile](https://vtiles.openhistoricalmap.org/#3.97/43.33/11.89) zooms, where needed, should be labeled as `vz=#`
* Target display size... this is tricky...
* 1280x800? 1440x900? 1920x1080?
* This answer will impact rendering decisions
* For example, here is `z=4` at 1280x800, which is quite crowded if the inspector and time slider are expanded.

* The scope of stories that can be told at what zoom level vary significantly by screen resolution
* Features shown at a zoom should not be overlapping
* `usage=main` is too big at 9 & 10 in Belgium & Europe... and they overwhelm the borders - [@Alphathon](https://forum.openhistoricalmap.org/t/railroads-are-too-dominant/490/4)
* [#769: Improve clarity "mushy" looking rail lines at browser z=8 and 9](https://github.com/OpenHistoricalMap/issues/issues/769)
* When overlapping, features should either be:
* Removed from that zoom level or
* Shrunk in rendered size
* Styling differentiation should be 2-factor
* May need to depend on more than just 1 factor - e.g., color, line pattern - for differentiation, due to concerns about colorblindness. (@Ashton747: 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)
* Stories must be able to be "told" through what the OHM map layers can depict on their own. Users are expected to add any possible overlays or annotations using non-OHM tools and are out of the scope of this discussion.
* **Action**: we really need .5 zoom increments at a minimum. : )
## Zoom level-specific review
**Format**: Each zoom level section discussion *may* address:
* **Scope** of the browser viewport for that zoom level
* **Stories** that users might want to tell at that zoom level & which layers might want to depict that story - **H**istorical and/or **R**ail.
* **Data and graphics** required to tell these stories; may include styling, labeling, or tagging recommendations
* **Actions** needed to enable the desired stories at the specific zoom level
* **Questions** that users might have or that we need to address as part of this investigation
* **Style showcase**: what type of demo might demonstrate that the zoom level style goals have been met / satisfied
* **Examples** of other sites or maps that are models for the aims of that zoom level. Could be modern or historical.
### z0-1 Scope: global
Not great story layers. Everything is just land and sea, and it's all too small!
### z2-3 Scope: transcontinental
**Stories**
* **H** - Assuming no real human infrastructure depicted at these levels.
* **R** - General, blobby cross-continental comparisons of main line buildout across continents. See: [ORM](https://www.openrailwaymap.org/)

**Supporting graphics/data**
* Main railway lines
**Action**:
* Make rail lines available in vector tiles at this level for styling in the **R** layer. They currently show up first at `z=6` in the vtiles `transport_lines` layer. Comes at a cost of tile size / weight.
**Question**:
* Is this really a high priority story to tell? Does OHM's Railway layer need to show rail stories at this level? My inclination is *yes*.
### z4 Scope: continental
**Stories**
* When were cities connected by rails? **H**, **R**
* What was the extent of major rails across a land? **H**, **R**
* Where were there incompatibilities? **R**
* When were lines electrified? **R**
* When were passenger and cargo lines split (or are they?) **R**
* Regional rail hubs (e.g. Chicago, Atlanta, any in England)? **H**, **R**
* Compare interstate highway growth to rail growth? **H**, **R**
* Comparisons of rail growth across European countries? **H**, **R**
**Supporting graphics/data**
* Major rail lines
* `usage=main`?
* `operator`?
* by width?
* Stations by type?
* [Hump yard](https://en.wikipedia.org/wiki/Classification_yard#Hump)?
* [Gravity yard](https://en.wikipedia.org/wiki/Classification_yard#Gravity)
* Cold connection?
* Cities by size / amount of volume serviced?
**Style showcase**: a demo of a clean, layperson-friendly evolution of rail system in US that also works in the UK
#### Comparable graphics:
**Union Pacific System as of 2019** W - roughly `z=5.5` from [trains.com](https://www.trains.com/trn/railroads/history/a-map-of-the-union-pacific-today-that-includes-the-original-route-of-the-transcontinental-railroad/)

**Railroad evolution on the Indian subcontinent**
Find this graphic
**Action**:
* Make rail lines available in the vtiles at this level, as above.
**Questions:**
* tbd
### z6 Scope: Super-regional / Regional
**Stories**
* Same as `z=4`, plus:
* Presence of stops along a line? (maybe at higher zooms?)
**Supporting graphics/data**
* Major rail lines (`usage=main`?)
**Style showcase**: a crisper/cleaner demo of the `z=4` showcase
#### Examples:
**R** today:
add this
**WIP OHM Railway layer compared to 1896 Southern Pacific Map**
Note: no time filtering on WIP layer (right)

But... lines that thick can be way too dense elsewhere `z=6`:

With that density of lines, almost no narrowing of the lines will eliminate the spaghetti effect:

**Action**: Slightly reduce line detail in `vz=5` `transport_lines` layer. This wll smooth out the lines a small amount.
**Action**: Add station points to the vector tile `transport_points_centroids` at this zoom, so stations can be included as either points or points and labels.
**Action**: Add city points to the vector tile `place_points_centroids` at `vz=4` (see: [Americana](https://americanamap.org/#map=4/38.22/-97.96)), so cities can be added, as appropriate.
**Action**: Add abbreviated placenames to `place_points_centroids` at `vz=4`, so `admin_level=4` labels can use abbreviations & distract less from railway lines.
**Question**: Is there any sort of prioritization at all of some rail lines over others (higher volume of traffic, load, etc.) that rail mappers would like to use to visually highlight some segments over others? My guess is *no*.
**Question**: Given the above question, how thick should the lines be at this level? Should we use color of any sort?
### z7-10 Scope: Not sure what shines here... tbd
### z7 Scope:
**Stories**
* Still too low / wide area to show < main
**Supporting graphics/data**
* tbd
### z8 Scope:
**Stories**
`usage=branch` shows up here on ORM
untagged show up here, too?
**Supporting graphics/data**
Key: highlight rail, but differentiate different levels easily in same view
* How to maintain as you zoom in
### z9 Scope:
**Stories**
* tbd
**Supporting graphics/data**
* `station=large` and `station` icons show up at `z=9` on ORM
### z10 Scope:
**Stories**
* tbd
**Supporting graphics/data**
* tbd
### z11 Scope: Huge urban area metro lines
**Stories**
* Evolution of municipal subway/other systems
* Merging of above ground and alternate systems
**Supporting graphics/data**
* Metro lines evolution
* Metro stops growth
* Line names
#### Examples:
### z12 Scope: No yard-level detail / urban area metro lines
**Stories**
What stories could be told here?
* Evolution of yard footprint?
* Number of lines coming in and out?
**Supporting graphics/data**
* Yard footprint
* Major lines in & out of a yard or station?
* Merging approaches, route arounds?
#### Examples:
**NYC Subway System** W - `z=11` on [ORM](https://openrailwaymap.app/#view=11/40.7637/-73.9171)

### z13 Scope: Huge Yard-level mush / citywide systems
**Stories**
**Supporting graphics/data**
* Yard footprint
* Individual lines?
#### Examples:
**London Station Group** [W](https://en.wikipedia.org/wiki/London_station_group) - at `z=13` on [OSM](https://www.openstreetmap.org/#map=13/51.50730/-0.10197)

as shown on [LSG Wikipedia article](https://en.wikipedia.org/wiki/London_station_group#/media/File:Major_railway_stations_of_London_map.svg), roughly `z=14`:

**Yamanote Line, Tokyo** [W](https://en.wikipedia.org/wiki/Yamanote_Line) - at `z=13` on [OSM](https://www.openstreetmap.org/relation/5376382#map=13/35.67424/139.75502):

and [ORM](https://openrailwaymap.app/#view=12/35.67759/139.72658):

### z14 Scope: Huge Yard-level detail & line organization outside of terminals
**Stories**
**Supporting graphics/data**
**Bailey Yard** [W](https://en.wikipedia.org/wiki/Bailey_Yard) - 8 miles long, at `z=14` in [OSM](https://www.openstreetmap.org/way/200343622#map=13/41.12909/-100.80634). Fat lines all mushing together.

**Maschen Marshalling Yard** [W](https://en.wikipedia.org/wiki/Bailey_Yard) - at `z=14` in [OSM](https://www.openstreetmap.org/node/615433252#map=14/53.40332/10.09189)

**Chongqing East** [W](https://en.wikipedia.org/wiki/Chongqing_East_railway_station) - at `z=14` in [OSM](https://www.openstreetmap.org/node/10561477550#map=14/29.47760/106.69982). Note the convergence and routing coordination outside of the immediate station.

### z16 Scope: Big passenger terminal / small city station-level detail
**Stories**
* Emergence of town around the presence of the station
* Evolution of passenger terminal footprint / buildings over time?
* Emergence of other transport-related activity around the terminal?
* Surrounding industrial landuse - stockyards, granaries, etc.
**Supporting graphics/data**
* Bridges?
* What is geometry & what is icons (or smaller!)
* How subdued are sub-primary lines?
#### Examples
**Grand Central Terminal** W - at `z=16` in [ORM](https://openrailwaymap.app/#view=16/40.754882/-73.974486). Goals here aren't exactly clear, but it appears to be to show individual lines, entry locations, line stops, and underground footprint.

**Bruneck Bahnhof** [W](https://it.wikipedia.org/wiki/Stazione_di_Brunico?uselang=en) - at `z=16` in [OSM](https://www.openstreetmap.org/node/5943496647#map=16/46.79416/11.92978)

**Heilbronn Hauptbahnhof** [W](https://en.wikipedia.org/wiki/Heilbronn_Hauptbahnhof) - at `z=16` on [OHM](https://www.openhistoricalmap.org/node/2134885399#map=16/49.14450/9.21109&layers=O&date=1983-05-03&daterange=0050-06-25,2025-12-31)

**Historical Comp: Heilbronn Hauptbahnhof** [W](https://en.wikipedia.org/wiki/Heilbronn_Hauptbahnhof) on [WC](https://upload.wikimedia.org/wikipedia/commons/b/bd/Bahnhof_Heilbronn_Gleisplan_1895.png)
Note how thin the railway line lines are. Even with the ability to draw very fine detail, the artist rendered a single, almost hairline stroke for each track.

**Sanborn Station-Level Map: Galesburg Yard (BNSF), IL** [W](https://en.wikipedia.org/wiki/Galesburg_Yard) - on [WC](https://en.wikipedia.org/wiki/Galesburg_Yard#/media/File:Sanborn_Fire_Insurance_Map_from_Galesburg,_Knox_County,_Illinois._LOC_sanborn01880_003-14.jpg)
This uses double-lines for the rails, but I'm not sure there's any improved clarity. Just look at those turntables and round houses.

**Philadelphia's 30th Street Station** [W](https://en.wikipedia.org/wiki/30th_Street_Station) - [from Hagley Museum](https://www.hagley.org/librarynews/manuscripts-and-archives-philadelphia-map-society-visit)

on [ORMa](https://openrailwaymap.app/#view=15.9/39.958845/-75.183484):

on [Americana](https://americanamap.org/#map=15/39.9619/-75.18266) at `z=15`:
perhaps room to quibble about some lines merging together, but that shouldn't distract from all-around awesomeness

**Leipzig-Plagwitz Industrial Station** [W](https://de.wikipedia.org/wiki/Leipzig-Plagwitz_Industriebahnhof) - from [WC](https://upload.wikimedia.org/wikipedia/commons/f/f4/Gleisplan_leipzig_plagwitz_km10.84.jpg), via [@Bauer33333](https://www.openhistoricalmap.org/user/Bauer33333):

Also from [WC](https://upload.wikimedia.org/wikipedia/commons/c/cc/Bahnhoefe_Industriegleise_Plagwitz-Lindenau.jpg):
Perhaps a little busy, but a mazing detail of neighboring & related facilities. Shows the tight interweaving of rails, warehouses, and other roads.

**Stewarts & Lloyds Tubemakers** W - `z=17z`from @AndrewS on [OHM](https://www.openhistoricalmap.org/#map=17/-32.889389/151.745551&layers=O&date=2022-07-23&daterange=1780-01-01,2023-12-31):

### z18 Scope: Station-level detail
**Stories**
**Supporting graphics/data**
* What data *would be* needed?
### z20 Scope: Track-level detail
**Stories**
**Supporting graphics/data**
* What data *would be* needed?
### z21+ Scope: micromapping... what would be helpful?
**Stories**
* What stories *could be* told here?
* What *might* require this high of a zoom?
**Supporting graphics/data**
* What data *would be* needed?
## Railway visual vocabulary
This is a more detailed discussion of the various visual elements found on railway maps.

[Penn Central Columbus Yard 1969 Diagram Legend](https://www.railsandtrails.com/PC/PC1969ColumusYard/PC1969ColumbusYard-150.jpg)

[Wheeling and Lake Erie Brewster Yard 1918 map, modified 1940](https://www.railsandtrails.com/W&LE/Brewster/index.htm)
### Non-rail features
**R**: In general, non-rail features should be extremely subdued... except as they pertain to rail-related activities, such as roads, cross-modal facilities (ports, industrial rail-related features).
**H**: In general, rail features should participate in these stories as an "equal partner" to other map features. In other words, rail features should not and cannot dominate this layer.
**Question**:
* How do we identify rail-related features that might otherwise be depicted with subdued styling in **R**?
### Rail lines differentiation
Rail lines on maps are long, and thus have potential for confusion with other long lines on maps, such as: other rail lines, roads, and borders.
Here's a great illustration of road / rail differentiation from [*How to Lie with Maps*](https://books.google.com/books?id=MwdRDwAAQBAJ&pg=PA141) (@1ec5):

**Rail type differentation**
Need a chart like the one above.
**Road differentiation**
Need a chart like the one above.
A full accounting of this type of differentiation may require an update to our various road styles
Roads should be subdued, but perhaps not as much as other base map features, in the **R**ailway layer.
**Border differentiation**
Need a chart like the one above.
### Rail attribute differentiation
NOTE: Not all differentation needs to be styled. Whether something is styled depends on the type of story that is being told and the possible priority of that story versus costs (in tile weight) of adding that data.
**Type**
* Purpose types
* Infrastructure types: electrification, etc.
> **[name=Pilgerobst]**
> Maybe introduce a new key for "Kleinbahnen". My proposal would be a new key called: minor=yes
**Lifecycle**
* Construction
* Operation (baseline styling focus)
* Disuse
* Abandandoned
* Removed
**Location**
* Bridge
* Tunnel
* Embankment
* Embedded / street running
**Operator**
* Shields?
### Icons
Remember: some of these may have been more important historically than currently.
* Low zoom
* Major city points
* Yard points
* Medium zoom
* Station icons
* Yard icons
* Medium-high zoom
* Turntables
* Yard Infrastructure
* Industrial Infrastructure
* What's different at ports?
* Building types
* Platforms
* Terminals
* Service / maintenance
* Coaling Towers
* Water Towers
* Station Infrastructure
* [Transfer Stations](https://www.openstreetmap.org/relation/8429815#map=19/38.018934/-121.932701)
* Large passenger stations
* Smaller stations
* Subway stations
* High zoom
* Detailed mapping of railway elements
* Icons for:
* Signals
* Switches x
* Buffer stop x (20/51.4160262/6.7416611)
* Loading gauge x (20/47.5434194/9.6805508)
* Weighbridge
* Water cranes x (18.29/43.763721/1.993345)
* Wash x
* Phone
* Signal box
* Railway crossing barrier/gate
* Ticket office
* Entrances
* Crossings
* Railway crossings
* Stop Infrastructure
* Light rail
* Trams
* Comparables: bus stops?
### Colors
* Need to provide contrast from base map
* Colorblind sensitive
### Patterns
* Must not be too jumbled at any zoom level where it is used
## Railway tagging
This section is left for completion of the discussion outlined above. Tags to support should derive from those intents.
Below is a non-exhaustive set of comments collected from sources identified in the References section.
@Ashton747:
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.
Q: How to encourage tagging that ORM'ers would find interesting or what not to do that would discourage them?
@Bauer33333:
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:
Infrastructure
Electrification
Max speed
Signalling and train protection
Track gauge
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**.
@flha27
tram;
light rail;
subway;
narrow gauge;
rail “usage”=“main”;
not displayed - rail “usage”=“branch”, appearance identical to narrow_gauge;
not displayed - rail “usage”=“industrial”, appearance identical to rail “service”=“yard” below;
rail “service”=“yard”;
disused;
abandoned;
rail “highspeed”=“yes”.
[discussion](https://forum.openhistoricalmap.org/t/how-to-tag-the-local-railways/150/9?u=jeffmeyer):
rail:streetrunning=yes
or
embedded=yes
?
[@Kovoschiz](https://forum.openhistoricalmap.org/t/how-to-tag-the-local-railways/150/2?u=jeffmeyer):
Fundamentally, railway=rail could be adopted as the only track feature in a rethink and break from OSM, with rail= =mainline . =tramway , =heavy & =light (could be categories for others) , =subway etc. Then the feature doesn’t need to be changed (or worse redrawn by someone) when it changes use in history. The distinction of eg =narrow_guage could be poorly defined in history, and it’s poorly named anyway.
Or at least there should be an equivalent to building= + building:use= if railway= is considered as what it is built as. The possibility of using tram=yes etc doesn’t mean a main type can’t be defined.
usage=main
usage=industrial
usage=branch
usage=military
usage=tourism
service=spur
service=siding
service=yard
service=crossover
electrified
high speed
usage
electrified=* (1)
covered=* (2)
indoor=* (2)
usage=*
street_running=*
route relations need a rail tag on them
route=train
https://www.openhistoricalmap.org/relation/2747855#map=10/44.7797/10.5250&layers=O&date=1825-01-01&daterange=1900-01-01,2025-12-31
route=railway
https://www.openhistoricalmap.org/relation/2749528#map=12/37.1994/-122.0178&layers=O&date=1825-01-01&daterange=1900-01-01,2025-12-31
don't forget [route masters](https://www.openstreetmap.org/relation/8237627) (need a better name) to cover 2-way routes
(1) To not complicate things too much, we can have an electrified=1 when the tag exists and =0 vice versa.
(2) These two can have tunnel=1 which would avoid adding additional tags.
Having a layer= tag would also be useful.
@Paul_the_archivist
"Presumably these would be based on the electrified=yes, service=high_speed, and usage=* tags, respectively."
Service=high_speed describes route relations, not tracks. Afaik service can also already be used to render tiles. What he would need is highspeed=yes.
Electrified=yes is also rare and discouraged to be used, you would usually give a value that tells the kind of electrification
@Tjoeker:
One thing I’m missing on ORM is whether a line is freight/passenger/mixed(/HSR).
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.
@skunkman56:
Operator
Electrification
Track gauge
infrastructure
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
Track gauge- interesting to know what was narrow gauge, when lines were upgraded or never upgraded
Infrastructure- i am very interested in original alignments, subsequent re-routes and realignements, station locations, spurs/branches/sidings, abandoned routes
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
@flha27:
the white/yellow dotted lines indicate whether the line is electrified or not ;
the two black lines furthest to the right are for bridges and tunnels ;
tram;
light rail;
subway;
narrow gauge;
rail “usage”=“main”;
not displayed - rail “usage”=“branch”, appearance identical to narrow_gauge;
not displayed - rail “usage”=“industrial”, appearance identical to rail “service”=“yard” below;
rail “service”=“yard”;
disused;
abandoned;
rail “highspeed”=“yes”.
An alternative to dotted lines could be to use two colors, one dark and the other light.
As for names for “usage”=“main” or “branch”, a solution could be to display at a low zoom level only the “operator” tag and at a higher level the “operator” and the “name”.
As for “usage”=“industrial” and “service”=“yard” the simple display of the name at high zoom level would be sufficient.
At a higher zoom level, we could also display the type of electrification, gauge and the signaling.
I also recommend adding these tags to the rendered layers: operator, usage, highspeed, layer, gauge, frequency and voltage. As for railroad signaling, rather than using the Openstreetmap schema which is quite complex, I propose adding a “signaling” tag.
### READ THIS:
jeffreyameyer
on Feb 28, 2024
Member
@Bauer33333 @flha127 - there's some discussion of putting the usage=* values in OHM into the type=* values in the vector tiles. It seems electrified=* and highspeed=* might be overlapping with other type=* values. Is the current expectation be that there'd be different styling for electrified or highspeed rail lines? If so, we'd need to add different values for those.
Bauer33333
Bauer33333 commented on Feb 29, 2024
Bauer33333
on Feb 29, 2024 · edited by Bauer33333
Having usage in the types doesn't sound the worst idea at first, since the most common rail type to use usage= is only railway=rail . Taginfo for open_street_map shows quite a few trams and stuff with usage as well, but I have no idea what this tagging is trying to describe so I would ignore those for now. Usually you would only use service= on those what doesn't introduce any conflicts here.
I see conflicts with railway=narrow_gauge tho if we want to render usage= on them. Not sure how important that will become, nowadays (on OSM) narrow gauge rail networks have become a bit rare so you don't bother, but this looks different in a historical context.
I would call electrified= a nice to have right now and not a must have yet, especially compared to usage=, but it would be a very nice nice to have. Maybe flha has a different opinion on this since his style is the first one I've seen combining them. On ORM they use an extra style for electrification that shows voltage= and frequency= as well.
We could probably put highspeed= in type as well, since it is usually only used on tracks with usage=main.
See the current situation on OSM:
grafik
But I would go so far and say we should not render that yet, not before we have an established guideline what highspeed rail even means in a historical context:
Does the Lackawanna Cutoff qualify as high speed rail? If yes at which year is it considered too slow? Do we only tag modern highspeed lines as the OSM definition describes? ... Lots of open questions regarding that for me. It is not a top priority to answer them now, but I just don't feel we are there yet to render them (encouraging people to map them) without having conflicts about the definitions with those people later on
flha127
on Mar 26, 2024 · edited by flha127
Author
Good morning,
Sorry for this late response, I didn't see the notice.
If I understand correctly, you would like the content of the usage tag to be put as the value of the type tag?
If that's it then no it won't work, there should be two tags, one for the type of infrastructure rail= and the other for the use we make of it. Other types of rail= can also use this tag so this would create a conflict.
However usage and service cover the same idea, so we can suggest abandoning usage= and using only service= or the opposite.
The electrified tag is a must have, historically electrification is a crucial date for a line. For the moment we can make do with electrified=*, voltage= and frequency= are less important and rarely used.
As for the modern definition of highspeed I would say a line with railway=rail+usage=main+electrified=* built from the 1950s with construction standards (as grade separation or min curve radius) allowing high speeds (let's say in the 1950s 250km/h at random) and a dedicated rolling stock.
Historically, it would be necessary to define the construction standards and the speed from which a line can be qualified as high speed (also before the 1950s electrification was not a key factor). For the first half of the 20th century I would say that the Lackawanna Cutoff meets both conditions.
In the same vein as highspeed= (improvement of infrastructure) a street_running= tag has its historical interest in seeing this other form of improvement. It can be implemented quite easily with:
for railway=rail/subway/narrow_gauge street_running as an exception tagged street_running=yes ;
and for railway=tram/light_rail for whom street_running is natural; the opposite with street_running=no.
1ec5 commented on Apr 7
1ec5
on Apr 7
Member
there's some discussion of putting the usage=* values in OHM into the type=* values in the vector tiles.
If I understand correctly, you would like the content of the usage tag to be put as the value of the type tag?
I think there was a misunderstanding. #637 (comment) was talking about type as a feature property in the tiles, after postprocessing, not in raw tags in the database. type=geometry has been picking up steam lately as part of an experimental tagging scheme, but I’d tread with caution here. type=* is a special key reserved for relations. OSM deprecated its use on ways many years ago, and a variety of data consumers and editing tools have come to treat it as an error. This is one of the few times where the OSM community and ecosystem has been so thoroughly on board with a deprecation. Rather than undo this deprecation, I suggest looking for a less ambiguous key if needed. The feature property can be type without any of those considerations.
Going back to the original request, OpenHistoricalMap/ohm-deploy@62e368d added electrified, highspeed, service, and usage properties to the tiles as part of OpenHistoricalMap/ohm-deploy#285. Each of these properties is a pass-through for identically named keys in the database, though hiddewie/OpenRailwayMap-vector#246 (comment) makes the point that we should consider postprocessing the tags into more readily styleable properties. To reduce confusion about what’s been implemented, I’m closing this original feature request, but feel free to open a separate issue about anything more specific that we need to do in the tiles.
[Excellent changeset discussion](https://www.openhistoricalmap.org/changeset/107173#map=13/50.77100/3.24220&layers=R&date=1924-03-11&daterange=1824-01-01,2024-12-31) 3 top-notch mappers, @flha27, @Tjoeker, & @Bauer33333
## OHM Railway contributors to this discussion
@natfoot
@flha27
@Bauer3333
@clay_c
@Skunkman56
@AndrewS
@Ashton747
@Pilgerobst
@Tjoeker
@Paul The Archivist
@todrobbins
@Luke04
@kovoschiz
@ManuelB701
@Alphathon
@CharliePlett
@1ec5
@jeffmeyer