osmandapp / OsmAnd

OsmAnd
https://osmand.net
Other
4.66k stars 1.02k forks source link

Improvements for a more accurate travel time on public transport #8224

Closed OpenSourceForEver closed 4 years ago

OpenSourceForEver commented 4 years ago

Observing in Osmand many routes by public transport and comparing with the real time that it takes, I think that if one more minute were added for each train stop and half a minute more for each subway stop, Osmand would calculate in a more exact way the time it takes.

I think that by train it is necessary to add more time per stop because the speed of the trains is greater than that of the subway and they take longer to slow down. Perhaps you think that half a minute or a minute is very little time and on short routes it is ridiculous but on long routes (for example 20 stops) this time increase is necessary.

Related issue: https://github.com/osmandapp/Osmand/issues/6719

vshcherb commented 4 years ago

Well you can make a custom routing.xml and change these numbers and share results. I'm pretty sure it varies for different cities and situation though probably default numbers could be better adjusted

OpenSourceForEver commented 4 years ago

I have tried testing with a custom roting.xml in android/data/net.osmand.dev/files/routing but nothing change on calculated routing.

For example I have changed delay in a stop to 1 second. I don't know anything about programming so I'm probably not doing it well

Screenshot_2020-01-23-13-09-58-975_com speedsoftware explorer

vshcherb commented 4 years ago

Probably related to https://github.com/osmandapp/Osmand/issues/8304

OpenSourceForEver commented 4 years ago

https://github.com/osmandapp/Osmand/issues/8304 is closed but trying to change routing.xml all my changes do not affect to calculated route.

https://github.com/osmandapp/Osmand/issues/8224#issuecomment-577655963

vshcherb commented 4 years ago

Did you try to create routing-custom.xml and use it as a source for profile (change the routing)

8304 should have final version in couple of days cause we have a small issue there

OpenSourceForEver commented 4 years ago

I have modified routing.xml and estimated time for routes do not change. I have modified time per stop, time for boarding and subway speed. routing-custom.xml.zip

OpenSourceForEver commented 4 years ago

I still can't test a custom routing.xml

Screenshot_2020-02-25-12-39-27-926_net osmand dev

I would like to attach a routing.xml for you to give your opinion but since I cannot do tests I will summarize my ideas:

  1. Set different stop times for each type of transport: 60 seconds for the subway and 120 seconds for the train (these are not random values, I have tried several routes with different lengths and different number of stops and more exact times are calculated with these times). Another possibility would be to keep the same times for each stop and decrease the subway and train speed but the calculated times are less accurate.

  2. Osmand now includes the start stop and the destination stop in the number of stops on the route but I think it should only count the destination stop and not the start stop.

  3. Set the value of the "interval" tag as boarding time.

  4. Increase "walkChangeRadius" value up to 600 (It would be advisable for towns/villages with little variety of public transport (especially small towns/villages).

  5. Increase "maxRouteTime" value up to 35.000 seconds for support long routes (for example 400km).

MadWasp79 commented 4 years ago

fixed with https://github.com/osmandapp/Osmand/commit/9790a408c679c4824a7a2fc85f5c87c6c6f59b90

OpenSourceForEver commented 4 years ago

Because of my no knowledge in programming I did not get the expected results when changing routing.xml

I have tried to set by means of "conditionals" 30 seconds for each bus stop, 60 seconds for each subway stop and 120 seconds for each train stop. I have also tried to set different speeds on bus routes by means of "gt-tag" depending on the tag"maxspeed". I have also tried to set the timeout depending on the "interval" tag.

The only thing that I have achieved is to change "WalkChangeRadius" to 600 and "maxRouteTime" to 36000

vshcherb commented 4 years ago

Well you tried all exposed parameters to algorithm, you can probably share your experiments in the chat or create new issue so we can read and think about it

OpenSourceForEver commented 4 years ago

I have created https://github.com/osmandapp/Osmand/issues/8638