App: Partial offline rerouting

During normal navigation a rerouting is done only up to the next waypoint, when you leave the route.
This is great, because it preserves most of the “curvy route” previously calculated online.

Features like “avoid road block” and “skip next waypoint” seem to do a complete recalculation of the whole route. This has the disadvantage, that the “curvy route” is destroyed.

Would it be be possible to do only a partial rerouting like it is done when beeing off route?
Probably more difficult with “avoid road block”.
But with “skip next waypoint” it should be doable :thinking:


“Avoid roadblock” and “Skip next waypoint” are nothing more than reroutings.

No, in navigation they offline reroute until next waypoint, like every rerouting.
If next waypoint is destination, obviously the whole route is calculated again.

Do you have an example for something different, so we can reproduce it?

Uhh, looks like normal rerouting changes the route too, more than I would expect.
V1.13.9 rerouting is set to" Next Waypoint"
This is the original route created with Kurviger algorithm:

  1. Ampfing-Kartbahn-test.kurviger
  2. Now switch to GraphHopper(offline)
  3. Position is at start point.
    Now start navigation, and deviate from the route.
  4. After rerouting, I get this route: Ampfing-Kartbahn-rerouted.kurviger

Especially the last part (after WP4) has changed.
I would have expected changed route only up to WP1!
Do I miss something?

Thanks for the example!

Fall back to partial offline reroute happens when have selected a combination of routers.
(use online router if there is internet, use offline partial reroute when there is no internet)

When select explicitly only 1 offline routing service, everything happens offline altogether.

Hint: tap the route, if it says GraphHopper or BRouter, it does not contain Kurviger parts.

1 Like

Thanks for the explanation.
The app seems to be smarter than I thought. :laughing:
So for testing, better switch data off in the Phone.

This is excellent news! Is there a way/workaround to also use this when adding/removing waypoints? E.g. the re-routing only happens “around” the added/removed waypoint and the remaining route stays unchanged?

The idea is - obviously - to avoid any undesired side effects.


Not sure what you mean exactly.

All partial rerouting actions happen only in navigation, from user location to the existing route.

Add or remove waypoints manually is route planning, so that needs a whole route calculation.

What I mean is to keep changes to the route as “local” as possible if that makes sense. I’ll see if I can come up with an example route to illustrate. But you are right in that it is a routing aspect, not related to navigation at all.

Hmm, would it be possible to do reroutings always partially - independent of selected routing service?

Historically, when deviating from the route a (complete) new route was calculated.
As this was done on the server, you always got the curvy algorithm from the server.

This has changed with the various Routing services and offline routing.
For offline rerouting partial rerouting has been developed, to minimize the effect that offline only fastest route is available.

Now that partial rerouting is available, wouldn’t it make sense to do reroutings always partially? :thinking:
Even if rerouting is done on the server.

There isn’t any need to complicate things more than they are now.
There were cases and users who asked for explicit offline routing.

Partial rerouting is available when use combined routing services.
Full routing can remain when select explicitly one routing service.

No benefit & more complicated, server better do routing as before.

Oh, I thought it might simplify things to use always the same rerouting process.
If it complicates things, than indeed my proposal doesn’t make sense.
Thanks for you answer.


Some technical notes:

Partial rerouting and split / merge routes is a complicated process, performed inside the app.
Can be used as last resort. Instead we should prefer normal routing in most common cases.

Partial offline rerouting on Kurviger routes will be done in all cases:

  • Select online + offline routing services
  • Select only one offline routing service

Available in Kurviger 1.13.15 (Beta).

Implemented in Kurviger 1.13.17.