Routing heading

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

1 Like

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.

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)

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.

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.

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)

1 Like

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)

1 Like

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.

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

I would say that a detour of 5min / 5km is acceptable.
What do others think?

1 Like

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 :slight_smile: 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.

1 Like

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.

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.

1 Like

Exactly, but that would only make sense, if the heading has more influence than it currently has.

The roughly 5km approach is what is currently used :slight_smile:. 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.

1 Like

Could we increase this? Maybe to 10km or even 15km? :thinking:
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.

1 Like

Yes, this is still on my todo list :slight_smile: - 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.

2 Likes