OSM Inspector/Views/Public Transport - Routes
The Public Transport - Routes view in OSM Inspector shows routes which claim to be routes according to the version 2 of the Public Transport tagging schema.
From 2017-10-09 on, this view is based on the schema version 2 (previously the abandoned proposal by user Oxomoa).
Overview
This view shows routes and validation results of all route relations with public_transport:version=2 and route=train/tram/subway/bus/trolleybus/ferry/aerialway.
The OSM data processing of this view is done by osmi_pubtrans3.
Limitations
The validation engine begin used does only check for a few important errors.
Data sources
All data in this view is derived from OSM data.
Layers
PTv2 route relations
Valid Routes shows route relations which pass all critical validation tests. There are a few tests which route relations are allowed to fail, e.g. tagging of stop positions/platforms.
Invalid Routes shows route relations which fail at least one critical validation test. See below for a list of all checks.
PTv2 route relations errors
Errorneous ways shows member ways of route relations which cause a test to fail or which are next to a gap in the route.
Errorneous nodes shows member nodes of route relations which cause a test to fail or which are an open end in the route (near a gap).
Validation Tests
The railways over railway test checks if a route for a tram, train or subway uses an unsuitable way for that type of vehicle, e.g. a train route running over a railway=construction or way without railway=*.
The road vehicle over road test checks if a route for a bus or trolleybus but uses an unsuitable way for that type of vehicle, e.g. a bus route running over a highway=construction or way without a valid value of highway=*.
The gap and order test checks if a route has gaps or is not ordered properly. The highway/railway members of PTv2 routes must be ordered. The code which does the check does not differ between gaps and wrongly ordered members. If a route is ordered randomly, the code will report lots of "gaps".
The route has way members test checks if a route contains of more than just a collection of stops and platforms.
The general structure test checks if the overall structure of the member list is ok. A route must begin with an ordered list of stops and platforms. The order of stops and platforms is not checked but there must be no highway/railway member before any stop/platform in the list and no stop/platform after a highway/railway member.
The role and type test checks if the roles and types (node/way/relation) of the members is ok.
- Nodes must have only one of the following roles:
stop
,stop_entry_only
,stop_exit_only
,platform
,platform_entry_only
,platform_exit_only
- Ways must have only one of the following roles:
platform
,platform_entry_only
,platform_exit_only
, empty role - Relations must have only one of the following roles:
platform
,platform_entry_only
,platform_exit_only
The platform proper tags test' checks if a platform which is used by a route relation of type X (route=X has the tag X=yes. For example, all platforms of train routes must have train=yes.
Found errors are reported as described in the following table:
The column How To Fix contains recommendation only. All mappers are advised not to blindly follow them but to think themselves. Sometimes the root cause of an error is not an invalid route but a errorenous edit by another mapper or just outdated routes using an up-to-date road/railway network. |
Short Message (used in Invalid Routes layer) | Error Message Used in Errorneous Nodes and Errorneous Ways layers | What Is Wrong | How To Fix |
---|---|---|---|
error_over_non_rail | rail-guided route over non-rail | A train/subway/tram route uses unpassable ways (i.e. ways without railway=* and without a value of railway=* which is valid for this type of vehicle). Railway tracks under construction are considered as unpassable. | Check if the route still uses this way in reality. Correct either the railway tracks (e.g. if the construction is finished) or change the route (e.g. if the section under construction is not served). |
error_over_rail | road vehicle route over non-road | A bus/trolleybus route uses unpassable ways (i.e. ways without highway=*, footways or railway tracks). | Check if the route still uses this way in reality. Correct either the railway tracks (e.g. if the construction is finished) or change the route (e.g. if the section under construction is not served). |
(no column) | trolley bus without trolley wire | A trolleybus route uses a road without trolley_wire=*. | Change the route if the road segment is not used by the route any more. Change the road segment if it has trolley wire in reality but that is still missing in OSM. Change the route to type=bus if the it is served by hybrid buses and the road segment has not trolley wire in reality. |
gap or unordered before this way | The road/railway members of this route are not ordered or have a gap. A route must begin with an ordered list of stops and platforms. The order of stops and platforms is not checked but there must be no highway/railway member before any stop/platform in the list and no stop/platform after a highway/railway member. | Open the relation editor in JOSM and sort it manually or use the sort button. | |
error_unordered_gap | open end at this location | ||
error_unordered_gap | gap | ||
error_unordered_gap | gap or unordered after this way | ||
error_wrong_structure | (unused) | (unused) | |
no_stops_pltf_at_begin | (not shown in these layers) | There are no stops or platforms at the beginning of the member list. A route must begin with an ordered list of stops and platforms. The order of stops and platforms is not checked but there must be no highway/railway member before any stop/platform in the list and no stop/platform after a highway/railway member. | Check if the route matches the requirement for PTv2 routes. Order if necessary. Add missing stops/platforms. |
non_way_empty_role | empty role for non-way object | A member node or member relation has an empty role. | Check if the route matches the requirement for PTv2 routes. Set the correct role or remove the member from the route. |
stoppltf_after_route | stop/platform after route | The member list contains stops or platforms after the first road/railway segment. | Check if the route matches the requirement for PTv2 routes. Order the member list. |
stop_not_on_way | (unused) | (not implemented) | |
no_way_members | (not reported in these layers) | The route has no road/railway segments as way members. | Add the road/railway segments used by the route. |
unknown_role | unknown role | The route has members with a non-empty invalid role. | Check if the route matches the requirement for PTv2 routes. Assign valid roles to the members. |
(not reported in this layer) | platform without proper tags | The platform does not have the necessary tags. Platforms must have at least one of the following tag combinations: | Check if the node/way is really a platform. If yes, add the missing tags. If not, remove it from the route relation. |
(not reported in this layer) | stop without proper tags | The stop node does not have the necessary tags. Stops must have at least one of the following tag combinations:
|
Check if the node/way is really a stop position. If yes, add the missing tags. If not, remove it from the route relation. |
stop_is_not_node | stop is not a node | Non-node member with the role "stop". Stop positions must be nodes. | Check if the route matches the requirement for PTv2 routes. Assign valid roles to the members. |
error_over_non_ferry | ferry over ways other than route=ferry | The route relation uses ways with an empty role which are neither untagged nor have route=ferry. | Check if the route matches the requirement for PTv2 routes. Ensure that the ferry route stays on the water. |