Routing over online/internal BRouter

Started by Menion, January 08, 2021, 15:08:43

0 Members and 1 Guest are viewing this topic.

poutnikl

#30
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.

413Michele

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

Menion

@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 :)
- Official help (ideas, questions, problems): help.locusmap.eu
- Advanced topics, sharing of knowledges: you're here!
- LM 4 Beta download, LM 4 Release download
  •  
    The following users thanked this post: 413Michele

zossebart

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?

poutnikl

#34
Quote from: zossebart on January 27, 2021, 14:00:38
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.

SonnyS

#35
Quote from: zossebart 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?
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
  •  

Radim V

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

Tapio

Can the internal profiles be accessed from file system side? Didn't find them. Just curious.
Tapiola MFV4+ theme for OAM Maps:
Discuss - Releases - DL latest - Install latest
  •  

Radim V

Quote from: tapio on March 03, 2021, 09:59:49
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

poutnikl

#39
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.

Radim V

Quote from: poutnikl 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.

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.       
  •  

poutnikl

#41
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



PawelS

So ,,fully integrated BRouter based solution" doesn't have alternative routes. Do you have any plans for this?
  •  

abrensch

Hi,

I got the "Gold Abo" and did some tests with the new Routing System.

cool stuff, but.....

so here's my list of issues where I think it's not yet golden but a little rusty:


  • I had a hard time to initially set-up Locus to use the external SD card. Found the panel to switch standard directories. "router" missing in the list of detail directories. Switching the global Locus directory to the SD-card worked. But afterwards my first attempts to download routing data files failed with only a generic error message ("operation not successfull"). Very annoying. After copying an initial rd5-file to the {ext-Sd}.../router/segments4 directory subsuquent downloads were successful. No idea...
-
  • "fast recalculations" do not work. With more then 50km routed distance ahead, automatic recalculations are just not usable.
-
  • There's no way to stop a (long-)running route calculations. Don't know if there's a timeout. But with the routing library integrated my expectation was that there's an explicit "stop current route calcilation" funtionality, for the navigation mode as well as for the route-planner. Currently, the only way to stop a long-running operation is to restart Locus Maps
-
  • The online LoRouter does not recognize nogo-areas. Excpectation is that online/offline behave similar. At least for the functionality that is offered to the user, like nogo-areas. For profile modifiers ("is-wet", ..) they are not offererd in online mode, which is good, but gold-standard would be to have them working in online-mode as well.
-
  • I'm not completely sure if the current heading is considered in recalculations. I did some tests but did not found positive proof that it is. Expectation is that it works in favor of going straight ahaed and using the next junction, instaed if doing a u-turn

Don't get that wrong. Great work overall and I would like to switch to the integrated offline-router for my personal use. But missing "fast-recalcluations" is a showstopper for me. I would be happy to help get that working.

regards, Arndt

SonnyS

In choosing routing profiles there are options to " avoid unpaved roads ".
Is there a particular profile that would be best used if you " prefer unpaved roads " ?

Thanks

Sent from my E6910 using Tapatalk

  •