« to the list

Public Transport Editor

If we need a plugin, the tagging schema is too complex. For routes, we can make a simple web editor.

Viewer

An interactive map. Download all stops and platform from the Overpass API and display them. On click, a list of routes via this stop are displayed. When no stop is selected, a user can choose a route to view. For a route, all tags are displayed, its stops are highlighted, and a route is drawn either with ways in the relation, or directly connecting stop to stop from beginning to end. The latter allows for displaying routes with no or obsolete route data.

When a route has route_master relation, an additional panel is displayed above tags and stops, with a list of route variants. By clicking on each, a user can quickly browse through all of these. Route variants do not appear in a full list of routes, masters are shown instead. But when clicking on a route master, the first variant is displayed.

So, we have three panels: list of routes in a viewport, stop/platform data with all routes passing through it, and a route variant data.

Editor

A user can enter edit mode by logging in to OSM via OAuth. Then he has some options:

So, there are a lot of editing options, some of which are quite complex. Maybe it should be done in stages, e.g. first with only editing existing routes and stops.

Stops And Platforms

Since all platforms should have their related stop positions, and vice versa, it should be reflected in the user interface. For example, viewers and editors for both should be combined, with options to add corresponding stop or platform. There should be additional tests for broken relations or differently-named nodes, e.g. with a distance limit.

I guess it’s safe to assume stop positions at all times should be named the same as their platforms.

Ways

Editing ways in a web interface is hard, and we are stepping on a territory of a complex OSM editor. Editing a route can be done in either of two ways:

These interfaces could be combined: for example, first we use a routing engine to build a draft version of a route (maybe automatically from stop positions!), and then for editing we allow user to click on road segments.

There should be an additional check that all stops are near the route. Though it is not completely clear what to do if they are not.