User:Augustus.kling/PSV

From OpenStreetMap Wiki
Jump to: navigation, search

Ideas for routes of Public Service Vehicles

Current tagging: https://wiki.openstreetmap.org/wiki/Public_transport and https://wiki.openstreetmap.org/wiki/Proposed_features/Public_Transport

Since the tagging currently in use seems too complicated, the following schema might serve ideas for a simpler alternative.

Similar to the current tagging, each trip of a vehicle goes into its own relation. Trips are not taken in reverse order and do not have variants or alternatives.

In contrast to the existing tagging public_transport=stop_area relations are not encouraged nor do trips include the platforms or amenities at the stopping places. This proposal does only include the stop position (where passengers board) and the roads (means waterways or railways as well) based on the assumption that the present amenities can be derived by proximity. If one want to be explicit, a public_transport=stop_area relation can optionally be created, though.

The schema described here optionally allows for inclusion of boarding times (similarly to Gino-52's proposal in http://forum.openstreetmap.org/viewtopic.php?pid=554524#p554524), which in turn allows for pedestrian routing that includes public services vehicles.

Tagging of trip relations

Key Value Comment
type=* public_transport Marks relation as related to public transport.
public_transport=* trip Relation describes course taken by a vehicle.
ref=* Operators reference number Operators reference number, not necessarily numeric or unique.
repetition=* Times, for example Mo-Fr 08:43, 09:43; Sa 10:00 One or more points in time when course is taken. First mentioned time correlates with possible mentioned stop times in the relation members role, other points in time define the time offset for subsequent runs. Use repetition=* when the same trip is served repeatedly at different times.
service_period_end=* Point in time, for example 2016-01-30 12:00. Time when the trip is no longer served. In other words the time when a timetable change gets effective that obsoletes the trip.
bus=* for example yes for example. Marks the trip as served by bus, adjust for other vehicle types.
Role Refers to Comment
stop public_transport=stop_position with name=*
(Node or Way)
Refers to stop position of vehicle where passengers hop on and off. Role can be given as stop:08:43 to tell that the vehicle departs at 08:43 from the referenced element. Role can be given as stop:08:43-08:47 to tell that the vehicle arrives at 08:43 at the referenced element and departs at 08:47.
course Any Way Segment of course taken by a vehicle.

The order of relation members is expected to reflect the movement of the vehicle. Therefore the trip will likely start with a stop role, one or more course roles, another stop, further course roles, ….

Ways that are referenced as courses form part of the vehicles route, this includes leaving the main road to drive into a bus bay (see service=busway). Ways might also be part of the relation multiple times when the same way is driven several times as part of a single trip.

Nodes that are referenced as stops need to lie between 2 ways of role course (unless the node represents the beginning or end of the trip). Existing ways might need to be broken into 2 parts to create a node that is valid for role stop. Ways that are referenced as stops must also lie between 2 ways of role course and it is expected that passengers can board along the whole way in role stop.

The same time can be given for multiple members of role stop. This applies for vehicles that can be boarded at multiple known locations at the same time (trains for example). The very same tagging is used when the distance between 2 stops takes less than 1 minute.

Example for members and their roles

Role Refers to Comment
stop Node Passengers can board here at unknown time.
course Way Segment of course taken by a vehicle.
stop:08:00-08:05 Node Passengers can board here from 08:00 until 08:05.
course Way Segment of course taken by a vehicle.
course Way Segment of course taken by a vehicle.
stop:08:13 Node Passengers can board here at 08:13.

Another example for members and their roles

Role Refers to Comment
stop:23:47 Node Passengers can board here at 23:47 (11:47 PM).
course Way Segment of course taken by a vehicle.
stop Node Passengers can board here at unknown time. Actually, the time must lie between 23:47 and 00:13 the following day because of the times of the other relation members.
course Way Segment of course taken by a vehicle.
course Way Segment of course taken by a vehicle.
stop:00:13 Node Passengers can board here at 00:13. The trip ran past midnight but stop order is unambiguously given by order of relation members.

Aggregating trips

Create a relation of described in https://wiki.openstreetmap.org/wiki/Proposed_features/Public_Transport#Route_master and add the trip relations as members.

Example visualization (modified JSOM)

The screenshot below shows how a bus route according to the presented schema could be visualized during editing. Gaps in the route become apparent due to a modification to JOSM to show stop nodes as connected when they are in between two connected way of the route.

Bus-route-modified-josm.png