Thanks for providing all these examples and interesting discussion.
That is a known issue that can happen if both options are almost identically fast. That’s essentially a rounding error.
That’s actually another case on my todo list . There are some issues with the avoid narrow roads option.
That is correct, it should be like this.
In general, the issue is usually that most mappers only care about the main roads, so they add all the restrictions etc. there and don’t care about the residential roads. Setting maxspeed, access and road type for these roads helps a lot already. It won’t fix every case, but it fixes quite some cases.
We are actually continuously improving this. But yes, quality of the road data in F and I is worse than in Germany. So depending on the area you are in, the routing results might have a different quality.
Thanks Juschka for providing these examples. Most of these examples seem to be resolved if you removed the avoid narrow roads option. That’s also related to @linux-user example above. We will have to do some more fine tuning for this option.
As a side question, why did you use this option if you wanted to ride on narrow roads like these:
The example in Ammergau is one of these unfortunate examples where the data is correct but the algorithm fails. In this particular example I am not sure if it is fixable, without making many other routes worse.
Changes in the routing algorithm are global. Meaning, we might be able to improve some of the examples here, but at the same time we worsen the routes in other areas.
@ Patrick:
no that’s not correct:
These examples are villages or small cities for sure! Only the last one at Oberammergau is perhaps an other topic, leaving the main road around.
I’ve seen them in reality last week and in such cases we had several discussions, my husband and me, deciding to stay on the main road or not…
Here as example Isola 2000 as google maps photo:
We’ve used the mainroad to the left (turn), kurviger wanted us to go straight ahead
You see there is free space for at least 3 cars on the road…
Here is the situation in Luceram. Kurviger wanted to leave us the road to the left to the smaller road before the bus. The main road is not really small… and its also curvy (turn around some meter later)
The sign of the village is about 100m before the situation on this photo:
@boldtm
Do you ask why I clicked on “Avoid narrow roads”?
Because in the last 3 years we had a lot of examples, where kurviger was using really every small roads, also roads “nearly unpaved” - very small, but often in very bad quality.
In Czech and Slowakei we’ve learned that avoiding this small roads is the best compromise between interesting roads and not to small and additionally not every curvy road in a village. Perhaps it was a wrong thinking.
But I don’t think that the routing in the village depends on “avoid narrowed roads” - it’s the complete opposite kurviger is doing - I want to avoid the small one, staying on the main road and he is choosing the narrow one?
Unfortunately I’ve stopped filming these roads to show you that we’ve decided to stay on the road, but kurviger/OSM wants us to leave
Obviously it’s not as easy as I thought, lots of factors affect the results.
Instead of tackling it this way, or while we have to wait for better OSM material, you could consider to add an easier way to check the calculated route for such problems. Maybe an option to jump from town to town, add waypoints, jump to the next town, village etc.
Or jump to parts of the route where waypoints are closer then 200 meters to each other, something like that.
Anyhow, now when I know how it works I know I should go through the route and check things manually. For me that’s ok because my routes seldomly are longer than 400km.
One more trick is to show the turn instruction nodes on the map. If two are close to each other, chances are, that there might be an unwanted detour. There are also many examples for a valid route, but at least that way, it’s easy to spot the cases.
Thats’ the reason why I’m normally “avoid small roads” because then Kurviger avoids small up and downs on different roads. Sometimes he don’t know if a road has only a “Abfahrt” or “Auffahrt” or is a special roundabout -route. In unklnown regions it’s sometimes hard to detect such “mistakes” and avoid such curvy roads
Here for example Germering near Munich, Landsberger Str. - you see the planning (curvy route, avoid unpaved roads) and the real tracking (for sure straight forward)
Thanks for the example @juschka10001. That’s a good example of incomplete/incorrect data @Patrick.
The main road is cluttered with all kind of details and tags. The linking road is not tagged as secondary_link (as it should be) and has no max speed. I am quite certain that if the tags for the linking road would be improved, Kurviger would route correctly at this point.
OK cool, so we kinda conclude that (in most cases) nowadays when we find something like this it’s a problem with the tagging (and could be reported here and/or fixed in OSM)
I mean, that’s great, that we can state this now, that we have a general philosophy. I remember about a year ago this was different and the algorithm itself was a bit jumpy
If you would fix this topic in Germering in OSM, perhaps we can check it in one,two weeks if the behaviour will change?
Sorry, but I’m not able to do the changes in OSM, I think that nothing would be ok afterwords
BR
juschka
In the the first example there also seems to be a problem with the underlying map as the road was actually sign posted as a dead end. The example also illustrates that kurviger introduces two extra left turns here, which is sub optimal I’d argue.
In the second example you can make kurviger chose the main road by changing from ‘fast and curvy’ to only ‘curvy’. That seems strange as the main road definitely is the faster choice. Moving the start position slightly will also change the route eventually.
Fortunately, the 3D view sometimes helps in detecting the unwanted detour as can be seen in this screen-shot.
==> Is there a way to improve this situation? Could there be a rule, which avoids leaving and re-entering the very same road within a certain (small) distance?
Yes, in these two situations, it’s probably fixable by improving the OSM data.
In both examples the detours have no speed limit tagged. If one of these were even a dead end, then maybe some access tags were missing there as well?
We are constantly improving the routing here. But unfortunately, there are limits. So we might not be able to fix all cases. I expect to implement some more improvements for this in the next months, but can’t promise anything yet .
The easy option to fix a specific case is to improve the data. In this case tagging the speeds would probably already fix this.
Just looked up the OSM data of my first example above: The road named B70 is tagged as primary highway. The other road is tagged as unclassified. Are you saying kurviger choses the unclassified road over the primary one? Why would it do that in this case? What would I need to change in OSM to make it kurviger “conformant” ?
Right. Didn’t realize that. Here, the detour is via a secondary road (according to OSM). Again, the question is why does kurviger take the secondary over the primary here ??