GTFS/Mapping to OSM tags
< GTFS
![]() |
As of 2017-04-08, this mapping has not gained consensus, and is for reference only. As of 2020-08-01, some tags are used by PTNA, but still only a reference or proposal. |
Reference: https://developers.google.com/transit/gtfs/reference/
stops.txt
Reference: https://developers.google.com/transit/gtfs/reference#stopstxt
GTFS key | value | Similar OSM key/value | remarks |
---|---|---|---|
stop_id |
ID | gtfs:id=* , gtfs_id=* , gtfs:stop_id=* , (stop_id=* +source:stop_id=gtfs ) |
In Europe ref:IFOPT=* is the preferred key if the ID is identical.
|
stop_code |
Text | gtfs_stop_code=* , ref=* |
|
stop_name |
Text | name=* |
gtfs:name=* can be used for the name in the data if it differs from name=* .
|
stop_desc |
Text | description=* |
|
stop_lat |
Latitude | Object position, not always accurate | |
stop_lon |
Longitude | Object position, not always accurate | |
zone_id |
ID | ||
stop_url |
URL | url=* , website=* |
|
location_type |
0 or empty | (highway=bus_stop , railway=stop /railway=halt , railway=tram_stop ) + public_transport=platform |
Stop (or Platform): public_transport=stop_position if it's on the line; station=subway / subway=yes / station=light_rail / ferry=yes if applicable
|
1 | (amenity=bus_station , railway=station ) + public_transport=station , |
Station: group child stations with public_transport=stop_area
| |
2 | Entrance/Exit | ||
3 | Generic Node | ||
4 | Boarding Area | ||
parent_station |
ID | public_transport=stop_area |
Parent object, for location_type=5 the platform
|
stop_timezone |
Timezone | ||
wheelchair_boarding |
0 or empty | Use value from parent | If no parent exists: No info available |
1 | wheelchair=yes |
||
2 | wheelchair=no |
||
level_id |
ID | ||
platform_code |
Text | local_ref=* |
routes.txt
Reference: https://developers.google.com/transit/gtfs/reference/routestxt
GTFS key | value | Similar OSM key/value | remarks |
---|---|---|---|
route_id |
ID | gtfs:route_id=* |
PTv2 routes need one of gtfs:shape_id=* , gtfs:trip_id:sample=* or gtfs:trip_id=* but gtfs:route_id=* does not harm
|
agency_id |
ID | Useful to get the operator=* from agency.txt
| |
route_short_name |
Text | gtfs:name=* |
name=* has a different syntax
|
route_long_name |
Text | gtfs:name=* |
name=* has a different syntax
|
route_desc |
Text | description=* |
|
route_type |
0 | (route=light_rail , route=tram ) + (type=route , type=route_master ) |
|
1 | route=subway + (type=route , type=route_master ) |
||
2 | route=train + (type=route , type=route_master ) |
||
3 | (route=bus , route=share_taxi ) + (type=route , type=route_master ) |
There is no difference made between bus and share_taxi, so far. | |
4 | route=ferry |
||
5 | cable_tram=yes + route=tram + (type=route , type=route_master ) |
||
6 | route=aerialway , aerialway=* |
||
7 | route=funicular + (type=route , type=route_master ) |
||
11 | route=trolleybus + (type=route , type=route_master ) |
||
12 | route=monorail + (type=route , type=route_master ) |
||
route_url |
URL | url=* , website=* |
|
route_color |
Color | colour=* |
|
route_text_color |
Color | ||
route_sort_order |
0-∞ | ||
continuous_pickup |
0 | Yes ; Role for the member ways
| |
1 or empty | No | ||
2 | reservation=required + phone=* |
Yes, by phone call in advance. | |
3 | Yes, by talking to the driver | ||
continuous_drop_off |
0 | Yes ; Role for the member ways
| |
1 or empty | No | ||
2 | reservation=required + phone=* |
Yes, by phone call in advance. | |
3 | Yes, by talking to the driver |
trips.txt
Reference: https://developers.google.com/transit/gtfs/reference/tripstxt
GTFS key | value | Similar OSM key/value | remarks |
---|---|---|---|
route_id |
ID | gtfs:route_id=* |
Not needed for PTv2 routes but does not harm. |
service_id |
ID | ||
trip_id |
ID | (gtfs:trip_id:sample=* , gtfs:trip_id=* ) + type=route + public_transport:version=2 |
Use gtfs:shape_id=* if possible. Use gtfs:trip_id=* only for a route relation with a single trip and only one service_id .
|
trip_headsign |
Text | destination=* |
Sometimes direction=* is used but that does neither fit to the key nor to the definition of this field.
|
trip_short_name |
Text | gtfs:name=* |
|
direction_id |
Boolean | Different travel directions | |
block_id |
ID | ||
shape_id |
ID | gtfs:shape_id=* + type=route + public_transport:version=2 |
The preferred ID for a PTv2 routes as it directly corresponds to the tagging system. |
wheelchair_accessible |
0 or empty | No info available | |
1 | wheelchair=yes |
||
2 | wheelchair=no |
||
bikes_allowed |
0 or empty | No info available | |
1 | bicycle=yes |
||
2 | bicycle=no |