Portland, Oregon/Transit Route Relations
Portland, Oregon is served by various public transportation agencies, the biggest of which is TriMet.
Data Format
Each route will be added using the Public Transport format.
Each route contains a number of stops and a number of roads (or rails) that make up the route. A separate route relations for each direction and/or variation of the route. A typical bus route will have 2 route relations: one for each direction. All of the route relations for a particular line are grouped together into a route master relation. The tables below show the status for each public transport route.
Bus Stops
To map a single bus stop, create a Node where the bus stop sign is located. This will typically be on the right-hand side of the road that the bus travels along. This node is not connected to the way for the road, but may be connected to the sidewalk if it's mapped separately.
The following tags are used on the bus stop Node:
Key | Value(s) | Notes |
---|---|---|
highway | bus_stop | Required |
public_transport | platform | Required |
bus | yes | Required |
name | name of the bus stop | The name of the bus stop. Expand abbreviations such as for street names. |
ref | reference number | If the bus stop is within the TriMet service area and serves TriMet buses, then this is the (up to 5-digit) TriMet Stop ID. Otherwise, this is the stop reference number as applicable for the public transportation company that serves the stop. |
ref:ctran | reference number | If the bus stop is within the TriMet service area and also serves C-TRAN buses, then this is the (4-digit) C-TRAN Stop ID. |
network | network name | This is the name of the public transportation network, such as TriMet. |
Bus Route Variant
Each direction of the route is captured in a separate route relation. Some routes have additional variants that serve different stops.
The following tags can be used on the bus route relation:
Key | Value(s) | Notes |
---|---|---|
type | route | Required |
route | bus | Required |
public_transport:version | 2 | Required |
name | Bus ##: From => To | Required. This is a name that uniquely describes this route variant. This is the word Bus followed by the route reference number and the names of the origin and destination. For example: Bus 10: Lents => Portland |
ref | reference number | This is a reference number or name for the route. TriMet bus routes typically have up to a 3-digit reference number. |
operator | company name | This is the name of the public transportation company, such as TriMet. |
network | network name | This is the name of the public transportation network, such as TriMet. |
from | origin | This is the origin of the bus route as used in the name field. This can either be a place name or name of a bus stop. |
via | place | This is an optional name of a notable place that the route runs through. |
to | destination | This is the destination of the bus route as used in the name field. This can either be a place name or name of a bus stop. |
Bus Route Master Relation
All of the bus route variants are grouped together into a route master relation.
The following tags are used on the route master relation:
Key | Value(s) | Notes |
---|---|---|
type | route_master | Required |
route_master | bus | Required |
name | Bus ##: name of the bus route | Required. This is the word Bus followed by the route reference number and the name of the bus route set by the public transportation company. Expand abbreviations such as for street names. For example: Bus 10: Harold Street. |
ref | reference number | This is a reference number or name for the route. TriMet bus routes typically have up to a 3-digit reference number. |
operator | company name | This is the name of the public transportation company, such as TriMet. |
Railroads
Passenger service on railroads follow similar tagging to the bus routes, but generally also include public_transport=stop_position s on the railroad itself. The list of stops and platforms are interleaved at the start of the route relation with the public_transport=stop_position as role stop followed by the corresponding public_transport=platform as role platform.
See Oregon/Railroads for more information in general on railroad tagging in Oregon.
Renderings
See Public transport#Maps for a list of maps that render this public transport data. Here are some examples of public transportation maps of Portland:
- openptmap
- ÖPNVKarte (German for "public transportation map")
- OSM Inspector ( OSM QA Tool that supports Public Transport Version 2)
Amtrak routes serving Oregon (AMTK)
TriMet
Despite TriMet’s use of OpenStreetMap data for their map-based trip planner as well as internal procedures such as route planning and scheduling, the agency does not maintain their transit route (or stop data) within OpenStreetMap.
TriMet Data Sources
A Shapefile and KML of TriMet's transit routes can be found at the TriMet Developer Resources site.
TriMet tags
TriMet is using a custom tag, "trimet:auxiliary=WES|MAX|Portland Streetcar" on railway segments that are not part of one of the transit routes, but are still part of the system. These segments are also tagged with "service=yard|spur|siding|crossover" as appropriate.
TriMet Routes
Overpass Turbo: all TriMet routes (10MB as of Aug 2024)
Line Reference | Relation | Notes |
---|---|---|
Blue | MAX Blue Line![]() |
|
Green | MAX Green Line![]() |
|
Red | MAX Red Line![]() |
|
Yellow | MAX Yellow Line![]() |
|
Orange | MAX Orange Line![]() |
|
A | Portland Streetcar A Loop Line![]() |
|
B | Portland Streetcar B Loop Line![]() |
|
NS | Portland Streetcar North South Line![]() |
|
WES | WES Commuter Rail![]() |
|
1 | Vermont![]() |
|
2 | Division![]() |
|
4 | Fessenden![]() |
|
6 | Martin Luther King Junior Boulevard![]() |
|
8 | Jackson Park/Northeast 15th![]() |
|
9 | Powell Boulevard![]() |
|
10 | Harold Street![]() |
|
11 | Rivergate/Marine Drive![]() |
|
12 | Barbur/Sandy Boulevard![]() |
|
14 | Hawthorne![]() |
|
15 | Belmont/Northeast 23rd![]() |
|
16 | Front Avenue/Saint Helens Road![]() |
|
17 | Holgate/Broadway![]() |
|
18 | Hillside![]() |
|
19 | Woodstock/Glisan![]() |
|
20 | Burnside/Stark![]() |
|
21 | Sandy Bouleverd/223rd![]() |
|
22 | Parkrose![]() |
|
23 | San Rafael![]() |
|
24 | Fremont/Northwest 18th![]() |
|
25 | Glisan/Rockwood![]() |
|
29 | Lake/Webster Road![]() |
|
30 | Estacada![]() |
|
31 | Webster Road![]() |
|
32 | Oatfield![]() |
|
33 | McLoughlin/King Road![]() |
|
34 | Linwood/River Road![]() |
|
35 | Macadam/Greeley![]() |
|
36 | South Shore![]() |
|
37 | Lake Grove![]() |
|
38 | Boones Ferry Road![]() |
|
39 | Lewis & Clark![]() |
|
40 | Tacoma/Swan Island![]() |
|
43 | Taylors Ferry Road![]() |
|
44 | Capitol Highway/Mocks Crest![]() |
|
45 | Garden Home![]() |
|
46 | North Hillsboro![]() |
|
47 | Main/Evergreen![]() |
|
48 | Cornell![]() |
|
50 | Cedar Mill![]() |
|
51 | Vista![]() |
|
52 | Farmington/185th![]() |
|
53 | Arctic/Allen![]() |
|
54 | Beaverton-Hillsdale Highway![]() |
|
55 | Hamilton![]() |
|
56 | Scholls Ferry Road![]() |
|
57 | Tualatin Valley Highway/Forest Grove![]() |
|
58 | Canyon Road![]() |
|
59 | Walker/Park Way![]() |
|
61 | Marquam Hill/Beaverton![]() |
|
62 | Murray Boulevard![]() |
|
63 | Washington Park/Arlington Heights![]() |
|
64 | Marquam Hill/Tigard![]() |
|
65 | Marquam Hill/Barbur Boulevard![]() |
|
66 | Marquam Hill/Hollywood![]() |
|
67 | Bethany/158th![]() |
|
68 | Marquam Hill/Collins Circle![]() |
|
70 | 12th/Northeast 33rd Avenue![]() |
|
71 | 60th Avenue![]() |
|
72 | Killingsworth/82nd Avenue![]() |
|
73 | 122nd Avenue![]() |
|
74 | 162nd Avenue![]() |
|
75 | Cesar Chavez/Lombard![]() |
|
76 | Beaverton/Tualatin![]() |
|
77 | Broadway/Halsey![]() |
|
78 | Beaverton/Lake Oswego![]() |
|
79 | Clackamas/Oregon City![]() |
|
80 | Kane/Troutdale Road![]() |
|
81 | Kane/257th![]() |
|
82 | South Gresham![]() |
|
84 | Powell Valley/Orient Drive![]() |
|
87 | Airport Way/181st![]() |
|
88 | Hart/198th![]() |
|
92 | South Beaverton Express![]() |
|
93 | Tigard/Sherwood![]() |
|
94 | Pacific Highway/Sherwood![]() |
|
96 | Tualatin/I-5![]() |
|
97 | Tualatin-Sherwood Road![]() |
|
152 | Milwaukie![]() |
|
153 | Stafford/Salamo![]() |
|
155 | Sunnyside![]() |
|
156 | Mather Road![]() |
|
291 | Orange Night Bus![]() |
Oregon Health & Science University
OHSU operates the Portland Aerial Tram, which is a cable car. Note that route relations for this use route=aerialway and not route=tram. "Tram" is the British English word for street car and route=tram is used for the Portland Streetcar, which is operated by TriMet.
Portland Aerial Tram Portland Aerial Tram
OHSU also operates a shuttle bus, but this is not open to the public.
C-TRAN
C-TRAN Data Sources
C-TRAN Routes
Line Reference | Relation | Completed | Notes |
---|---|---|---|
Vine | The Vine![]() |
yes | |
2 | Lincoln![]() |
partial | Missing platforms |
6 | Fruit Valley/Grand![]() |
partial | Missing platforms |
7 | Battle Ground![]() |
partial | Missing platforms |
9 | Felida![]() |
yes | |
19 | Salmon Creek![]() |
partial | Missing platforms |
25 | Fruit Valley & Saint Johns![]() |
yes | |
30 | Burton![]() |
yes | |
31 | Hazel Dell![]() |
yes | |
32 | Evergreen/Andresen![]() |
yes | |
37 | Mill Plain/Fisher's Landing![]() |
yes | |
41 | State Route 14![]() |
partial | Missing platforms |
47 | Battle Ground/Yacolt![]() |
partial | Missing platforms |
60 | Delta Park Regional![]() |
yes | |
65 | Parkrose Regional![]() |
yes | |
67 | Airport Regional![]() |
yes | |
71 | Highway 99![]() |
yes | |
72 | Orchards![]() |
yes | |
74 | East Fourth Plain![]() |
partial | Missing platforms |
78 | 78th Street![]() |
yes | |
80 | Vancouver Mall/Fisher's Landing![]() |
yes | |
92 | Camas/Washougal![]() |
yes | |
105 | Interstate 5 Express![]() |
yes | |
134 | Salmon Creek Express![]() |
yes | |
157 | Lloyd District Express![]() |
yes | |
164 | Fisher's Landing Express![]() |
yes | |
177 | Evergreen Express![]() |
yes | |
190 | Marquam Hill Express![]() |
yes | |
199 | 99th Street Express![]() |
yes |
The Connector
The Connector is C-TRAN's dial-a-ride service serving the cities of Camas, Ridgefield, and La Center. Although primarily a dial-a-ride service, C-TRAN operates fixed routes from transit centers in Vancouver to those cities. Relations on OSM will reflect these fixed routes only.
Line Reference | Relation | Completed | Notes |
---|---|---|---|
Camas | Camas Connector | no | |
Ridgefield | Ridgefield Connector | no | |
La Center | La Center Connector | no | |
Midday | Midday Ridgefield/La Center Connector | no |
SMART
SMART Data Sources
SMART Routes
Line Reference | Relation | Completed | Notes |
---|---|---|---|
1X | Salem![]() |
partial | Need to split into route variants and add route master relation. |
2X | Barbur![]() |
yes | |
3 | Charbonneau/Canby![]() |
partial | Need to split into route variants and add route master relation. |
4 | Wilsonville Road![]() |
partial | Need to split into route variants and add route master relation. |
5 | 95th Avenue![]() |
partial | Need to split into route variants and add route master relation. |
6 | Canyon Creek![]() |
partial | Need to split into route variants and add route master relation. |
7 | Villebois | no |
Tillamook County Transportation District
TCTD Data Sources
TCTD Routes
Line Reference | Relation | Completed | Notes |
---|---|---|---|
1 | Tillamook Town Loop![]() |
partial | Need to split into route variants and add route master relation. |
2 | Tillamook - Oceanside/Netarts![]() |
partial | Need to split into route variants and add route master relation. |
3 | Tillamook - Manzanita & Cannon Beach![]() |
partial | Need to split into route variants and add route master relation. |
4 | Tillamook - Lincoln City![]() |
partial | Need to split into route variants and add route master relation. |
5 | Tillamook - Portland![]() |
yes | |
6 | Coastal Connector | no |
Yamhill County Transit
YCT Data Sources
YCT Routes
Line Reference | Relation | Completed | Notes |
---|---|---|---|
2 | McMinnville East-West Express | no | |
3 | McMinnville City Loop | no | |
5 | Foothills Drive | no | |
7 | Providence | no | |
11 | West Salem | no | |
22 | West Valley | no | |
23X | Sheridan Express | no | |
24S | West Valley | no | |
33 | Hillsboro | no | |
44 | 99W/Tigard![]() |
yes | |
45X | 99W/Tigard Express![]() |
yes | |
46S | 99W/Tigard![]() |
yes |
Canby Area Transit
CAT Data Sources
CAT Routes
Line Reference | Relation | Completed | Notes |
---|---|---|---|
99X | Route 99![]() |
yes |
Sandy Area Metro
SAM Data Sources
SAM Routes
Line Reference | Relation | Completed | Notes |
---|---|---|---|
Gresham | Gresham: Sandy to Gresham Gresham to Sandy |
no | |
Estacada | Estacada: Sandy to Estacada Estacada to Sandy |
no |
Columbia County Rider
CC Rider Data Sources
CC Rider Routes
Line Reference | Relation | Completed | Notes |
---|---|---|---|
1 | Portland | no | |
2 | Portland Community College Rock Creek | no | |
3 | South County Flex | no | |
4 | Clatskanie | no | |
5 | Kelso | no | |
6 | Nehalem Valley | no | |
7 | Lower Columbia Connector![]() |
partial | Need to split into route variants and add route master relation. |
Salem - Keizer Transit
Cherriots Data Sources
Cherriots/CARTS Routes
Line Reference | Relation | Completed | Notes |
---|---|---|---|
1 | North River Road/South Commercial![]() |
partial | Need to split into route variants and add route master relation. |
1X | Wilsonville/Salem Express![]() |
partial | Need to split into route variants and add route master relation. |
2 | Market/Brown![]() |
partial | Need to split into route variants and add route master relation. |
2X | Grand Ronde/Salem Express | no | |
3 | Portland Road![]() |
partial | Need to split into route variants and add route master relation. |
4 | State/Lancaster![]() |
partial | Need to split into route variants and add route master relation. |
4A | State/Lancaster | no | |
5 | Edgewater/Center![]() |
partial | Need to split into route variants and add route master relation. |
5A | Edgewater/Center | no | |
6 | Wallace/Fairview Industrial![]() |
partial | Need to split into route variants and add route master relation. |
7 | Mission/State![]() |
partial | Need to split into route variants and add route master relation. |
8 | 12th/Liberty![]() |
partial | Need to split into route variants and add route master relation. |
8A | 12th/Liberty | no | |
9 | Cherry/Parkmeadow![]() |
partial | Need to split into route variants and add route master relation. |
9A | Cherry/Parkmeadow | no | |
10 | Lansing/Hawthorne | no | |
11 | Lancaster/Keizer | no | |
12 | Haysville Drive | no | |
13 | Silverton Road![]() |
partial | Need to split into route variants and add route master relation. |
14 | Windsor Island | no | |
CARTS 10 | Woodburn/Salem | no | |
CARTS 20 | Silverton/Salem | no | |
CARTS 30 | Canyon Connector/Salem | no | |
CARTS 40 | Polk County/Salem | no | |
CARTS 50 | Dallas/Salem Express | no |