Routing heading is not respected in Kurviger routing.
Here is a similar route example with heading=270
. Same route?
From GraphHopper documentation:
“Headings are given as north based clockwise angle between 0 and 360 degree.”
Routing heading is not respected in Kurviger routing.
Here is a similar route example with heading=270
. Same route?
From GraphHopper documentation:
“Headings are given as north based clockwise angle between 0 and 360 degree.”
If you move the destination below the river, then the “heading” seems to produce different routes.
(however this must be discussed with @boldtrn)
I would say heading of route=90
in your (and my) example! Yes, both routes are the same.
But heading of vehicle=270
in the screenshot.
The heading=270
in that example is meant to
keep heading away from route
Here are other examples where “heading” works:
I can’t see anything wrong with these examples?
If you switch to curvaturefastest the heading is used: https://kurv.gr/dHmh4
If the detour is too long/troublesome, the routing engine will choose a different direction. The detour is using a lot of cities, and cities are avoided.
I can’t see anything wrong with these examples?
In first example the routing does not respect the heading direction parameter.
(while road can be driven from there too - if move the destination like below)
If you switch to curvaturefastest the heading is used: https://kurv.gr/dHmh4
We cannot expect from users while driving to try other route options,
in order for the heading direction to be used in the routing response.
So it seems that the heading direction has small priority in Kurviger routing.
And is not reliable in navigation, where drivers expect it to work every time.
So it seems that the heading direction has small priority in Kurviger routing.
And is not reliable in navigation, where drivers expect it to work every time.
It is not designed to force a direction. It is meant to favour a direction.
In the example above I would rather turn around instead of riding through the city. The curvy route is designed to be an enjoyable route. So the result is OK IMHO.
In the example above I would rather turn around instead of riding through the city. The curvy route is designed to be an enjoyable route. So the result is OK IMHO.
Agreed, this makes sense when planning routes.
However, while driving and requesting rerouting, users expect the new route to be in front of them.
(that is why the complaints were made, the new route is in the opposite lane without U-turn)
In the example above I would rather turn around instead of riding through the city.
The issue In the above exampe is, that the routing engine neither makes a u-turn nor does it find a route in direction of vehicle.
From a user perspective it sometimes would be desirable to find a new route in direction of vehicle heading earlier than kurviger actually does.
The user may have a reason not to follow the original route. (maybe because it is blocked)
It is possible to create a larger influence of the heading on the routing. However, I am not yet 100% convinced we should do that.
This can lead to significant and potentially frustrating detours, often unintentional.
Unfortunately, we currently don’t have the option to provide nice u-turn announcements where we search for a good intersection to turn around.
So if we enforce the heading in the above example the route would lead through Hohenkammern and Allershausen, instead of turning around and following the side road with almost no cities.
This example is certainly arguable, so the detour is not too bad either and in a large group I might rather take the detour than turning around. If you slightly move the start or destination then the detour is chosen.
Enforcing the heading in a different example, for example here in the alps, driving to the west, would lead to a 100km detour. In the alps there are thousands of such cases where the routing would end up using huge detours. So enforcing the heading is no option.
Slightly increasing the impact of the heading is something we can discuss about and we should think about how much detour we would like to accept. 5min? 10min? 7km? 50km?
With a motorcycle turning around is fast and easy and you don’t need a lot of space. So this is different to truck routing where turning around is no option.
With a motorcycle turning around is fast and easy and you don’t need a lot of space
That is true, but sometimes you just want an alternative route, maybe because the original route is blocked.
You can use the road block feature, but often it is easier to just drive in the direction you want, and hope that routing will soon find an appropriate alternative .
There are reports that rerouting needs many attempts until an alternative route is found.
e.g. this from @Tom
Slightly increasing the impact of the heading is something we can discuss about and we should think about how much detour we would like to accept. 5min? 10min? 7km? 50km?
I would say that a detour of 5min / 5km is acceptable.
What do others think?
Very interesting discussion, although I first had to read for a long time what exactly was meant. The feature “avoid cities” is very valuable and I would not like a detour if it guides me through big cities. I agree with boldtrn that detours in the alps can mean 100km and more and therefore something like “accept detour” as proposed in the past would be very nice and exiting.
But I wouldn’t use minutes. The time calculation for a route is too conservative for me. On day trips I always drive 1-2 hours quicker than Kurviger calculation or in other words I drive out all breaks including lunch what is also not bad. Kilometer is the right parameter for detour acceptance. The question for me is: would this be something the user can influence by a setting or does this need to be a default value? And another question: is this always meant between two waypoints, not for the whole tour? A slider in detour kilometer in the app would be nice if this is not too complicated and if it is meant between 2 wp’s, then I would set 2 to 30 km. A default value has the disadvantage that it can’t be influenced. One day I may like to use 50km detour, the other day where I have a time restriction, maybe not.
is this always meant between two waypoints, not for the whole tour?
It does not matter, the waypoints are respected in rerouting anyway.
Based on navigation type: strict route following or not.
So all Kurviger (re)routings always calculate the whole route.
Or in union points there could be surprises…
The only case where partial rerouting is needed is with BRouter.
(and this is an extremely complicated process)
Due to the inability of Kurviger to provide a proper offline routing.
I think currently Kurviger has a tendency to stick to the original route, even if you drive in the opposite direction. This can result in recalculations over and over again, if you don’t return.
I think, it should find an alternative route earlier, if you keep driving in another direction.
Right now the heading you are driving does have an influence on the recalculated route, but this influence is relatively low.
The key question is:
Should the direction in which you are driving have more influence on the recalculated route than it currently has?
A slider were the user could change that influence (of current driving direction) would be great, but I doubt it’s feasible. But an on/off switch in the app should be doable in my opinion.
But an on/off switch in the app should be doable in my opinion.
Do you mean a switch to enable or not the preferred heading?
(which is now not respected by the server)
I could add this in the app, but first the server must support it.
Or I could add block areas behind user, like @0709 proposed elsewhere.
But this is yet another thing you ask the app to fix due to external inability.
Example with the Kurviger online router. See video. https://youtu.be/tHeDpT12Gw8 Demo. When you arrive at the junction with the L1103, follow the diversion to the L1110. The false moving direction is shown by the increasing turn distance indicator. So you now get 3 consecutive 180 ° turns that you refuse. Immediately after the third 180° turn in a single row add an obstruction. (Now a job to do manually - automatic trigger possible?) This causes a new recalculation and a fwd drive prop…
Do you mean a switch to enable or not the preferred heading?
Exactly, but that would only make sense, if the heading has more influence than it currently has.
I would say that a detour of 5min / 5km is acceptable.
What do others think?
The roughly 5km approach is what is currently used . In your example this does not work, as the detour contains cities (so there are a lot of factors that play a role here). That said, slightly increasing the influence of the heading is certainly possible and I can put this on the todo list.
The roughly 5km approach is what is currently used
Could we increase this? Maybe to 10km or even 15km?
I think, Kurviger should switch to a new route earlier, if you drive in a different direction.
This week I had this planned Tour1
But I decided to take Tour2
It took up to waypoint2 until the new route got calculated - getting recalculating messages over and over again.
Could we increase this? Maybe to 10km or even 15km?
Yes, this is still on my todo list - it’s one of these changes that requires a lot of testing and fine tuning before releasing, so I need a bit of time to dig into this.