BRouter car-mode truly hates unpaved roads
Hi. I've been using BRouter with Locus for years, generally no problems. However...
The car-mode profiles, even the "Short' versions, both Locus- and BRouter versions, seem to assign a very high penalty to unpaved roads. In the first attached picture, the obvious "correct" route is the one shown in orange, which is highway=secondary, surface=unpaved in the OSM data as of today. (Here in rural Canada, many roads are unpaved.)
In the second screenshot, the routing is clearly wrong for "short", and might even be considered wrong for "fast". (Unclassfied unpaved vs secondary)
It behaves this way in the BRouter web client as well, all four alternatives, first example. Some of those alternatives go even farther afield, just to avoid that unpaved section.
I've learned to switch to cycle routing (even though I'm driving), which does work as expected (until I meet a trail).
Shouldn't a car-short profile put only a small penalty on "unpaved"? Asking for "short" would imply that I can accept unpaved.
Thank you. :)
Hello Viajero,
A little late answer, sorry. I'm not perfectly skilled with the editing of Brouter config files, this is more a task to Libor Poutník, whose profiles are used in the app. Anyway, in the case of "Short" routing, do you have unchecked the "Avoid unpaved" option?
From my point of view, the current behavior is correct for common car driving. For some 4x4 or drivers that do not worry about their cars, it of course may be useful to use also unpaved roads.
Menion
Hello Viajero,
A little late answer, sorry. I'm not perfectly skilled with the editing of Brouter config files, this is more a task to Libor Poutník, whose profiles are used in the app. Anyway, in the case of "Short" routing, do you have unchecked the "Avoid unpaved" option?
From my point of view, the current behavior is correct for common car driving. For some 4x4 or drivers that do not worry about their cars, it of course may be useful to use also unpaved roads.
Menion
Hi Menion.
I do have "Avoid unpaved" un-selected when using Locus profiles. But as I'd mentioned, the BRouter web client acts this way as well.
Maybe European unpaved roads are truly rough. Here in Canada, we have many unpaved country roads where a speed of 80 km/h is both legal and comfortable.
So my suggestion, the next time you (Libor?) are looking at the profiles, perhaps the "Short" profile could be given a smaller penalty for unpaved roads. Otherwise, I see no difference between Short and Fast...
Not urgent, but thanks for looking at it.
Hi Menion.
I do have "Avoid unpaved" un-selected when using Locus profiles. But as I'd mentioned, the BRouter web client acts this way as well.
Maybe European unpaved roads are truly rough. Here in Canada, we have many unpaved country roads where a speed of 80 km/h is both legal and comfortable.
So my suggestion, the next time you (Libor?) are looking at the profiles, perhaps the "Short" profile could be given a smaller penalty for unpaved roads. Otherwise, I see no difference between Short and Fast...
Not urgent, but thanks for looking at it.
Since Arndt ( BRouter developer ) introduced his new car profiles based on a kinematic model, I consider my car profiles ( currently integrated in Locus ) as obsolete and do not develop them any more ), encouraging usage of the original BRouter car profiles.
Note that for historical reasons, interaction of applications with BRouter us done via navigation modes. car/bicycle/foot fast/short, that are mapped on the actual BRouter routing profile.
If you look at the current list of the original BRouter profiles http://brouter.de/brouter/profiles2/
you can see there is no car-short, but the major car profiles are car-fast and car-eco.
In fact, car-short makes little sense, as short route may lead to very horrible and slow routes.
There is a problem with profiles, or with any routing algorithm, if it is used globally, for very different locally specific circumstances, regarding quality and usability of roads.
Routing algorithms have no idea that even if Europeans avoid driving unpaved roads, Canadians and Africans drive them all the time.
To improve situation, there are several levels for it
1/ Extra profiles or switches for unpaved driving
2/ OSM mapping of unpaved roads to give "driveable" hints, like surface= and smoothness= and tracktype=
3/ Better distinguishing of unpaved road quality for car profiles.
But this should be rather addressed to Arndt, the best ať BRouter Google group,
usually accessed via maillist osm-android-bikerouting@googlegroups.com, or via PM on forum.locusmap.eu
Since Arndt ( BRouter developer ) introduced his new car profiles based on a kinematic model, I consider my car profiles ( currently integrated in Locus ) as obsolete and do not develop them any more ), encouraging usage of the original BRouter car profiles.
Note that for historical reasons, interaction of applications with BRouter us done via navigation modes. car/bicycle/foot fast/short, that are mapped on the actual BRouter routing profile.
If you look at the current list of the original BRouter profiles http://brouter.de/brouter/profiles2/
you can see there is no car-short, but the major car profiles are car-fast and car-eco.
In fact, car-short makes little sense, as short route may lead to very horrible and slow routes.
There is a problem with profiles, or with any routing algorithm, if it is used globally, for very different locally specific circumstances, regarding quality and usability of roads.
Routing algorithms have no idea that even if Europeans avoid driving unpaved roads, Canadians and Africans drive them all the time.
To improve situation, there are several levels for it
1/ Extra profiles or switches for unpaved driving
2/ OSM mapping of unpaved roads to give "driveable" hints, like surface= and smoothness= and tracktype=
3/ Better distinguishing of unpaved road quality for car profiles.
But this should be rather addressed to Arndt, the best ať BRouter Google group,
usually accessed via maillist osm-android-bikerouting@googlegroups.com, or via PM on forum.locusmap.eu
Thanks Libor for the very precise answer and explanation!
Menion
Thanks Libor for the very precise answer and explanation!
Menion
Yes, thanks for the explanation.
Sometimes it's easier to just fix something than memorize another forum password.
In brouter/profiles2/car-eco.brf, paragraph that begins "assign maxspeed_surface", change "switch avoid_unpaved 1 2" to "switch avoid_unpaved 30 60"
This seems like a bug. Max speed 1 km/h if avoiding unpaved, 2 km/h otherwise?!? I can walk faster than that!
And I never knew I should avoid the Locus profiles in favour of the BRouter ones. (But now I'll use the BRouter ones, because I've fixed my copy.)
Thanks again.
Yes, thanks for the explanation.
Sometimes it's easier to just fix something than memorize another forum password.
In brouter/profiles2/car-eco.brf, paragraph that begins "assign maxspeed_surface", change "switch avoid_unpaved 1 2" to "switch avoid_unpaved 30 60"
This seems like a bug. Max speed 1 km/h if avoiding unpaved, 2 km/h otherwise?!? I can walk faster than that!
And I never knew I should avoid the Locus profiles in favour of the BRouter ones. (But now I'll use the BRouter ones, because I've fixed my copy.)
Thanks again.
I remember pointing out to Arndt the need of unpaved driving, and that his values are too low.
I remember pointing out to Arndt the need of unpaved driving, and that his values are too low.
Interesting: my tweaks fix the problem in the web client (http://brouter.de/brouter-web), but I can't get Locus to pick up my edited version in my phone. When I instead press the big Fast button, hit Settings, and with BRouter profiles set (slider to the left), I see the greyed-out name "Car-FastEco" as the profile to be used. No file containing "FastEco" exists at either http://brouter.de/brouter/profiles2/ nor in my phone anywhere. It's the name of a Locus profile.
Meaning: Locus seems to be using internal (and well-hidden?) profiles even when BRouter profiles are chosen. Which if true, means I can't fix this myself.
PS, enhancing it a bit, this seems logical and works well for me on the web client:
assign maxspeed_surface =
switch or surface= surface=paved|asphalt|concrete 999
switch surface=paving_stones|cobblestone|sett 30
switch surface=gravel ( switch avoid_unpaved 50 80 )
switch surface=fine_gravel ( switch avoid_unpaved 60 80 )
switch avoid_unpaved 30 60
Interesting: my tweaks fix the problem in the web client (http://brouter.de/brouter-web), but I can't get Locus to pick up my edited version in my phone. When I instead press the big Fast button, hit Settings, and with BRouter profiles set (slider to the left), I see the greyed-out name "Car-FastEco" as the profile to be used. No file containing "FastEco" exists at either http://brouter.de/brouter/profiles2/ nor in my phone anywhere. It's the name of a Locus profile.
Meaning: Locus seems to be using internal (and well-hidden?) profiles even when BRouter profiles are chosen. Which if true, means I can't fix this myself.
PS, enhancing it a bit, this seems logical and works well for me on the web client:
assign maxspeed_surface =
switch or surface= surface=paved|asphalt|concrete 999
switch surface=paving_stones|cobblestone|sett 30
switch surface=gravel ( switch avoid_unpaved 50 80 )
switch surface=fine_gravel ( switch avoid_unpaved 60 80 )
switch avoid_unpaved 30 60
Car-FastEco is not the original BRouter profike, but one of my car profiles, integrated to Locus.
I use in Locus the locally stored profiles ( dozens in the local BRouter/profiles2 folder ) all the time.
Car-FastEco is not the original BRouter profike, but one of my car profiles, integrated to Locus.
I use in Locus the locally stored profiles ( dozens in the local BRouter/profiles2 folder ) all the time.
Right. Locus appears to be using your profile (internal to Locus), even though I've asked it to use the BRouter profiles instead. Unless I misunderstand things, this seems to be a bug.
Right. Locus appears to be using your profile (internal to Locus), even though I've asked it to use the BRouter profiles instead. Unless I misunderstand things, this seems to be a bug.
Note that Europeans are not used much to unpaved roads unless for the "first/last mile" and definitely not used to driving 80 km/s on them. Rather 20-40 km/h if they are very good or 5-15 km/h if not so good. I remember some unpaved ways in Norway able to sustain 80, but doing the same in most such roads in Uganda would kill you for sure.
Note that Europeans are not used much to unpaved roads unless for the "first/last mile" and definitely not used to driving 80 km/s on them. Rather 20-40 km/h if they are very good or 5-15 km/h if not so good. I remember some unpaved ways in Norway able to sustain 80, but doing the same in most such roads in Uganda would kill you for sure.
Replies have been locked on this page!