United States/Railways

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.

Editing Railroads starting from TIGER data

Like highways, 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 similar problems like disconnected segments, wrong tagging, missing bridges and crossings and positions that are frequently off quite a lot. So a review is necessary 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; these often authoritatively yield 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:

• alignment (against recent aerial or satellite imagery),
• multiple tracks (each mapped individually, preferably not with tracks=#),
• crossover tracks between mainlines, branches, sidings and spurs,
• 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 with a railway=level_crossing tag.

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 less- or non-reviewed TIGER rail data OSM 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=preserved and railway=construction.
• If you find a railway=spur tag, change it to railway=rail and add service=spur.
• See if an odd service=* tag exists (like service=branch, which doesn't make sense) and delete it if necessary. Valid service=* tags include service=spur, service=siding, service=yard and service=crossover.
• Add a usage=* tag [main, branch, industrial, military, tourism] if one doesn't exist. These can be subjective (see here), but usage=main is generally correct for heavy-traffic passenger and freight rail, especially as a contiguous named Subdivision. Omit this tag 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 into a named relation with type=route, route=railway and name=Name of Subdivision or Line. Values of railway=* and name=* should be identical, though minor name differences (like suffixed with MT1 and MT2 to denote two main tracks) is sorting itself out now; slight variations in name=* allows multiple OSM volunteers to buffer edits as we more properly tag 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 layer 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.

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" (in this case, Rhode Island, you can edit this) try this Overpass Turbo query. For some states, this is (initially) too much data and the query will run short of memory. Next try to restrict the query to a (unique) county level, e.g. "Colusa County."

As of 2019, TIGER Review of rail is modest and continuing, much still needs doing: one estimate is "about 40% 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 (black lines, though be aware that usage=tourism and usage=military also display 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. Currently yards are moderately correct, but can use improvement from more-recent aerial or satellite imagery or real-world data newer than the mid-2000s TIGER import.

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 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, largely done but not complete — another frontier. Other frontiers are maxspeed=* and railway=signal tags, barely extant now. Seriously: should you take a look and decide to do so, everything 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 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 route=tracks rather than route=railway. The distinction seems like a small extra syntax wrapper we dismiss, 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.

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 kinds 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. 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. Some 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, 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 publicly-owned national, regional, suburban, urban and local services as well as privately-owned local services (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, passenger=national (nearly all are overnight), highspeed=yes and most passenger=regional (intrastate or interstate) train routes. More locally, many state Departments of Transportation (DOTs), Regional Transportation Authorities (RTAs), Municipal Transportation Districts (MTDs) and private operators offer passenger=regional (e.g. Virgin Trains USA), passenger=suburban ("commuter"), passenger=urban (city/urban, light rail), and passenger=local (tram, monorail, people mover, some heritage trains...) train routes (Amtrak™ does not, except for its shortest Shuttle routes tagged passenger=suburban). Some passenger=regional train routes are DOT/RTA/MTD - Amtrak™ funding partnerships, though branding/ownership between Amtrak™, DOTs/RTAs/MTDs and regional vs. suburban/commuter distinctions can blur. Tag train routes 160 - 1400 km (100 - 870 miles) in length passenger=regional, while passenger=suburban is for full-size (commuter, "heavy") rail shorter than 160 km (100 miles), not light_rail or trams. Generally, tag railway=light_rail train routes as passenger=urban and street-running route=tram train routes with 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 excursion- or entertainment-oriented), you may omit a passenger=* tag altogether. Short-distance train routes found at larger airports, (frequently automated monorail) 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 states in the USA (including all Western states) have state /Railroads wikis with comprehensive train route sections 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, both Los Angeles County Metro Rail and San Francisco's BART are found in California/Railroads.

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 are longer-term-future oriented, as they are either in early construction phases or remain in planning.

State 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 the data. Beta can be declared when there are no major errors or omissions in a wiki which comprehensively documents a state's railway 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 these, 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 candidates for a new state /Railroads wiki as wiki progress marches eastwards, although, so are all redlinked wiki below. Map your best, wiki your best!l

  • Alaska/Railroads (early beta)
  • Arizona/Railroads (an early version)
  • Arkansas/Railroads (does not exist). Please include Metro Streetcar (Little Rock).
  • California/Railroads (middle beta) <--- This can be used as a rich, comprehensive seed/template if you wish to fully wiki-organize rail mapping in your state. Simply copy, then delete and modify its 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 (does not exist). Our Metro_Atlanta_Transit_Services wiki has a table in its MARTA Rail Lines section with four heavy rail v2 routes, a good start for a Georgia/Railroads Passenger trains section. Click the link and create the new wiki!
  • 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!)
  • 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?), 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. 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 (the earliest of very early stubs). Really needs some wiki-writing love to enter numerous passenger rail networks, mainline/branch/industrial rail and completion of TIGER Review. Careful mapping of abandoned and disused railway exists, let's document the state of that.
  • 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) and SEPTA Philadelphia,_Pennsylvania#Transit_maps (A placeholder for route data to be added). Delaware/Railroads could link here, as DelDOT passenger rail is operated by SEPTA.
  • Puerto Rico/Railroads (does not exist). Please include Tren_Urbano (San Juan, Puerto Rico), now a tiny text-based seed. This is a good start, but it sure would be nicer with a couple of BrowseRelation and status entries in a simple table!
  • 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 (several years old, mentions a state-generated shapefile of railroads that might be used to harmonize TIGER rail data; very early). Please include VRE (Virginia Rail Express).
  • Washington State/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.