PublicTransportRouteTest.java

Jo winfixit at gmail.com
Thu May 19 15:26:22 UTC 2016


Hi Don,

I found the following code:
https://josm.openstreetmap.de/browser/josm/trunk/src/org/openstreetmap/josm/data/validation/tests/PublicTransportRouteTest.java

I'm using the result of it quite often lately, especially route contains gap

As you may know, I'll be mentoring Darya to create a new public transport
plugin. At the moment we're trying to figure out how to create the UI for
it. Extending the relation editor seems like a good idea.

The validator also seems like an entry point that makes a lot of sense. For
instance we could make the tests more elaborate:

- are buses going through streets against a oneway restriction (or a split
roundabout) or over highways that aren't suitable?
- are alle stops served?

in the case of gaps, there are some cases where  the fix button would be
able to remedy the problem automatically. Sometimes it's enough to resort
the ways. Sometimes it's enough to add one connecting way (possibly
splitting it on the connecting node). Sometimes it's enough to remove the
ways where the bus would go contraflow.
Sometimes it's necessary to split a way and remove the 'overshoot'.

It's hardly ever rocket science for routes that were OK at some point but
that got 'broken' due to users editing.

The inital idea was to create a new plugin, but integrating it like this
would mean that Darya starts working in core. I don' t know if that would
pose a problem.

Alternatively, clicking the fix button could invoke code in the plugin. But
1. I don't know if that is possible and 2. what happens in that case if the
plugin is not installed? Is it possilble to suggest to the user to install
it?

The main intention is, of course, to enable/empower the user to fix the
issues themselves before they upload.

Ideally in the most automated way feasible. But we'll need to ask for
confirmation. I was thinking to show the suggested fix in a separate layer.
Or possible there are more suggestions. Then we could colour code them and
assign letters to them to make confirmation easy.
There will be cases where a fix in 1 route will potentially be valid for
fixing several other route relations. I'd like to implement that as well.
Especially as we create a route relation per variation, this is a potential
enormous time saver.

Anyway, the idea is to make creating and maintaining public transport
routes as painless as possible, so that more people will start doing so.

Polyglot


More information about the josm-dev mailing list