United States/Railroads

From OpenStreetMap Wiki
Jump to navigation Jump to search
Flag of United States Part of United States mapping project.

This page intends to help organize efforts to map railways in the United States. Note that in the United States, because of US English, "railroad" is frequently used across many contexts (not simply OSM) in preference to "railway" (which is more British English).

Editing Railroads starting from TIGER data

Like the TIGER highways import, hundreds of thousands of miles of railroad tracks (both active and abandoned) have been imported from (federal government, public domain, mid-2000s) TIGER data and share problems similar to highways, like disconnected segments, wrong tagging, missing bridges and crossings and positions that are frequently off quite a lot. So a review is necessary for rail, just as it is for highways. Sources to improve these data might include Bing or DigitalGlobe imagery, a recent state government Department of Transportation rail document and/or a road/rail crossing spreadsheet. Another source is bts.gov (see below for link) with various rail layers that OSM can use, often authoritatively yielding subdivision names, rail ownership and operator data. Such review might include following an entire rail "line" of less-reviewed TIGER rail (tiger:reviewed=no) from one end to the other, paying particular attention to:

• accurate alignment (compared to recent aerial or satellite imagery),
• multiple tracks (each mapped individually, preferably not with tracks=#),
• crossover tracks between parallel mainlines, branches and industrial track,
• tracks which make up yards,
• bridges (bridge=yes, layer=1) and tunnels (tunnel=yes, layer=-1), where they exist and
• assuring that at-grade road/rail crossings are an actual intersecting node tagged railway=level_crossing.

Reviewed/corrected segments of a single, contiguous named railway (subdivision, branch or line) are correctly collected into a named route=railway relation. However, before doing so, given the abundance of non- or less-reviewed TIGER rail data OSM (still) has in the USA, try these steps while doing the above review:

• Select an element of TIGER rail, change its name=* tag to operator=* (rail company, transit district...) and add a new name=* tag with a value of the actual name of the rail segment, often something like "XYZ Subdivision" or "ABC Industrial Line."
• Check the railway=* tag: valid tags include railway=rail, railway=tram, railway=light_rail, railway=subway, railway=disused, railway=abandoned, railway=narrow_gauge, railway=construction and railway:preserved=yes.
• If you find a railway=spur tag, change it to railway=rail and add service=spur.
• If an odd service=* tag exists (like service=branch, which doesn't make sense), delete it. Valid service=* tags include service=spur, service=siding, service=yard and service=crossover.
• Add a usage=* tag [main, branch, industrial, military, tourism] if there isn't one. These shouldn't be too subjective, see here. Often, usage=main is generally correct for heavy-traffic passenger and freight rail, especially as a contiguous Subdivision. Lighter traffic segments are often usage=branch. Omit usage=* on service=* tracks (spurs, sidings, yards, crossovers).
• If a tiger:reviewed=no tag exists and you "reviewed" the rail (e.g. comparing against aerial/satellite imagery and better aligning where necessary, tags are all correct...), delete this tag — don't change it to the superfluous tiger:reviewed=yes or something like tiger:reviewed=aerial.

Now you might gather identically named rail segments (often ways tagged railway=rail) as members into a named relation tagged type=route, route=railway and name=Name of Subdivision or Line. Values of elements tagged railway=* and name=* should be identical or nearly so: minor name=* value differences (like suffixed with MT1 and MT2 to denote two main tracks) sorts itself out now; slight variations in name=* allows multiple OSM volunteers to buffer edits as we more correctly tag, name and organize. Be aware of private/corporate rail map data being copyrighted, don't copy these into OSM. Some good news, bts.gov (links to arcgis.com) offers map browsing of rail data displaying owner, trackage rights (sometimes shared among a surprisingly large number of operators) and subdivision names, these geo data are freely available to OSM in the public domain by the federal government, while rail professionals consider them authoritative. Better operator=* and owner=* tags (absent from TIGER import) continue to improve, especially as name=* tags from TIGER properly become one or both of these two tags and subdivision names are discovered and entered as correct name=* tags. 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 "Dallas Subdivision" relations in Texas, but because of their proximity and ease with which they may be confused, one is named "UP Dallas Subdivision" and the other is named "KCS Dallas Subdivision." (Good practice has also properly set operator=* on both). Otherwise, continue to migrate the operator (e.g. UP, BNSF, CSX, NS...) 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. JOSM has an excellent relation editor dialog window which displays connectivity of contiguous segments, please remember to click the Sort button before you close the relation editor dialog window of a route=railway.

These steps (visual layer review, discovery of and tagging of subdivision name, proper alignment and tagging, including usage=* and operator=*, creating a named route=railway relation) lead toward excellent OSM data and render well in OpenRailwayMap (ORM) after approximately 24 hours. Definitive ORM tagging documentation is found here, however, see below, especially Rail Structure. These are USA-specific summary guidelines for rail tagging from originally TIGER data, here are some additional North American rail tagging conventions which are helpful to know. This guide to TIGER's CFCC data may help OSM editors tag better while building accurate route=railway relations from Overpass Turbo queries of a given area. (Note that some CFCC data are noisy/incorrect/have become blurred since their import).

For a starting point of "unreviewed TIGER rail in a given state" try this Overpass Turbo query (in this case, Rhode Island, this is easily edited to be another state or county). For some states, this is (initially) too much data and the query will run short of OT server compute cycles, memory or timeout. First try to increase the timeout value, then try to restrict the query to a (unique) county level, e.g. "Colusa County."

As of 2020, TIGER Review of rail is modest and continuing, much still needs doing: one estimate is "about 60% complete." After TIGER Review of a rail line (alignment, proper tags, deleting tiger:reviewed=no so others know, placing track segments into a route=railway relation...), it can be helpful to wiki document this completion. This is done in "infrastructure tables" of state-level /Railroads wikis: often these are color-coded (red, yellow, green=done or almost done) for an at-a-glance status of TIGER Review progress in a given state (see State projects below).


To improve USA railroads in OSM:

• Follow unreviewed TIGER rail along their length, comparing with your best data. This can be many things: a survey or GPS track, a state's Department of Transportation latest Rail Plan or crossing data, Bing or DigitalGlobe imagery, rail enthusiast lore OSM has permission to use or personal rail knowledge that is "on the ground verifiable."

• Using an Overpass Turbo query or ORM (no usage=* results in black lines, though be aware that usage=military also displays as black), find unreviewed TIGER rail incorrectly named as a railroad (e.g. name=Union Pacific Railroad). Properly tag these with e.g. operator=Pacific Harbor Line, name=ABC Industrial Lead and usage=industrial.

• Using an Overpass Turbo query or ORM (railway=disused as brown and railway=abandoned as dashed brown lines), find TIGER rail with incorrect status. Properly tag these with knowledge of whether they are truly disused, abandoned or active rail.

• Assemble identically named rail segments (not already gathered) into a named route=railway rail relation. And/or, improve these. It CAN be tedious to stitch them together properly! JOSM is the recommended editor as it has an excellent relation-editor window. Before uploading, please click the "sort relation" button.

• Clean up yards using Bing or DigitalGlobe imagery or better knowledge, as well as tagging them with more of an ORM scheme. Currently yards are moderately correct, but need improvement from more-recent aerial or satellite imagery or real-world data newer than the mid-2000s TIGER import. Prior to 2020 and due to the vernacular of "yard" as the word is used in North American rail parlance, "yard" was tagged in OSM on a wide variety of rail facilities here. Going forward, better USA tagging should distinguish between a "yard" and a railway=service_station, the latter being "a railway station only used by railway employees." With ORM's tagging scheme (preferred), "yard" is "a railway station for freight, including yards that don't involve the loading or unloading of freight" (such as marshalling, classification, repair, washing of rolling stock, etc.) Please tag railway=service_station where this is a more correct semantic, even if this means changing what is now tagged railway=yard. If a polygon is tagged railway=yard, change this tag to landuse=railway and add a node tagged railway=service_station OR railway=yard to a node at the "logical center" of the station or yard, not a track way or a polygon way.

Map Your Train Ride! Add public_transport=platforms to the route=train relation of your commute. It's easy: add a node or draw a small way or polygon representing the exact location of the platform, tagging it with public_transport=platform, railway=platform and one of either train=yes, light_rail=yes, subway=yes or tram=yes. You might also add it to the proper route=train relation(s) which should be found around that railway=station. For further guidance, see this diagram of a "simple railway station".

• Discover a recent authoritative source for Northeast Corridor maximum speed limits (Amtrak®'s high-speed Acela® line) and verify OSM's maxspeed=* tags on railway=rail between The Bronx and New Haven.

Much more work needs doing. This includes yards and reducing or eliminating tracks=# tags by entering each distinct track element. (Note that a tracks=1 tag is superfluous, as 1 is the default). Eventually, all named rail (not tagged service=*) should be in route=railway relations, whether active, disused or abandoned. USA railroads are not 100% there yet, but continue to approach this subgoal. Another goal is for all route=train relations (passenger rail) to contain accurate memberships of (named, contiguous) track infrastructure in route=railway relations, largely done but not complete. Other frontiers are maxspeed=* and railway=signal tags, barely extant now. Should you take a look and decide to do so, MUCH here can use review and/or improvement, especially improving tagging, adding stations/stops/platforms and creating route_master relations to upgrade route=train passenger rail relations from public_transport:version=1 (v1) to v2. Thank you!

OSM Rail Structure in the USA

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 the USA, largely because of how our TIGER import entered rail, we skip collecting members into route=tracks relations and collect "physical railroad" 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 our familiar named Subdivisions, Branches, Industrial Lines 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 a small extra syntax wrapper we dismiss in the USA (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 the USA appears to have had no ill effect on mapping (for example, in OpenRailwayMap) or routing of railways.

Collections of rail segments (tracks) into route=railway relations continues at another "level" as these route=railway relations are themselves collected into super-relations. For example, the USA has a "Transcontinental" route=railway super-relation from Los Angeles to Chicago named Southern Transcon containing the eleven member route=railway relations that make up this route. We call this a "Major Mainline Rail," and there are others like it, such as Northern Transcon. Newer "regional corridor" projects like Crescent Corridor and MidAmerica Corridor are also being included in OSM as "Major Mainline Rail."

So, in the USA, 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 the USA route=tracks relations are omitted, being conflated into a route=railway relation. 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 encourage ommision of route=tracks relations. For important further discussion, see the Discussion page.

Rail Renderers

Main article: Railways section 'Rendering'

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 United States train route networks which are both in OSM and are wiki-documented include:

  • Amtrak™, a vast national-scope, public network of over 21,400 miles of routes in 46 states, the District of Columbia and three Canadian provinces, including high-speed Acela Express® service between Washington, DC, New York City and Boston and several higher-speed regional services,
  • California/Railroads/Passenger trains, includes all statewide national, regional, suburban, urban and local passenger train services. For privately-owned freight and industrial rail services in the state, see California/Railroads/Active (both wikis are "later beta"),
  • Florida East Coast Railway (privately-owned), provides soon-to-be higher-speed Virgin Trains USA intrastate regional services and
  • Spokane, Portland and Seattle Railway (now defunct as a passenger railway).

In the United States, Amtrak™ operates all passenger=international (serving Canada), passenger=national (nearly all are overnight), highspeed=yes and most passenger=regional (intrastate or interstate) train routes. Private operators emerge offering passenger=regional service (e.g. Virgin Trains USA). More locally, many state Departments of Transportation (DOTs), Regional Transportation Authorities (RTAs), Municipal Transportation Districts (MTDs) and private operators offer passenger=suburban ("commuter"), passenger=urban (larger city, "light rail"), and passenger=local (tram, monorail, people mover, some heritage trains...) train routes (Amtrak™ does not). Some passenger=regional train routes are DOT/RTA/MTD - Amtrak™ funding partnerships, so branding/ownership distinctions between Amtrak™ vs. DOTs/RTAs/MTDs and regional vs. suburban/commuter can blur.

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 trams. (Two exceptions are Amtrak™ Hiawatha Service® and Hartford Line, both under 160 km, though tagged passenger=regional rather than passenger=suburban; Amtrak™ no longer categorizes its routes as suburban). Generally, tag railway=light_rail train routes as passenger=urban and street-running route=tram train routes as passenger=local. However, if a tram 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 a tram at least passenger=local if not passenger=urban. If a tram 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, (frequently monorail or "automated people mover") 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, railway=tram or railway=monorail train route, especially when complemented with bus routes.

About half of the USA's states (including all  Western states) have state /Railroads wikis, comprehensive train route sections are found at Level 1 titled "Passenger trains," see State projects below; a distinct trend is toward putting train routes into these state wikis. Many train routes are already in their state /Railroads wiki's "Passenger trains" section. For example, Caltrain, Los Angeles County Metro Rail, San Francisco's BART and San Diego Trolley (among others) are found in California/Railroads/Passenger.

Emerging both in the real world and in OSM are newer high-speed passenger=regional train routes, some public, some private: California High Speed Rail, RMRA, Texas Central Railway, XpressWest, others. These newer high-speed train routes are longer-term-future oriented, as they are either in early construction phases, remain in planning and/or are unfunded.

State (or commonwealth) projects

Used to describe stages of software development, "alpha" and "beta" here describe a quality assurance phase of statewide railroad data in OSM and completeness of their wiki in documenting those data. Alpha is sensible full structure established in the wiki and at least a start at TIGER Review of rail data. Beta can be declared when there are no major errors or omissions in a wiki which comprehensively documents a state's rail infrastructure in OSM. When a state's OSM rail data have been checked multiple times by at least two OSM and/or wiki editors as being complete and correct rail data for that state, the phase goes from "beta" to "final." For now, "complete and correct" includes freight/industrial infrastructure (railway=rail as route=railways) and passenger rail (route=trains), not necessarily signals, milestones, switches, maxspeeds and other similar "minor" infrastructure/data. OSM is in an earlier phase of mapping such minor infrastructure, progress continues. State rail wiki documenting minor infrastructure is virtually non-existent presently. It is much more important to map minor infrastructure than to document that they aren't, though both (entry into OSM and wiki documenting) are welcome. All  Western states have at least an early wiki, some Eastern states do, too. Nebraska is a good next candidate for a new state /Railroad wiki as wiki progress chugs eastwards, although, so are all redlinked wiki below. Map your best, wiki your best!

  • Alaska/Railroads (early beta)
  • Arizona/Railroads (an early version)
  • Arkansas/Railroads (does not exist). Please include Metro Streetcar (Little Rock) and Bimey Safety Streetcar No. 224 (Fort Smith).
  • California/Railroads (later beta) <--- This and its two sub-wiki can be used as rich, comprehensive seeds/templates if you wish to fully wiki-organize rail mapping in your state. Simply copy, then delete and modify their structure until you have the rail wiki page you want.
  • Colorado/Railroads (alpha). Denver-area OSM volunteers, please step right up! RTD's multibillion dollar mass transit with lots of light_rail and new commuter train lines under construction grows faster than our mapping speed!
  • Connecticut/Railroads (does not exist). Please include Shore Line East.
  • District of Columbia/Railroads (does not exist). Please include Washington_Metro and DC Streetcar, also known as H/Benning line (Washington, District Department of Transportation).
  • Florida/Railroads (an early stub). Needs a lot of mainline/branch/industrial attention: TIGER Review, research, additional data, mapping and wiki-updating.
  • Georgia/Railroads (an early stub). Our Metro_Atlanta_Transit_Services wiki has a table in its MARTA Rail Lines section with four heavy rail v2 routes, a good seed for a Georgia/Railroads Passenger trains section. Click the links and create the new wiki section!
  • Idaho/Railroads (an early version, approaching alpha)
  • Illinois/Railway_Relations (early and several years old, relations and nice OT links for CTA's Chicago_'L' and Metra suburban trains — a great start for a new Illinois/Railroads wiki. Click the link and create the new wiki!)
  • Indiana/Railroads (does not exist). Please include Indiana University Health People Mover (Indianapolis).
  • Kansas/Railroads (does not exist). Please include KCATA (Kansas City Area Transportation Authority).
  • Massachusetts/Railroads (does not exist). Please include MBTA (Massachusetts Bay Transportation Authority), MassGIS#MBTA_Rapid_Transit_Layer (a broken link?), Ashmont–Mattapan High-Speed Line, Cape Cod Regional Transit Authority (Massachusetts) and Rhode Island Department of Transportation (RIDOT), operated by MBTA.
  • Maryland/Railroads (does not exist). Please include MARC (Maryland Area Regional Commuter) (the version 2 train routes already entered into OSM are excellent)! Also, please include Baltimore's Metro Subway and Baltimore_Light_RailLink. Click the link and create the new wiki!
  • Lousiana/Railroads (does not exist). Please include New Orleans Streetcars.
  • Michigan/Railroads (does not exist). Please include Q-line (Detroit Light Rail) and DPM (Detroit People Mover). Click the link and create the new wiki!
  • Minnesota/Railroads (now getting started). Includes METRO trains (Minneapolis-Saint Paul).
  • Missouri/Railroads (a good start, not quite yet alpha. Needs MetroLink (Saint Louis) and Loop Trolley, there is very little here on this passenger rail besides a "to do" reminder).
  • Montana/Railroads (a good start, not yet alpha, but not a huge effort to get there, either)
  • Nevada/Railroads (early/stubby, but with only a modest amount of rail in the state, not a huge effort to complete). The focus now is on TIGER Review and abandoned and disused rail being fully documented in the wiki. And, as always, Yards need help.
  • New_Jersey/Mass_Transit_Relations (relations only, but an excellent table! PATCO High Speed Line, New Jersey Transit and PATH are included. Freight rail is absent and would need to be comprehensively documented to complete a full New Jersey/Railroads wiki)
  • New Mexico/Railroads <--- This can be used as a simple seed/template if you wish to quickly wiki-organize rail mapping in your state. Simply copy, then modify its structure until you have the rail wiki page you want.
  • New York/Railroads (an early stub). Needs some wiki-writing love to document passenger rail networks, mainline/branch/industrial rail and TIGER Review completion. Careful mapping of abandoned/disused rail exists, too: let's document that. Please include New_York_City_Subway, Staten Island Railway, Port Authority Trans-Hudson and Buffalo Metro Rail.
  • North Carolina/Railroads (does not exist). Please include Lynx/CityLynx (Charlotte).
  • North Dakota/Railroads (early/evolving, may be approaching alpha)
  • Ohio/Route_relations/Public_transportation is not a true state-level /Railroads wiki, though it is a good start at a passenger rail inventory: displayed are Ohio's light_rail, subway, train, tram, trolleybus (and bus) networks and operators in a sortable table.
  • Oklahoma/Railroads (does not exist). Please include Oklahoma City Streetcar (Oklahoma City).
  • Oregon/Railroads (alpha). Includes TriMet (Portland, Oregon).
  • Pennsylvania/Railroads (does not exist). Please include Pittsburgh Light Rail / The T (Pittsburgh), SEPTA's Philadelphia,_Pennsylvania#Transit_maps Regional Rail, Subway-Elevated and Trolley Lines and Market-Frankford Line (reminders for these route data to be added). Delaware/Railroads could link here, as SEPTA operates DelDOT passenger rail.
  • Puerto Rico/Railroads (Includes Tren_Urbano, a metro / rapid transit subway serving greater San Juan. A small mostly text-based seed; a good start, now nicer with BrowseRelation and status entries in a simple table. Only a baby wiki!)
  • South Carolina/Railroads (alpha)
  • South Dakota/Railroads (early/stubby, but with only a modest amount of rail in the state, not a huge effort to complete). The focus now is on TIGER Review and abandoned and disused rail being fully documented in the wiki. And, as always, Yards need help.
  • Tennessee/Railroads (does not exist). Please include WeGo (Nashville Metropolitan Transit Authority's new brand, with Music City Star Regional Rail) and MATA Trolley (Memphis).
  • Texas/Railroads (an early stub, especially needing mainline/branch/industrial attention. Needs additional data, research, wiki-updating, TIGER Review and mapping).
  • Utah/Railroads (a nearing-alpha wiki ready for much more research, growth and mapping; lots of history and rail activity in Utah now!)
  • Virginia/Railroads (fresh new enthusiasm in this wiki, could go alpha with modest effort, though lots of TIGER Review is needed. No passenger lines are included, though these do exist in the state: please include Virginia Rail Express).
  • Washington/Railroads (alpha). Includes Sound Transit (Seattle).
  • Wisconsin/Railway_Relations (early, relations only — a start! Reasonably up-to-date regarding a Metra line to Kenosha, two trams and one under construction, but freight rail is noticeably absent). Click the link and create a new Wisconsin/Railroads wiki!
  • West Virginia/Railroads (does not exist). Please include WVU PRT (Morgantown Personal Rapid Transit, West Virginia University).
  • Wyoming/Railroads (an early version, approaching alpha).


  • Here is an incomplete list of US railroad subdivisions. Try clicking the "State1" column header to sort the table by State, then use the list of subdivisions to start a state /Railroads wiki for your state. There are many to choose from as "seeds," see the State projects section above.