but I also like to know what others think of this.
Am Sonntag, 13. April 2014 16:47:35 UTC+2 schrieb Harry van der Wolf:but I also like to know what others think of this.
Hi Harry,
we two had a similar discussion last August and your point at this time was the same, namely that speed is everything and solving the path-finding problem correctly does not matter. I still do not share this point of view:
https://groups.google.com/d/msg/osmand/paCDL5_xHkk/bUchpBjPAzAJ
However, in these last 8 months I did most of the homework that I described there regarding "brouter", espacially I implemented "carsubset" routing files and "timeout free recalculations" (and I open-sourced it, added a download manager and put in on play..). Though this is still not a usable car-router (travel-time calculations, turn-restrictions and network-generated voice hints are missing), it's a proof of concept that it could be a usable solution for cars as well (currently the focus is still bikes).
I'm not willing to compare with closed source solutions that all do some dirty trick, let it be precalculated shortcuts (killing flexibilty) or dirty heuristics (killing corectness), but maybe you can give it a second try to judge where it stands in your comparison?
That's why I would like to see a balance between 100% accuracy for shorter distances and less (but still very good accuracy) on longer distances.
Harry
I know that heuristics may lead to best/good/not so good/wrong results. However it should give you the point how it may be good to travel, at least good direction. Why not calculate route fastly (using heuristics) and in the backgroud optimize the route more precisely?
I am not an Osmand developer nor don't know Java, but I love Osmand. Just have few comments regarding new navigation system.I agree that for shorter distances it makes sense. It may also make sense for longer distances when preparing really the best route from home before driving. However imagine this situation: driving to 500km far destination and in the city there is a short detour not mentioned in OSM. What osmand does is route recalculation which will take really long - and in that time you lose all the instructions (maybe not so good example but the point is sometimes new route is needed relatively soon). That is where fast algorithms shloud (have to) be used.
Secondly I agree with Harry that user should not have to create waypoints. If the calculation algorithm can't calculate so long routes, it should create them automatically (according to some sort of "intelligence") or at least warn user that the destination is further than the device can calculate -> "Please, create waypoints." I think that the depandance of possible calculation distance and available RAM may be easilly found.
OsmAnd already warns you if you try to calculate a route longer then 200 km. It does not create waypoints automatically (how should it? It is investigating possible paths.).
Shortcuts in the calculation do sometimes lead to not finding the correct route at all, but a very big detour. That is not desirable. Not a matter of "5% longer" but of "100% longer 5% of the time".
It might be useful if OsmAnd would place some hidden waypoints on longer routes. If a recalculation is needed, it could recalculate to a fairly nearby waypoint (maybe 5 or 10 km ahead). This would give a 'bring me back to the route' recalculation that would be pretty fast. When that has run, and the user has guidance again, calculate to the original (final) destination for the optimal solution. With a big penalty for making an immediate U-turn...
2014-04-14 22:24 GMT+02:00 sympa <echte...@gmail.com>:
It might be useful if OsmAnd would place some hidden waypoints on longer routes. If a recalculation is needed, it could recalculate to a fairly nearby waypoint (maybe 5 or 10 km ahead). This would give a 'bring me back to the route' recalculation that would be pretty fast. When that has run, and the user has guidance again, calculate to the original (final) destination for the optimal solution.
That's a really nice idea. I don't know if it is workable..
Long distance (200 km):
fastest: MNF, slowest: OA.
best accuracy: OA, worst accuracy: MNF (my interpretation: Harder to judge as factors of traffic light penalties, faster/slower roads, average speeds for roads between apps, etc. play an important role).
regards, Aarndt
for car-routing, it's obiuos that MNF aggressivily tries to reach the next "logical network level", just like I expect that for a "simplified" routing algorithm that does the long-distance calculation on roads only.
--
You received this message because you are subscribed to the Google Groups "Osmand" group.
To unsubscribe from this group and stop receiving emails from it, send an email to osmand+un...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
I agree that Garmin likely does incremental routing on the fly. I notice often turn directions only pop up as you get closer to an intersection if it is a slight left/right jog in close detail that from a distance looks like a straight line.
As cyclists planning tours I am more interest in creating a route that takes me through the waypoints and scenic roads I have selected rather than optimizing time. .. except when I jump in a car and want to get to my recreation point asap!
HB
When you get close(r) to your destination, OsmAnd could even recalculate in the background to probably find a more optimized route.
Harry
A little off topic - is it possible to switch between more vector maps of eg. the same country?
Dne pondělí, 28. dubna 2014 17:08:33 UTC+2 Harry van der Wolf napsal(a):HarryWhen you get close(r) to your destination, OsmAnd could even recalculate in the background to probably find a more optimized route.Agree with what you wrote except one little thing - the final-part-of-route optimization should be done as soon as possible to avoid (in extreme situation) forcing to make a U-turn when approaching to exact distance.
A "transit network" and a "contraction hierarchy" are close together, conceptually. But the first is a dirty workarond while the seconds leads to the correct solution.
One could use a contraction hierarchy to find a quick and perfect solution, with the disadvantage of no fine tuning.
I have a feeling that avoiding roads and contraction hierarchies could work together. User blocks segment, if it is not in the CH path there is no problem (this needs mapping the blocked section upwards in the CH hierarchy - dunno if that is possible). If it is in the CH, then avoid this path in the CH and search for an alternate solution.
I am working in th SW-industry for almost 30yrs and I have seen many discussions like this.
Experts tend to explain why only the 100% accurate solution is the only real solutions. Customers tend to have a usable solution no matter how it was done.
I fully appreciate the result of the development and the know how implementated in OsmAnd.
But if it's not useable it's worthless.
The whole life is a simplification and abstraction of very complex processes. Why isn't this possible here.
If I use a SW I would like to be supported by the most easiest way. I don't want ti think about algorithms how the software works or not. Whether "dirty tricks" or simplification gave me the quick an reliable result I don't want to care.
Is the route 2km shorter or 5min faster is an academic question but not relevant in every day use.
My proposal: Let the users decide. Useable fast solutions or almost unusable but very precise solutions.
Driving distances longer than 500km is very common in every days usage scenarios. Usually you don't need a navigation support for the every day way to the office. :-)
Just my two cents
Cheers
Hi,Sorry to disturb the new OsmAnd routing functionality with this request, but I think it is necessary.
I tried OsmAnd (OA) versus BeOnRoad (BOR) and Mapfactor Navigator Free (MNF). Latter two are closed source, closed maps but free and based on OSM. BOR maps are old. MNF maps are very small but lack details the OA maps do have which is particularly useful for cycling and hiking.
To start with: OsmAnd is by far the most versatile planner in all conditions and supports the most options.
==
Short distance calculations, e.g. in a city or between two cities near each other.
fastest: MNF, slowest: OA.
best accuracy: OA, worst accuracy: MNF
Within a city or between two nearby cities the speed difference is noticable but not worth mentioning. They are all fast enough. So OsmAnd is the winner.
Within a city, especially one you don't know, it is nice to get the most accurate route, even though they all bring you where you want to go.
==
Long distance (200 km):
fastest: MNF, slowest: OA.
best accuracy: OA, worst accuracy: MNF (my interpretation: Harder to judge as factors of traffic light penalties, faster/slower roads, average speeds for roads between apps, etc. play an important role).
Here the speed difference becomes a real pain in the back side. Besides: travelling 200 km will save you a few kilometers and a few minutes. So: who cares. Traffic density and traffic jams determine your average speed and travel time far more.
==
Very long distances (600-800 km):
This forces me to create wayspoints in OsmAnd. This is a real nuissance. Why should I find/determine my own route because my route planner can't do this? This is THE reason to use a route planning app: to find a route for me. If I need to determine it myself it has no use.
All apps create the routes where MNF is again the fastest and OA the slowest (by far).
On a 600+ km tour what does accuracy really mean? Saving you 10 kilometers or 10 minutes (fastest route)? And that is only theoretically. I do think OA calculates the best route, but how do I know for sure? I need to create waypoints which might have a negative effect on the "shortest path". And OA takes so extremely long to calculate! Saving 10 minutes or 10 kilometers are only theoretically. In Germany (wintersports) I sometimes take a 35 km longer road because I know it is faster as there is less traffic (or at least I think so :) ).
Feature request:
Based on the distance between starting point and destination before calculating the route:
- Use the new accurate routing for routes up to 50-60 km (or something like that).
- Move back to the previous (<=1.6.5) calculation algorithm for longer routes.
- Optionally: Give the user the choice what algorithm to use.I have filed this as a feature request (https://code.google.com/p/osmand/issues/detail?id=2301) but I also like to know what others think of this.
Harry