App: Offline routing (BRouter)

Hello,
can be used somehow BRouter Offline for offline route calculation?

BR,
John

Actually it’s in the plans to examine also BRouter as a more flexible solution.

Note that any third-party engine cannot have Kurviger algorithms for routing.

2 Likes

Sorry, I don’t understand what you mean. I don’t want to use another app as Kurviger (apart from Navigon Cruiser which I still have on my device). Graphhopper works offline when I download the graphs as described. You said Brouter would be more flexible offline. What do I need to use it as a fallback to Kurviger? Install the app, download maps or graphs? From where? I have checked all links and still didn’t find how it should work.

I have not integrated BRouter in Kurviger yet, so there are not more details.
When its implementation time comes, we can announce how it can be used.

It has special workflow, for reference can check some other app guides, e.g.:

https://osmand.net/features/navigation-profiles#create_brouter

https://docs.locusmap.eu/doku.php?id=manual:faq:how_to_navigate_offline

1 Like

Mit dem richtigen Profil fährt Kurviger dann Offraod. :grin:

Kurviger then drives off-road with the right Profile. :grin:

Offline routing with BRouter:

  1. Install BRouter app from Google Play
  1. Open BRouter and select Download manager or storage location of data

  1. Zoom and select the region for offline routing and start downloading
    (supports cross border routing)

  1. In Kurviger select BRouter in “Settings | Routing | Routing service”

Note: BRouter app must remain installed, as it’s used for routing and downloads.

3 Likes

Funktioniert super, Danke. :+1:

Works great, thanks. :+1:

3 Likes

An offline routing guide for both GraphHopper + BRouter exists now in our Wiki documentation.

If you say that BRouter is more flexible concerning some aspects: is there any possibility to configure a routing that avoids motorways? I tried different settings (both with GraphHopper and BRouter) but never managed an offline rerouting which avoid motorways/highways.

1 Like

Very good idea to connect Kurviger’s avoid options with offline routers.
They support “avoid” options, but must see if they’re available in apps.

For reference can play with their routing easier in their websites:

  • GraphHopper: add “&ch.disable=true&avoid=motorway” in url (documentation)
  • BRouter: select “Car (fast)” at top-left and “avoid_motorways” in “Customize profile” at top-right

Note: since they use different algorithms their results may be different.

Good hint! :+1:t4:

On the website BRouters calculates different routes depending on the chosen settings.

I already tried to configure different settings in the BRouter app but the calculated route always will be same (and uses motorways) no matter what options are configured:

(no need to click anything else except “Download manager”)

BRouter allows to configure its profiles in detail at phone’s file system.
In our case edit the “car-fast.brf” text file.

More details exist in its readme.txt, sections “Completing your installation” and “Routing via the service interface”.

1 Like

No, the recommended / flexible way is to modify freely the profile text file according to user needs.

Very useful info - thanks! :+1:t4:

I found the brf-files (\Android\data\btools.routingapp\files\brouter\profiles2) and copied "car-fast.brf " to a new file called “!Kurviger.rf”.

Then I changed the following section in this file to avoid motorways:

# Use the following switches to change behaviour
assign avoid_toll = false # %avoid_toll% | Avoid paid roads | boolean
assign avoid_unpaved = false # %avoid_unpaved% | Avoid unpaved roads, if possible | boolean
assign avoid_motorways = true # %avoid_motorways% | Avoid motorways | boolean

Now selected the “!Kurviger”-profile in the BRouter app and this did the job: no more usage of motorways (Autobahnen) when rerouting via BRouter while being offline. Great advantage! :smile:

2 Likes

Ah - just noticed that it’s possible to copy the content of a rtf-file into the “profile”-section on the BRoute website. This way I can easily test different settings and configure one or more rtf-files which will cover my personal needs for offline routing best.

Not as good as the original Kurviger routing-algorithm of course, but flexible enough to use for a rerouting to the next waypoint while being offline on the road. I love that feature :smiley:!

BRouter is extremely flexible with a very powerful profile language to do many things.

I wonder if we should set as default the “Kurviger - BRouter” profile in the application.

We can include your guide in Wiki, you can contribute it if you want. :slightly_smiling_face:

Why not - as long as such infos are helpful for other Kurviger users this absolutely makes sense. I’ll play around a little bit with different settings and report if I found a good template for being used for Kurviger’s rerouting.

1 Like

After testing various settings as a quick solution for a simple set of different routing profiles used for offline routing with BRouter in the Kurviger app, I would recommend to save up to three new profiles, according to one’s personal preferences.

As template for every profile I used “car-fast.brf” (copied to every of the three bfr-files for Kurviger) and only modified the sections mentioned subsequently.

:sloth: Kurviger-smallroads.brf

If smaller roads are preferred.

Modify this sections (no further data needed in the “Kinematic” section):

# Use the following switches to change behaviour
assign avoid_toll = false # %avoid_toll% | Avoid paid roads | boolean
assign avoid_unpaved = false # %avoid_unpaved% | Avoid unpaved roads, if possible | boolean
assign avoid_motorways = true # %avoid_motorways% | Avoid motorways | boolean

# Kinematic model parameters
assign vmax = 70 # %vmax% | Target speed (in km/h) | number

:rabbit2: Kurviger-fastroads.brf

If a faster route is preferred (using faster roads, but still avoiding motorways/highways).

# Use the following switches to change behaviour
assign avoid_toll = false # %avoid_toll% | Avoid paid roads | boolean
assign avoid_unpaved = false # %avoid_unpaved% | Avoid unpaved roads, if possible | boolean
assign avoid_motorways = true # %avoid_motorways% | Avoid motorways | boolean

# Kinematic model parameters
assign vmax = 100 # %vmax% | Target speed (in km/h) | number

:racehorse: Kurviger-highways.brf

If the fastest route is preferred (using motorways/highways if possible).

# Use the following switches to change behaviour
assign avoid_toll = false # %avoid_toll% | Avoid paid roads | boolean
assign avoid_unpaved = false # %avoid_unpaved% | Avoid unpaved roads, if possible | boolean
assign avoid_motorways = false # %avoid_motorways% | Avoid motorways | boolean

# Kinematic model parameters
assign vmax = 130 # %vmax% | Target speed (in km/h) | number

I copied the three Kurviger brf-files into BRoutes profiles folder (\Android\data\btools.routingapp\files\brouter\profiles2) and deleted all other brf-files (after making backups of course and I preserved the other files “lookups.dat” and “v1.6.1”) to keep things clear and neat.

Now I can start the BRouter app to choose from three different profiles, depending on my current needs:

Of course those profiles will result in quite different (and less attractive, curvy and motorbike-specialized) routes than using Kurviger’s online routing algorithm. But they are quite useful as a fallback solution if rerouting is necessary while being offline and can help to avoid unwanted street types in such cases.

7 Likes

Implemented in Kurviger 1.12.4.

1 Like

Top! Sehr nützlich… :+1:
Danke fĂĽr deine MĂĽhe!
Hab ich sofort umgesetzt :sunglasses: