-
Notifications
You must be signed in to change notification settings - Fork 0
Stop Location & Area
PTv2 splits a bus stop into two elements: a public_transport=platform beside the
road (what most editors show as "the stop"), and a public_transport=stop_position
node on the road itself, where the bus actually halts. Where several platforms and
stop positions belong to one physical place, they're grouped by a
public_transport=stop_area relation. Relatify can add both.
Right-clicking any stop opens a menu with whichever of these apply to it, alongside Tags and Inspect:
Here the stop already has a stop_area queued (✓), which is why that button is
highlighted - see Stop areas below.
For a new stop you're adding, tick Also mark where the bus halts, on the road in its form. For a stop already in OSM that has no stop position yet, right-click it and choose Add stop position:
Either way, the stop is projected onto the nearest member way of the route, and shown
as a ringed dot joined to the platform by a dashed line. Confirming inserts the node
into that way between the two nodes it falls between, and it joins the relation with
role stop.
A few things limit where and when this is offered:
- Nothing is offered when no member way is within 30 m of the stop, or before the route has any ways at all - there's nothing to put the node on yet.
- It's only offered for a stop the route actually calls at. The stop position travels with its stop: taking the stop out of the route takes its stop position with it.
- New nodes are kept at least half a metre from the way's existing nodes, so a stop level with one doesn't land on top of it.
- A road the route only uses part of is split on upload and its nodes rebuilt, so a stop position can't go on it - such a road is skipped when choosing where to put the node.
Dragging a new stop moves its stop position with it. The same button (or checkbox, for a stop not yet uploaded) removes the stop position again.
On upload, the node is created and the road way is modified in the same changeset as everything else: the way is fetched fresh and the node inserted between the two neighbours the editor saw. If those two nodes are no longer adjacent - someone else has edited the road in the meantime - the upload stops as a conflict rather than guessing where the node should go.
A public_transport=stop_area
relation groups the stops of one place - for an ordinary bus stop, the platform on
each side of the road plus the stop position that serves each. The editor already
works out which stops belong together (same name, same place), so it can offer the
relation directly: right-click a stop and choose Stop area.
You get the stops it would group, each labelled with the role it would take
(platform or stop), and a button to queue it. Queuing doesn't upload anything by
itself - it's created in the same changeset as the rest of the route, tagged
type=public_transport, public_transport=stop_area and name (taken from the
stops' own name, with any stop letter or "opp"/"NW-bound" style suffix stripped).
Stops you've just added - including ones pulled in from NaPTAN - are grouped in too,
so a stop added from NaPTAN goes into the area alongside the one across the road that
was already mapped.
If the stops are already in a stop area, the editor says so and offers to add whichever ones are missing from it - a stop position you just created, say - instead of making a duplicate relation, and the relation keeps the name it already has. If the group's stops sit in different existing stop areas, nothing is offered: choosing between them isn't the editor's call to make.
Existing stop areas are looked up through Overpass when the route is downloaded. If that lookup fails, the download still works, but the editor won't know about them - worth checking manually before creating one in that case. A stop area you've queued is also dropped automatically if a later download changes which stops belong to that group, rather than being uploaded against a set you never actually saw.
This grouping is derived from the stops themselves, not from NaPTAN. NaPTAN does
define its own StopAreas, but the feed this app downloads doesn't carry them, and only
about 28% of GB bus stops are in one anyway - so naptan:StopAreaCode is never set by
this tool.
On upload, the relation is fetched again first, so a member someone else added in the meantime isn't added twice, and one that's stopped being a stop area (e.g. deleted) stops the upload as a conflict rather than silently recreating it.