====== Routers, their setup and use ======
----
The **[[manual:user_guide:tracks:planning|Route Planner]]** and **[[manual:user_guide:functions:navigation|Navigate to]]** use services of route-generating engines called **routers**. The router generates a **route based on selected profiles and their parameters**. Each profile relates to an activity (hiking, nordic skiing...) or a means of transport (bike, car...).
You can use three routers in Locus Map 4:
* **LoRouter** - built-in router
* **GraphHopper** - external service
* **BRouter** - external cooperating app
All routers use the **[[https://www.openstreetmap.org|OSM]]** routing database and are independent on an active map.
===== LoRouter =====
Built-in router, available in **online** and **offline** (Premium Gold only) variants. The online LoRouter is the default router of Locus Map 4.\\ {{ :manual:faq:router04.jpg?nolink |}}
LoRouter offers **9 internal routing profiles** divided into four categories:
==== Walking ====
* {{:manual:user_guide:ic_type_walking_alt.png?nolink&30|}} **Walking** - perfect choice when you want to get the shortest way from one place to another on foot. Ideal for use in cities.\\ \\
* {{:manual:user_guide:ic_type_tourist_alt.png?nolink&30|}} **Hiking** - choose this when you need a route for a hike. This profile prefers hiking trails, and forest paths and doesn't evade hills.
=== Additional parameters ===
Both walking profiles offer the **wet conditions** option selecting less muddy surfaces where possible.
=== Customized ETA ===
Both walking profiles provide an option to customize the way the app calculates your **estimated time on the route**. The calculation is based upon your **average speed on flat ground**:\\ {{ :manual:user_guide:tracks:rteplan66.jpg |}}
==== Cycling ====
* {{:manual:user_guide:ic_type_cycle_alt.png?nolink&30|}} **Touring** - a basic bike profile preferring cycling paths and less hills for a comfy ride. Top choice for long-haul bike tourists.\\ \\ **Aditional parameters:** you can allow or disallow **ferries** and **tunnels**\\ \\
* {{:manual:user_guide:ic_type_mountain_bike_alt.png?nolink&30|}} **MTB** - a profile for mountain bikers of all styles and skill levels. Basically, the profile prefers paths, tracks and trails and doesn't evade climbing. \\ \\ **Additional parameters:** **Terrain level** - you can control the difficulty of the route based on its surface character, gradient and elevation profile. 5 levels are available - smooth, rolling, varied, technical and rugged. You can also dis/allow **ferries** or turn on **wet conditions** when you are heading out after rain.\\ \\
* {{:manual:user_guide:ic_type_gravel_alt.png?nolink&30|}} **Gravel** - profile preferring gravel hilly roads and tracks with compacted surface.\\ \\ **Additional parameters** - besides **ferries** and **wet conditions** you can allow/ban **stairs** on the route (to carry your bike to shortcut the route).\\ \\ **Customized ETA** - also these cycling profiles provide an option to customize the way the app calculates your **estimated time on the route**. The calculation is based upon your **average speed on flat ground** typical for the bike type:\\ {{ :manual:faq:rteplan68.jpg |}}\\ \\
* {{:manual:user_guide:ic_type_road_bike_alt.png?nolink&30|}} **Road** - top choice for fast riders preferring tarmac roads.\\ \\ **Additional parameters** - besides the **ferries**, **tunnels** and **steps** you can turn on/off **cycleway** preference.\\ \\ **Customized ETA** - road cycling profile provides an option to customize the way the app calculates your **estimated time on the route**. The calculation is based on your power performance in Watts:\\ {{ :manual:user_guide:tracks:rteplan67.jpg |}}
==== Motor vehicle ====
* {{:manual:user_guide:ic_type_car_fast_alt.png?nolink&30|}} **Fast** - basic car profile for the fastest routes between two destinations.\\ \\
* {{:manual:user_guide:ic_type_car_short_alt.png?nolink&30|}} **Economical** - profile for the shortest routes with low-speed limits for economical gas consumption
=== Additional parameters ===
Both car profiles allow for control of **ferries**, **tolls**, **highway** access and **unpaved roads** for those with terrain vehicles
==== Other ====
* {{:manual:user_guide:ic_type_cross_country_skiing_alt.png?nolink&30|}} **Cross country** - profile generating routes along marked and/or groomed ski tracks. Fully functional primarily in winter sports resorts. This profile has no additional parameters.
==== Custom routing profiles ====
Besides the LoRouter profiles embedded directly in Locus, it is also possible to use profiles provided by other users or developers as the **.BRF files**:
* copy the BRF file into **/Locus/router/profiles2** directory
* restart the app
* launch route planner > open the route profile selection and tap **ADD NEW**
* fill in the name, icon of the new profile and select the BRF-based custom profile from the list
* confirm
For example this way you can add a **canoeing profile** to the planner (the BRF is from [[https://brouter.de|BRouter]]):\\ {{ :manual:faq:rteplan69.gif |}}
**[[https://github.com/poutnikl/Brouter-profiles/wiki|Poutnik's GitHub page]]** provides further information on this as well as many ready-to-use profiles.
==== Warnings ====
LoRouter generates **warnings for various pitfalls on the route** – for challenging terrain, heavy traffic, barriers, tunnels, unprotected railway crossings, and so on. And that’s both in the route planner and in the quick route calculation for direct navigation to the destination:\\ {{ :manual:user_guide:functions:navigation:warn01.jpg?nolink |}}\\ Some warnings have **three color-differentiated levels** – from the least to the most serious warning:\\ {{ :manual:user_guide:functions:navigation:warn02.jpg?400 |}}\\ If a warning concerns entire sections of the route, e.g., challenging surfaces or heavy road traffic, it also has a **zonal variant**, so you know exactly which part of the route to be careful on.\\ {{ :manual:user_guide:functions:navigation:warn03.jpg?nolink |}}
The display of warnings can be further configured in the **[[manual:user_guide:settings:points_tracks#route_warnings|app settings >>]]**
===== LoRouter Offline =====
Available only with **[[https://www.locusmap.app/premium|Premium Gold]]**
==== Routing data ====
The offline version of LoRouter uses offline routing data. We strongly recommend downloading it in advance or you'll be prompted to download **additionally while planning a route**. You can download it either with the **[[manual:user_guide:functions:navigation:settings#lorouter_offline|data downloader]]** in settings > Navigation > Router\\ {{ :manual:user_guide:functions:navigation:naviset16.jpg?nolink |}}\\ or as an additional part of LoMaps - routing data is a **part of every LoMap package** - you can download it from **[[manual:user_guide:locus_store|Locus Store]]**:
* open Locus Store
* find a LoMap of the desired area
* download its routing data:\\ {{ :manual:user_guide:functions:navigation:naviset12.jpg?nolink |}}
Routing data is automatically updated. You can set the update interval:\\ {{ :manual:user_guide:functions:navigation:naviset13.jpg?nolink |}}
===== GraphHopper =====
Fast and data-efficient external online router. It offers three bike profiles: **cycle**, **MTB**, and **racing**, two types of walk profiles: **walk** and **hike** and a **car** navigation profile.\\ \\ With **[[https://www.locusmap.app/premium|Premium Gold]]**, **GraphHopper** can render **two routes at once**, for each route segment individually:\\ {{ :manual:user_guide:tracks:rteplan52.jpg?nolink |}}
===== BRouter =====
**FREE** option for offline routing. It requires installing an external app.
==== Setup and data download ====
* install an external **cooperating routing app BRouter**, available at **[[https://play.google.com/store/apps/details?id=btools.routingapp|Google Play Store >>]]**.
* after installation, launch BRouter\\ {{ :manual:faq:navigation_offline01.png?nolink |}}
* select Download manager\\ {{ :manual:faq:navigation_offline02.png?nolink |}}
* zoom in and select the area you need for offline routing\\ {{ :manual:faq:navigation_offline03.png?nolink |}}
* set BRouter as default router in Locus //menu > settings > navigation > router//\\ {{ :manual:faq:navigation_offline04.jpg?nolink |}}
==== Profiles ====
By default, there are a few profiles available for BRouter in Locus Map. But all of them are editable and you can add more profiles from the **[[https://github.com/abrensch/brouter/tree/master/misc/profiles2|BRouter repository]]** or **[[https://github.com/poutnikl/Brouter-profiles|other sources]]**:
* **Store** the downloaded .brf files into ///Locus/router/profiles2// directory
* **Edit**: long-pres a selected profile in the list and tap Edit on the popup:\\ {{ :manual:faq:router01.jpg?nolink |}}
* **Add**: tap **+** button in the profile list:\\ {{ :manual:faq:router02.jpg?nolink |}}
* fill in the **icon, name, category** and select **source** (.brf file):\\ {{ :manual:faq:router03.jpg?nolink |}}
* tap **SET**
Not all .brf files in BRouter and other repositories are compatible with Locus Map.