Canada/Railways
This page intends to help organize efforts in mapping railways in Canada. While most of the railway networks have been completely mapped, including over thousands of miles of track from the Geobase and Canvec import, efforts are underway to map missing railway data (such as railway names, track speed limits, signals, crossings) and to improve existing track alignments.
As Canadian, US and Mexican railway mapping practices and operating rules are quite similar between each other, much info (mostly relating to operating procedures) for railway mapping for Canada, the United States and Mexico have been subsumed under OpenRailwayMap/Tagging in North America.
Due to 2023 wiki and associated software upgrades, map details below are not-quite-correct. One-click fix: hover over the map's upper-right layers stack icon and click "Transport Map" to see Canada at national scale; zooming in at least two zoom levels to see rail infrastructure networks, tracks and stations. As this is a "live" slippy map, it can be panned and zoomed.
Naming
Mainlines should only be tagged with the subdivision name. Please do not prefix subdivision names with the operator unless a nearby identically-named subdivision benefits from disambiguation by doing so. For example, there are two "Sherbrooke Subdivision" relations in Quebec, but because of their proximity and ease with which they may be confused, one is named "CPKC Sherbrooke Subdivision" and the other is named "SLQ Sherbrooke Subdivision." (Good practice has also properly set operator=* on both). Otherwise, continue to migrate the operator (e.g. CPKC, CN, QGRY, SLQ...) to the operator=* tag, removing it from the name=* tag unless the above "proximity exception" exists, then prefix the name=* tag with an operator abbreviation as in that example.
Sidings should be tagged as "Name Siding" (e.g. "Orr's Lake Siding")
Helpful Sources
Three Year Network Plans
Three-year network plans are required by Transport Canada and are provided publicly by some rail operators.
CanVec
CanVec contains the name of the trackage, and mile markers for routes used by Via
Transport Canada Grade Crossing Inventory
Transport Canada maintains a dataset with all public grade crossings. It contains the subdivision name, the operator of the trackage, the type of crossing, and many other helpful attributes
https://open.canada.ca/data/en/dataset/d0f54727-6c0b-4e5a-aa04-ea1463cf9f4c
OSM railway structure in Canada
ORM documents tagging rail with three "levels" of route relations:
Railway line | Railway route | Train route (passenger rail) |
---|---|---|
route=tracks | route=railway | route=train or route=light_rail or route=subway or route=tram |
However, in Canada, largely because of how railways are imported from Geobase and Canvec, we skip collecting members into route=tracks relations and collect "physical" elements (track members of railway=rail, railway=disused or railway=abandoned as infrastructure) directly into route=railway relations. These route=railway relations are equated with Canada's familiar named "subdivisions", "branches", "leads" and railway=abandoned: contiguous rail segments with identical railway=*, name=*, operator=* and usage=* tags. ORM tagging suggests these be tagged with two relations, BOTH route=tracks AND route=railway. The route=tracks relation is an "extra syntax wrapper" we dismiss in Canada (and North America) rail, even as wider impact of not using route=tracks relations (on rendering, routing engines...) is not fully understood. However, many years of not using route=tracks in Canada appears to have had no ill effect on mapping (for example, in OpenRailwayMap) or routing of railways. In the early 2020s, it emerged more clearly that route=tracks relations are quite specific to Germany and how rail is "grouped" there (along with how rail is "grouped" using route=railway relations for specific purposes). This means that not using route=tracks relations in areas outside of Germany is correct, as long as it remains understood that the combination of route=tracks + route=railway relations means something specific to Germany, and that route=railway relations in Germany and route=railway relations outside of Germany mean something slightly different from one another. In Germany, route=railway relations have quite specific meaning, whereas elsewhere they are "generic groupings of rail, usually specific to how rail is aggregated in any given country's rail structure."
So, in Canada, we largely express rail with these three "levels" of route relations:
Railway route | "Aggregated" railway route (major mainline rail) | Train route (passenger rail) |
---|---|---|
route=railway | Several contiguous route=railway relations in a super-relation | route=train or route=light_rail or route=subway or route=tram |
This diverges from tagging as is done in Europe (especially Germany), since in Canada route=tracks relations are deliberately omitted; only route=railway relations exist. Pay attention to the direction of a way tagged railway=rail, as if this is expressed in harmony with the prevalent direction of travel on the way, such directional harmonization may continue to promote some downstream software continuing to work properly.
Train routes
A train route is a route=train relation that describes the route of a train in regular passenger service. Its members include the stations/stops/platforms served by the train as well as the railways (ways also part of railway route relations) on which the train travels. Example Canadian train route networks which are in OSM include:
- VIA Rail, a vast national-scope, public network of over 12,500 km (7,800 mi) comprising over 19 routes, including the Corridor services between cities in the Windsor–Quebec City Corridor and the flagship transcontinental service, the Canadian
- GO Transit, commuter rail operator in the Greater Toronto Area (GTA)
- Exo, commuter rail operator in Greater Montreal
In Canada, VIA Rail operates all passenger=international (operated by Amtrak), passenger=national (nearly all are overnight), and most passenger=regional train routes. More locally, regional transit agencies (e.g. GO Transit, Exo, TransLink) and local transit agencies (e.g. TTC in Toronto, STM in Montreal, Calgary Transit in Calgary, ETS in Edmonton) and private operators may offer passenger=suburban (commuter rail), passenger=urban (rapid transit, light rail), and passenger=local (streetcar, people mover) train routes.
Tag train routes 160 - 1400 km (100 - 870 miles) in length passenger=regional, while passenger=suburban is for full-size (commuter, "heavy") passenger rail services shorter than 160 km (100 miles), usually not light rail and never streetcars. Generally, tag (railway=light_rail) routes as passenger=urban and streetcar (route=tram) routes as passenger=local. However, if a streetcar line is a significant part of a wider-area network (especially as one or more of its stations serve as a hub to other passenger routes, like a bus route network), tag such routes with at least passenger=local if not passenger=urban. If a streetcar or train route is tourism-oriented (usage=tourism on underlying infrastructure), consider tagging it passenger=local, or if it isn't a significant part of the local transportation network (e.g. it is only excursion- or entertainment-oriented), omit a passenger=* tag altogether. Short-distance train routes found at large airports (people mover, such those at Toronto-Pearson International Airport) linking terminals, rental car areas, long-term parking and especially wider-area transit networks are often tagged passenger=local. A transit network may have only a single railway=light_rail or railway=tram route, especially when complemented with bus routes.
Projects
By province or territory
- Alberta/Railways
- British Columbia/Railways
- Manitoba/Railways
- Newfoundland and Labrador/Railways (does not exist).
- Nova Scotia/Railways
- Ontario/Railways
- Quebec/Railways Most documentation is in French.
- Saskatchewan/Railways
- Yukon/Railways (does not exist). Only extant railway is the narrow-gauge (914 mm/3 ft) White Pass and Yukon Route, which crosses into Alaska/Railroads.