<div dir="ltr"><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div>I proposed to create the plugin as a GSoC project and I think it remains valid as a proposal. The code written for Poland and another proof-of-concept written in Python can serve as an 'inspiration', but the best way would be to start mostly with a clean slate.<br><br></div>We need a proper plugin to assist us with creating PT routes, just in order to be able to maintain the routes we have and to create new ones.<br><br></div>There are 2 problems with these routes:<br></div>- they are fragile, other editors don't always take them into consideration when editing OSM data or understand them<br></div>- they are prone to change. Itineraries tend to change relatively often<br><br></div>There is another problem: there are an enormous lot of them and manually changing them when changing the underlying road network changes is a lot of work. Most contributors get discouraged by this, which is understandable.<br><br></div>So what do we need?<br></div><div>A tool to detect broken/interrupted route relations<br></div>A tool to mend existing relations. Sometimes they are broken because ways are split and not all parts get (re)added. Sometimes they are broken/interrupted because ways are recombined disregarding the relation, so there is an 'overshoot'<br></div>A tool that can create (part of) a route between a series of stops.<br></div>Since I don't mind doing this once manually, my solution was as follows:<br></div>Try to find another relation with the same sequence of stops, that already has an uninterrupted sequence of ways.<br></div>Figure out which of those ways lie between the first and last stop (for as long a sequence as possible) and copy those ways over.<br><br></div>The result of that 'exercise' is a route relations that was usually still interrupted. For those stretches, it may make sense to try and determine a plausible path, propose to the user and add to the route relation when OK, try to figure ou another path if not. At some point give up and let the user do it him/herself. The user can also accept a solution and then mend it to what the bus actually does.<br><br></div>If the user accepts a solution, apply it and do what is needed to the road network (it's likely ways will have to be split).<br><br></div>I'm willing to demonstrate all this during a hangout. Since you are in India, time zones work against us... our European evening is very late at night for you. I can also create a screencast video.<br><br></div>Polyglot<br></div><div class="gmail_extra"><br><div class="gmail_quote">2016-02-15 19:00 GMT+01:00 Daniel Koć <span dir="ltr"><<a href="mailto:daniel@koć.pl" target="_blank">daniel@koć.pl</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">W dniu 15.02.2016 18:49, Vishal vijayvargiya napisał(a):<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
post one on josm-dev mailing list. I hope project remains in<br>
consideration and isn't closed, especially after discovery of existing<br>
plugin for PT in polish cities :)<br>
</blockquote>
<br></span>
This plugin needs some love (at least making it more generic) and I'm not sure if this code is proper form - sometimes reimplementation is easier than just patching. Also I'm not sure if the main developer is still interested in this work.<br>
<br>
However the main idea (semi-automated routing through the known stops network) is a way to go - I don't remember now if it was me who have proposed this approach, but it's possible. =}<div class="HOEnZb"><div class="h5"><br>
<br>
-- <br>
"Завтра, завтра всё кончится!" [Ф. Достоевский]<br>
<br>
<br>
_______________________________________________<br>
dev mailing list<br>
<a href="mailto:dev@openstreetmap.org" target="_blank">dev@openstreetmap.org</a><br>
<a href="https://lists.openstreetmap.org/listinfo/dev" rel="noreferrer" target="_blank">https://lists.openstreetmap.org/listinfo/dev</a><br>
</div></div></blockquote></div><br></div>