Author Topic: Routing over online/internal BRouter  (Read 2832 times)

Offline lor74cas

  • Padavan of Locus
  • ***
  • Posts: 326
  • Thanked: 26 times
    • View Profile
  • Device: Samsung A5 2017
Re: Routing over online/internal BRouter
« Reply #30 on: January 20, 2021, 12:36:27 »

Quote
It makes still sense to provide ETA, if you provide also information, what you can and should expect and the range of applicability. Applying it in extreme circumstances and expecting standard behaviour would be rather an extreme than standard state of mind.
I agree.

Quote
I remember it was also discussed, not sure if implemented, that the "nominal" ETA, calculated at route planning, would be in real time updated by comparison of partial values of nominal versus real time for the passed part of the route. (whole or last x km/minutes ).
Yes, locus adapts the ETA based on the pace held in the previous period and the path still to be covered. But of course this is not the context of the planner.

Quote
E.g. a route has estimated ETA in 100 minutes. After passing the first half ( by expected spent time ), i.e. with the nominal  ETA 50 minutes, you realize you have spent 55 minutes, i.e. 5 minutes more. So for the rest nominal 50 minutes, you should expect rather 50*55/50=55 minutes  as well. Or, it could be evaluated for the last nominal 10 minutes, instead of the whole 50 minutes. So 50*11/10=55 min.
Not necessarily, you have to consider the type of path you have already taken and what remains to be done. If in the first 55 minutes you did the flat part, on easy terrain and then you still have 1000 meters of altitude difference left on a bumpy path? Not everyone is able to make this type of assessment, it takes experience and knowledge of their skills that are lacking in those who rely more on technological tools.
Furthermore, I have not seen the fatigue in the formulas that calculate the ETA. If on journeys within 3 hours it may not even be taken into consideration, beyond a certain threshold is instead decisive. If we take an example similar to yours, a 6-hour ride estimated by the ETA: if after 3 hours and 30 minutes I am halfway (with the same track between the first and the second part) it will not take a total of 7 hours, but maybe 8 due to performance degradation due to fatigue. In addition, the longer the routes are, the easier it is for the difference between real time and ETA to become large, also entailing the risk for those who are out to find themselves still far from their destination and with the sun setting down.

 

Offline poutnikl

  • Master of Locus
  • ****
  • Posts: 680
  • Thanked: 72 times
    • View Profile
    • My Brouter Profiles
  • Device: Xiaomi MI A2 (6G/128G) / A10 / LM3 Pro + LM4 alpha
Re: Routing over online/internal BRouter
« Reply #31 on: January 20, 2021, 13:38:20 »
All the above implies the routing is able to assess the route about correctly, based on available OSM data. E.g. and just illustratively, it takes 3 min/km for one part on an easy road and 20 min/km for other part on a steep woody trail.

I repeat my comment about the extremalities. You do not really expect the planner would consider the muddiness, unless there is tag surface=mud. If you do not evaluate in advance yourself the ETA in extreme conditions would not match, is it yours fault when they do not match and you are surprised.

You would also use different profile configuration for short sportive rides and long trips or expeditions.
Thinking is required. ETA calculation is not magic, it is simple calculation, that can be easily fooled. If one does not count with it, it is his fault.

Offline 413Michele

  • Newbie
  • *
  • Posts: 5
  • Thanked: 2 times
    • View Profile
  • Device: Google Pixel 2 XL
Re: Routing over online/internal BRouter
« Reply #32 on: January 26, 2021, 18:38:25 »
Hello, I have a problem with routing that is apparently present in all the latest versions of LM4.

When using Brouter inner (in both Route Planner and Navigate To) with the car-specific profiles (Fast and Economy), directions are not created and this error appears:
Code: [Select]
Cannot create path-model:java.lang.IllegalAccessException: void btools.router.KinematicModel.<init>() is not accessible from java.lang.Class<o.tl>
I tried to look it up and I possibly found the beginning of the error in https://github.com/abrensch/brouter/blob/b4dd0edd44439a44178d36e7f13643167f24aa1a/brouter-core/src/main/java/btools/router/RoutingContext.java#L97 but I don't know Java, so...

I'm using LM4 on Android 11 in parallel with LM3 Pro, I already tried removing and reinstalling LM4
 
The following users thanked this post: Andrew Heard

Offline Menion

  • Administrator
  • Professor of Locus
  • *****
  • Posts: 12039
  • Thanked: 524 times
    • View Profile
    • http://www.asamm.com
  • Device: Pixel 2
Re: Routing over online/internal BRouter
« Reply #33 on: January 26, 2021, 19:34:00 »
@zossebart
Radim promised that we will add "all" custom profile parameters ... well, I still prefer adding only validated and confirmed parameters. But for a long time, I did not receive any request. Do you miss any?
Dynamic parameters generated from brf files like brouter.de web planner do? I hope, this won't be necessary to be true.

@413Michele
thank you very much for this bug report. I've finally found the reason of this issue a few days ago, so it will be solved in the next Beta version! Btw. good detective skills :)
Ideas, wishes, problems
Advanced topics, public discussion, sharing of knowledges, testing beta versions: you're here!
Support email: locus.map@asamm.com
 
The following users thanked this post: 413Michele

Offline zossebart

  • Apprentice of Locus
  • **
  • Posts: 184
  • Thanked: 29 times
    • View Profile
  • Device: Sony Z1 Compact
Re: Routing over online/internal BRouter
« Reply #34 on: January 27, 2021, 14:00:38 »
Yes, my request is to do it like brouter-web and dynamically parse and display all parameters from brf file.

I don't have a specific request for confirmed parameters, despite maybe the kinematic model parameters (totalMass, Maxspeed etc.), which are brouter-builtin.

All other parameters I would like to use mostly exist in single profiles only and therefor I wouldn't recommend adding them as supported to Locus just because of this one profile.
For example, I created an enduro-motorcycle profile on user-request which has a "non-standard" parameter to switch the avoidance of paths, or I consider adding another parameter to influence uphill routing on paths to my mtb profile etc...). Without support for generic parameters, I would have to generate separate profiles of all permutations of profile parameters like libor does, but it gets confusing and it's not easily switcheable for example in a routeplanner session (if the profile-variants aren't already assigned to the (limited) slots in Locus).

As I wrote before, I think it's ok that the default setting only shows the whitelisted parameters (as is now).
But I would like to have the possibility to enable "full dynamic parameter" mode in expert settings for power-users (which you clearly embrace with locus (intens, url favourites, bt-buttons, dashboards, quick pois, presets...should I go on with the list?  ;) )).
Maybe you could group the whitelisted parameters at the top of the settings dialog and show the other "non-standard" parameters below. Maybe with a caption "additional settings" and in a fainter color?
 
The following users thanked this post: Andrew Heard

Offline poutnikl

  • Master of Locus
  • ****
  • Posts: 680
  • Thanked: 72 times
    • View Profile
    • My Brouter Profiles
  • Device: Xiaomi MI A2 (6G/128G) / A10 / LM3 Pro + LM4 alpha
Re: Routing over online/internal BRouter
« Reply #35 on: January 27, 2021, 14:14:50 »
I don't have a specific request for confirmed parameters, despite maybe the kinematic model parameters (totalMass, Maxspeed etc.), which are brouter-builtin. 

These kinematic model parameters are by their nature personal parameters, supposed to be taylored by  end users. They e.g. help to predict the personally taylored ETA, depending on activity and personal fitness.

It can be done either by interactive way in configuration dialogs, either manually by local edit of profiles.  I would rather vote for the former, especially if - like for online BRouter - local profiles are not used.

Offline SonnyS

  • More than Newbie
  • *
  • Posts: 24
  • Thanked: 2 times
    • View Profile
  • Device: Samsung S5
Re: Routing over online/internal BRouter
« Reply #36 on: January 27, 2021, 14:46:03 »
Yes, my request is to do it like brouter-web and dynamically parse and display all parameters from brf file.

I don't have a specific request for confirmed parameters, despite maybe the kinematic model parameters (totalMass, Maxspeed etc.), which are brouter-builtin.

All other parameters I would like to use mostly exist in single profiles only and therefor I wouldn't recommend adding them as supported to Locus just because of this one profile.
For example, I created an enduro-motorcycle profile on user-request which has a "non-standard" parameter to switch the avoidance of paths, or I consider adding another parameter to influence uphill routing on paths to my mtb profile etc...). Without support for generic parameters, I would have to generate separate profiles of all permutations of profile parameters like libor does, but it gets confusing and it's not easily switcheable for example in a routeplanner session (if the profile-variants aren't already assigned to the (limited) slots in Locus).

As I wrote before, I think it's ok that the default setting only shows the whitelisted parameters (as is now).
But I would like to have the possibility to enable "full dynamic parameter" mode in expert settings for power-users (which you clearly embrace with locus (intens, url favourites, bt-buttons, dashboards, quick pois, presets...should I go on with the list?  ;) )).
Maybe you could group the whitelisted parameters at the top of the settings dialog and show the other "non-standard" parameters below. Maybe with a caption "additional settings" and in a fainter color?
Your Enduro motorcycle profile.
Being as none of the profiles really cater to any kind of off road or unpaved roads for motorcycle that sounds exciting. I'm not very tech savvy so I'm still " navigating " my way through the program and trying to talor it to meet my needs for on road / off road motorcycle riding.
I don't want to end up on MTB trails that are not for motor vehicle use.


Sent from my E6910 using Tapatalk
« Last Edit: January 27, 2021, 14:48:24 by SonnyS »
 

Offline Radim V

  • Global Moderator
  • More than Newbie
  • *****
  • Posts: 12
  • Thanked: 2 times
    • View Profile
Re: Routing over online/internal BRouter
« Reply #37 on: February 24, 2021, 11:29:45 »
Hi all,
we have updated the set of routing profiles available here:
https://github.com/asamm/brouter/tree/asamm/locus-routing-profiles
Profiles are of course credited inside.
Now we want to ask for some feedback again: More specifically, In landscape (both flat and mountains) you are familiar with:
-Is the MTB profile in your opinion: Too easy, too hard, or just about right and safe for an average biker?
-There will be not much distinction between walking and hiking in flat landscape but  there should be some distinction in well mapped mountain areas. Do the results suit their activities?
-road cycling: roads too busy?
-any reason you would not use a particular profile for intended activity?
You can try them here:
https://web.locusmap.app/en/
And of course using brouter-web directly.
Thanks!
 
The following users thanked this post: tapio

Offline tapio

  • Padavan of Locus
  • ***
  • Posts: 457
  • Thanked: 75 times
    • View Profile
Re: Routing over online/internal BRouter
« Reply #38 on: March 03, 2021, 09:59:49 »
Can the internal profiles be accessed from file system side? Didn't find them. Just curious.
 

Offline Radim V

  • Global Moderator
  • More than Newbie
  • *****
  • Posts: 12
  • Thanked: 2 times
    • View Profile
Re: Routing over online/internal BRouter
« Reply #39 on: March 03, 2021, 10:36:23 »
Can the internal profiles be accessed from file system side? Didn't find them. Just curious.
No, internal profiles are hidden from user. Anyway we keep them in sync with above mentioned public repository. You can modify those publicly available profiles to your liking and place them in Locus/router/profiles2. Then in advanced settings the app recognizes them.
 
The following users thanked this post: tapio

Offline poutnikl

  • Master of Locus
  • ****
  • Posts: 680
  • Thanked: 72 times
    • View Profile
    • My Brouter Profiles
  • Device: Xiaomi MI A2 (6G/128G) / A10 / LM3 Pro + LM4 alpha
Re: Routing over online/internal BRouter
« Reply #40 on: March 03, 2021, 12:19:53 »
I think it would be good if the LoProfile modification has been explicitly listed in the profile comments.

It will help with eventual coordinated development of the profile/template, not to be just a one-time action. E.g. I can include generation of explicit Loxxxx profile into my profile generation script, that creates on demand all profiles from the current  template.

This is not limited to my profiles, as the script can take and modify any profile posted on GitHub.

Or, you can create a modified script version to generate LoProfiles from the current versions of the sources, unless you do not have it already.

Offline Radim V

  • Global Moderator
  • More than Newbie
  • *****
  • Posts: 12
  • Thanked: 2 times
    • View Profile
Re: Routing over online/internal BRouter
« Reply #41 on: March 04, 2021, 11:15:49 »
I think it would be good if the LoProfile modification has been explicitly listed in the profile comments.

It will help with eventual coordinated development of the profile/template, not to be just a one-time action. E.g. I can include generation of explicit Loxxxx profile into my profile generation script, that creates on demand all profiles from the current  template.

This is not limited to my profiles, as the script can take and modify any profile posted on GitHub.

Or, you can create a modified script version to generate LoProfiles from the current versions of the sources, unless you do not have it already.

Modifications: I will keep manual comments at the bottom of the files, that is an easy think to do, but we also encourage the usage of Git.(Tools like gitk do much better job in history bookkeeping than manual comments). Also changes via pull requests are encouraged. Currently all profiles include some minor changes (lifecycle tags awareness, turning instructions mode...), some of them are "hidden behind" the initial commit, sadly.
Generating profile variants from a template: Thanks, I wasn't aware of this script really. However we don't need to generate multiple files implementing ranges like "very easy - easy - medium - hard - very hard". What is going to happen more likely is: a single parameter ("difficulty level"), modifies a single profile (a temp. copy) in the time of request - some form of "request interceptor" inside brouter servlets. Multiple switch statements in this single profile can be seen as "difficulty presets", depending on a single variable, modified runtime. However your tool may be useful while generating those "presets". Hope this makes sense.       
 

Offline poutnikl

  • Master of Locus
  • ****
  • Posts: 680
  • Thanked: 72 times
    • View Profile
    • My Brouter Profiles
  • Device: Xiaomi MI A2 (6G/128G) / A10 / LM3 Pro + LM4 alpha
Re: Routing over online/internal BRouter
« Reply #42 on: March 04, 2021, 14:20:51 »
Hmm, I use git, gitk and git gui, on Window and Linux. And git also on Android/termux, manually or within the profile generation script.  But gitk is IMHO much better in the job of reviewing history of file versions within the same repository. Keeping track on changes and current code of locus versus  original profile is less handy and in git context  knowledge challenging, in my case at least.

The script was not meant in LoProfile context to be used for many variants. Rather as eventual  handy script-based alternative to "git rebase", which advanced usage is still a nightmare for me. So I am unsure about optimal approach. For now, I feel I may will leave it on you, in case you will want some occational profile refresh.

P.S.: It may be better if LoProfiles based on my profiles were based directly on profile templates and not on final profiles, as any development is done there . See the respective template master and develop branches.

Bicycle profile repository and template  //   Hiking profile repository and template