Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add new fastbike profile for very low traffic #182

Open
EssBee59 opened this issue Aug 20, 2019 · 35 comments
Open

Add new fastbike profile for very low traffic #182

EssBee59 opened this issue Aug 20, 2019 · 35 comments
Labels

Comments

@EssBee59
Copy link
Collaborator

Hello Abrensch,
My subject is allreay addressed with issue 232.
The response of Norbert suggested to create a new issue for you…

To share my custom profile, I have to wait on the new features planed by Norbert…. Or you agree to put my profile in the standard profiles:

Why did I create a new profile ?
I am biking (using a fastbike) in Hessen (by Francfort). But especially in the middle of the week a very high traffic of cars and trucs is a real problem and dangerous when you are alone.
(groups of bikers at weekends have less problems and can use the 2 existing fastbike profiles)

That for, I created in the last monthes a „fastbike-verylowtraffic“, of course based on the existing profiles.
More information on the profiles (goal and features) is contained in the header of the brf profile "fastbike-verylowstraffic" I sent you per mail 2 days ago.

To check my profile and compare it as exemple with „fastbike-lowtraffic », here on one of my prefered route :
http://brouter.de/brouter-web/#map=11/49.9579/8.5745/OpenStreetMap&lonlats=8.354535,49.86674|8.672104,50.020824

Of course you can change the new name of the profile or insert « beta » in it
Regards
Ess Bee

@abrensch
Copy link
Owner

Hi Ess Bee,

sorry missed your email but found it now.

we don't have any defined process for the evolution of the "official" profile list, but as far as I understand your problem is not about getting some sort of "approval", but just the technical means for sharing with others.

I remember that we (=Norbert+me) agreed on establishing "shared" profiles that behave like custom-profiles (=can be changed via brouter-web) but are not deleted by the cleaning job and can be permalinked.

I will habe a fresh thought the next days and com back here

regards, Arndts

PS: did some tests with your profile. Elevation penalty switched off by intention? That's really a way to avoid traffic, because traffic is in the valleys.. Found some artefacts that that originate from prefering "service" over "residential" together with the low turncost. Such "service loops" will not really make your trip faster.

@EssBee59
Copy link
Collaborator Author

Hello Abrensch,
I think, you understand my request, any solution is welcome!
Elevation penalty switched off: My fastbike community "like" elevation, we often start trainings in the Odenwald as preparation to tours in the Alpes (Iseran/Galibier last year, Izoard next week!). That for, switch if OFF by default!
Your second remark: There is no real intention to prefer service to residential: Only the thought, the tag "surface" should be checked by "service" (resulting in Surfacepenalty). Highway Residential.have generally a good surface (==>basis costfactor light higher as service, but no surfacepenalty).
Any further remark on the profile is welcome!
Regards

@nrenner
Copy link
Contributor

nrenner commented Aug 21, 2019

see also nrenner/brouter-web#232

@abrensch I plan to implement profile sharing as my next main task. We already added b154851 to configure and read from a shared folder. What is still missing is uploading/moving a profile to the shared folder and client-side handling, probably using a "share" button.

@EssBee59
Copy link
Collaborator Author

EssBee59 commented Aug 30, 2019 via email

@Phyks
Copy link
Contributor

Phyks commented Aug 30, 2019

@EssBee59 I think your comment on Github is missing some data (probably attached to your email but not taken into account by Github?)

@EssBee59
Copy link
Collaborator Author

EssBee59 commented Sep 2, 2019

Hello,
the above notification about "elevation" do not belong to this thread, I will open a new issue for that
Regards

@nrenner
Copy link
Contributor

nrenner commented May 22, 2020

We got a request to Add "fastbike-verylowtraffic.brf" to profile selection · #293 · nrenner/brouter-web:

Since the profile can be loaded into the editor via &profile=fastbike-verylowtraffic in the URL, I assume the underlying BRouter has the config available.

I didn't notice this profile is already in the repo: fastbike-verylowtraffic.brf.

Looks like it got added in PR #189 (comment) along with lots of other stuff for some reason.

Although there wasn't an intention here to add more profiles and some remarks from above were not addressed?

PS: did some tests with your profile. Elevation penalty switched off by intention? That's really a way to avoid traffic, because traffic is in the valleys.. Found some artefacts that that originate from prefering "service" over "residential" together with the low turncost. Such "service loops" will not really make your trip faster.

@EssBee59
Copy link
Collaborator Author

Hi nrenner,
As I was not really satisfied with the profiles "fastbike" and "fastbike-lowtraffic" I developped my own "fastbike-verylowtraffic".
(see comments in the profile itself)
My intentention was to share this profile with my biker friends... (because I deliver workshops in
Francfort and in my biker communities)
Abrench installed on his server kindly last year a separate brouter-web instance for that...
(http://brouter.de/essbee/#map=11/49.9576/8.5752/standard&profile=fastbike-verylowtraffic)
Thank very much ti him!!!
But the instance has on old release, and needs some maintenance (profile names etc...)
So, it would be easier to take my profile in the standards if you & abrench agree?

I have direct contacts with abrench, but not in the last pandemie weeks...
regards
Ess bee

@hutec
Copy link

hutec commented May 23, 2020

Ah, this explains, why I was able to load fastbike-verylowtraffic (Version 11.05.2020) also in the normal BRouter-Web instance. Both instances (brouter.de/essbe and brouter.de/brouter-web) load the profile from http://brouter.de/brouter/profiles2/fastbike-verylowtraffic.brf.

If the usage of loading the profile from the URL (&profile=fastbike-verylowtraffic) is fine, then I'm also satisfied with the current situation.


Anyway, it would be great if @EssBee59 could open a repository for the fastbike-verylowtraffic profile.

@EssBee59
Copy link
Collaborator Author

Hello Hutec,
Yes, you can use the following URL:
http://brouter.de/brouter-web/#map=11/49.9579/8.5745/OpenStreetMap&profile=fastbike-verylowtraffic
but, if you give a start and an end point, the first routing fails with "error 404"...
A workarroud is to click on "profile" & "Load"... tafter that it works fine
This is due to a minor bug in the brouter-web (I think I can propose a solution to solve this).

Repository: I have no experience with, this, could you help me or send documentation "hwo to"...

Regards
Ess Bee

@schdrag
Copy link

schdrag commented Jul 20, 2020

Tested your profile fastbike-verylowtraffic.brf. Thanks a lot! I did the routing from Pieterlen (Kanton Bern) to Wynigen (Kanton Bern). The original Profile shows a routing, which really avoids traffic, however the 1st alternative produces a routing, which involves heavy traffic (the Kanton-street from Grenchen to Solothurn e.g.) allthough there are small ways just beside without heavy traffic.
http://brouter.de/essbee/#map=13/47.1638/7.5645/standard&lonlats=7.334902,47.16892;7.668105,47.10719&profile=fastbike-verylowtraffic

2nd and 3rd alternative is quite ok

But even with "Original", there are unnecessary heavy traffic roads involved (from Lengnau to Arch), there are small paved streets just beside.
compared to fast bike low traffic (Original) the elevation difference is considerable. not the traffic density differece (between Arch and Utzenstorf)

@EssBee59
Copy link
Collaborator Author

Hello Schdrag,

Thank for your message!
A good thing, the original routing is ok!!!!
About elevation:
The original profile DO NOT CONSIDER elevation (because we like training for tours in the montains)
You can of course change this default value using the profile-tab (assign consider_elevation = false TO true and upload!!!)

About 1st alternative (that I never tested or used):
The primary road has most of the time a "lane" or a "cycletrack"
examples: (see "data" tab)

454 143 1350 0 0 0 0 highway=primary surface=asphalt maxspeed=50 cycleway=lane  
448 938 1350 0 0 0 0 highway=primary cycleway=lane estimated_traffic_class=5
....
442 152 1350 0 0 0 0 highway=primary maxspeed=50 cycleway=track estimated_traffic_class=3 highway=crossing
-- -- -- -- -- -- -- -- --
445 209 1350 0 0 0 0 highway=primary maxspeed=50 cycleway=track estimated_traffic_class=3 highway=crossing
446 51 1350 0 0 0 0 highway=primary maxspeed=50 cycleway=track estimated_traffic_class=3

I agree, biking on lanes or tracks parallel to a high traffic road is not my dream, but the danger for bikers is minimized, compared to a road without special ways for bikers ...
The profile in case of a lane/track do not consider the traffic or the max_speed.
regards

@schdrag
Copy link

schdrag commented Jul 20, 2020

Thanks a lot for explaining the details!

1st alternative fast bike very low traffic (vbvlt)
"I agree, biking on lanes or tracks parallel to a high traffic road is not my dream" that's not what I mean: your fbvlt profile uses the Kanton street Grenchen - Solothurn (the lane for agricultural machines and bicycles) . However there are several small roads, which should be used, e.g. one road some hundred meters to the south from Grenchen to Solothurn (ok, for about 300m it's not paved, but one could take a small road some meters to the north of the Kantonstrasse from Selzach to Solothurn-Bellach or Solothurn-Allmend).
Therefore

  • avoid segments with maxspeed > 50 kmh (reduce the risk)
  • avoid segments with high-traffic
    is not respected
    From Pieterlen to Grenchen the routing does an excellent job: very small roads with very low traffic. If you want I can attach screenshots of brouter web along with your profile compared to the fast bike low traffic 1st alternative profile for the route Grenchen-Solothurn.

Original fbvlt:
from Lengnau to Arch heavy traffic roads are involved, which sometimes do not even have a track. It's the road to the motorway... There are several alternatives: small paved streets, which should be prefered (apart from Grenchen-Airport to Arch because of the bridge over the river Aare.
Again:

  • avoid segments with maxspeed > 50 kmh (reduce the risk)
  • avoid segments with high-traffic
    is not respected

Locus map pro produces an error message using fbvlt (fast bike very low traffic): ... profiles2/fastbike-verylowtraffic.brf does not contain expressions for context way (old version?). I'm using brouter 1.6.1 (zip from the brouter web page) and locus map pro (most recent version 3.37.2)

Edit: I use https://github.com/abrensch/brouter/blob/master/misc/profiles2/fastbike-verylowtraffic.brf

@EssBee59
Copy link
Collaborator Author

Helo schdrag,

I understand every point, every biker have own preferences... BUT the flexibility of the brouter is the best answer to that!

I will further check these points, but remember, highways with associated cycleways offer possibly more security to bikers as highways with lower traffic but without cycleways....

Anyway, you can change easilly the profile: (see section in profile and add the 2 NEW lines as below)
assign sum_cyclewaypenalty
add cycleway_surfacepenalty
add cycleway_smoothnesspenalty
add multiply trafficpenalty 0.3 # <===== your choice to set the penalty compared to highway without cycleway
add multiply maxspeedpenalty 0.3 # <===== your choice to set the penalty compared to highway without cycleway
add usesidepathpenalty
add nocycleroute_penalty
add not_bicycle_designatedpenalty
switch any_cycleway 0 # 0 if cycleway exists
10000 # no cycleway

The error with "locusmaps": did you installed the last "lookup.dat" ?
It is in the same directory as the profiles (https://github.com/abrensch/brouter/tree/master/misc/profiles2) and should be copied into the brouter-app ...
Regards,

@schdrag
Copy link

schdrag commented Jul 21, 2020

"highways with associated cycleways offer possibly more security to bikers as highways with lower traffic but without cycleways...."
I agree, however, from Lengau to Arch it's about very small streets with hardly any traffic vs. highway without cycleway.
Your profile should prioritize small streets without traffic (which does not happen).

Grenchen - Solothurn:
It's about narrow streets with hardly any traffic vs. highway with cycleway.
Again, our profile should prioritize small streets with hardly any traffic. Is it because it's as well (mostly) the official bicycle way from Grenchen to Solothurn?

I will change the profile and come back to you. Highway with/without cycleway: I would like to avoid streets with a lot of traffic (usually highways), compared to (narrow) streets nearly without traffic). So I would like to give a severe penalty for traffic but I would like to avoid unnecessary elevations all in all.

" the error with locusmap: I installed lookup.dat again (from 1.6.1 zip) and I downloaded your profile from Github now displaying it first as "raw" and then I saved it. It works now (hint from zossebart here https://forum.locusmap.eu/index.php?topic=6723.0

@EssBee59
Copy link
Collaborator Author

As explained, on the "highway=primary" Grenchen - Solothurn a cycleway=lane or cycleway=track is defined in the OSM map.

If you do not like to use such lanes/track, you have to enhance the corresponding cost....
I added yesterday a new option in the profile:
assign cycleway_lane_penalty = 0 # %cycleway_lane_penalty% | 0 => no cost, 1 => same cost as highway itself: example 0.3 | number

Changing the default value (0) to 0.3 or higher will change the routing and avoid the primary with lanes/tracks.
(side-effects are possible, I just tested the segment above)

The current name of the option (cycleway_lane_penalty) could better explain the change: can you propose an other name?
Regards

@schdrag
Copy link

schdrag commented Jul 21, 2020

Hi Serge
It seems to me a very good solution. to assign numbers between 0 and 1. What about cycle_lane_trafficway_penalty or cycle_lane_penalty? Actually Kantonsstrasse in Switzerland is something like "Bundesstrasse" in Germany. In Switzerland there are a lot of pretty narrow streets with high-traffic unfortunately... I also prefer a cycle-lane beside a trafficway than no lane...
Thanks a million for your work!
Did you have a look at the profiles "streetbike-touring" "fastbike-longdistance"? I'm not that great in analyzing the code at all, but it might be interesting to you. It's not supposed to be a hidden criticism.

Best regards Herbert

@schdrag
Copy link

schdrag commented Jul 22, 2020

Hi there

Edit: just seen, that you have added the switch to http://brouter.de/brouter-web/#map=11/49.9579/8.5745/OpenStreetMap&profile=fastbike-verylowtraffic. Thanks a lot! The file on the abrensch page is still the old one.

Edit:
http://brouter.de/brouter-web/#map=15/47.2116/7.4799/standard&lonlats=7.36659,47.179563;7.536621,47.207203

just tested with penalty 0.5: works fine! How can I allow gravel distances? There is a 300m gravel route between (Selzach-Bellach), which is accepted along with trekking-ignore-cr, but your profile avoids it. And your profile does not guide on the paved path just on the righthand side of the railway line from Grenchen to Selzach (no traffic, but fast). Or is it caused by the OSM raw data?

http://brouter.de/brouter-web/#map=15/47.2116/7.5052/standard&lonlats=7.36659,47.179563;7.536621,47.207203&profile=trekking-ignore-cr

@EssBee59
Copy link
Collaborator Author

Hello Schdrad,
I am a bit confused with your last comment:
fastbike-verylowtraffic is intended for bikers using a fastbike (=vélo de course), not for bikers using trekking bikes!
Anyway, the profile "tolerates" short segments with gravel or better with "fine-gravel" or the best case with "fine-gravel" AND "smoothness=good or excelent":
The decision is made as for routing in general by defining a cost for each meter of a "highway", in this case see the "surfacepenalty" to understand (or change) how this cost is calculated...
(At the end the route with the lowest cost in sum wins!!!)

Your comment "The file on the abrensch page is still the old one": what do you mean here, only know a file position?

kindly

@EssBee59
Copy link
Collaborator Author

With "abrensch" page you means probably
http://brouter.de/essbee/#map=11/49.9576/8.5752/standard&profile=fastbike-verylowtraffic ?
As it is using the same profile as the page
http://brouter.de/brouter-web/#map=11/49.9579/8.5745/OpenStreetMap&profile=fastbike-verylowtraffic
you should see the same profile! (clear the browser caches if not)

Note:
the "essbee" page is still using an old "brouter-web" release, the "brouter-web" page is using the last version 0.12.0 which have more features: as example, the "profile" tab has 2 windows, in the new window you can easily change the options..
and a new "statistics" tab is supported...

But till now a minor issue exists: after loading the "brouter-web" page with "&profile=fastbike-verylowtraffic" as Parameter in the URL, you have to "upload" the profile before the first routing..
(I will try to update the essbee page to 0.12.0 or to get the fastbike-verylowtraffic profile in the standard list of brouter-web)

@schdrag
Copy link

schdrag commented Jul 22, 2020

Ok, then I wait for the 0.12.0 page. Thanks a lot for the cache hint. I have deleted the code via "delete" in the section personlized profile (after the mark-up), then I select another profile and then I press apply.

"Highway Residential.have generally a good surface"
@abrensch wrote:
"That's really a way to avoid traffic, because traffic is in the valleys.. Found some artefacts that that originate from prefering "service" over "residential" together with the low turncost. Such "service loops" will not really make your trip faster.

Instead of

  • good surface
  • penaly for valleys
    isn't there any direct raw data for traffic (like cars per hour...)? Apart from the category of streets (which does not allways correspond to the level of traffic)? Is there only "avoid_unsafe?"

"Your comment "The file on the abrensch page is still the old one": what do you mean here, only know a file position?"
It was a missunderstanding: guessed you would add the cyclewaypenalty thing to the code. What place do I have to add this code exactly to?

@Wizit38
Copy link

Wizit38 commented Oct 9, 2021

Hi EssBee59
Firstly, thank you so much for this profile. It almost fits my needs to a T.

I tested on a few routes but ran into a snag on the route
Cheng San community Club (singapore) to Tuas Lamp post 1 (Singapore)
The profile routes through the botanical gardens via a footpath (Highway/footway: 173623395). Although, Singapore generally allows bicycles on footpaths, it is forbidden to cycle within the botanical gardens. (Even pushing a bike through it is frowned upon but not expressly forbidden.

How can I change your profile to prevent this?

PS: I have tried setting avoid_path to 1 but it just routes to a different footpath within Botanical Gardens (so still forbidden)

@EssBee59
Copy link
Collaborator Author

EssBee59 commented Oct 9, 2021

Although, Singapore generally allows bicycles on footpaths, it is forbidden to cycle within the botanical gardens.

Hello wizit38,
a simple solution is to improve the OSM map by adding "bicyle=no" in the tags of 173623395 (and all the footway concerned)

regards
Ess Bee

@poutnikl
Copy link
Contributor

poutnikl commented Oct 9, 2021

.....as it is generally bad idea to tweak routing algorithms to fix incorrect or incomplete mapping, instead of fixing the mapping itself.

@Wizit38
Copy link

Wizit38 commented Oct 9, 2021

Although, Singapore generally allows bicycles on footpaths, it is forbidden to cycle within the botanical gardens.

Hello wizit38, a simple solution is to improve the OSM map by adding "bicyle=no" in the tags of 173623395 (and all the footway concerned)

regards Ess Bee

Ok. I will do that
Thanks

@Wizit38
Copy link

Wizit38 commented Oct 11, 2021

Hi Ess Bee
On the same route that I mentioned, the route asks me to cross to the other side of Ang Mo Kio Ave 6 in order to take the PCN. But when I was reading your notes in the profile, it seems to imply that this should not happen. I attached the code segment.

when "cycleway" only on 1 side of the road, use it only if it is on the right side in the direction of travel!

assign cycleway_right if reversedirection=yes
then if cycleway:left=track|lane|shared_lane then 1 else 0
else if cycleway:right=track|lane|shared_lane then 1 else 0

Any idea why the route crosses to the other side of the road to take the PCN?

PS: Sorry about the text in bold. Seems it considers the comment designator as bold

@EssBee59
Copy link
Collaborator Author

EssBee59 commented Oct 11, 2021

Hello,
I did not found the route you are using, can you provide start / end points?
My comment in the profile is possibly confusing...
The "cycleway" in that case is a LANE on the left or right side of a highway ... (cycleway:left=track|lane|shared_lane )
If a cycleway is defined in OSM as a separated highway (parallel to the highway for cars or so), the condition do not apply!
regards

@Wizit38
Copy link

Wizit38 commented Oct 11, 2021

Hi
The start point is Cheng San community club (Singapore)
The end point is Tuas lamp post 1 (Singapore)

Ang Mo Kio Avenue 6 is defined by OSM as highway:primary
The Ang Mo Kio park connector is defined as highway:cycleway (access:no, segregated:no, surface:asphalt). Does this mean that it is a separated highway?

@poutnikl
Copy link
Contributor

highway=cycleway is the formally independent way with cycleway status.

highway=* + cycleway[:left|: right]=yes|lane|track|* is formally the feature of the main OSM highway.

The former mapping is typically used for physically independent cycleways that may join other highways, going along.

The latter mapping is typically used for cycleways more or less integrated with main highways, usually in urban area.

@Wizit38
Copy link

Wizit38 commented Oct 12, 2021

If a cycle lane is shared with pedestrians (next to pavement) and runs parallel to the road, should it be defined as the former or the latter. (I'm wondering if I need to do an edit of Open Street Map

@poutnikl
Copy link
Contributor

poutnikl commented Oct 12, 2021

The rule No 1 is: Never modify OSM mapping just to get better routing results. Do it only to better reflect the real physical, law or similar status.

Some cases have several alternative mappings, both correct or acceptable, even if one may be semantically more preferred.

It it feels like a major road feature, preferred is the feature,even if the other way is not wrong. If it feels like independent way, preferred is the independent cycleway, especially if it goes apart from the major road in some sections.

Any way, it should keep the single way how it is mapped.

Sharing with pedestrians is not relevant, there is many independent cycleways sharing access.

@Wizit38
Copy link

Wizit38 commented Oct 12, 2021

ok. the reason i was asking is because it seemed to fit 2 better based on your description since the cycleway is in an urban area.
But, I'm ok to leave it as it is.

I'm only doing the routing in Singapore for my testing since that's where I live and am familiar with it. On those that i'm not sure, I can physically check out.

That's not possible when I'm touring in another country. I found the app and profile useful as it corresponds well to route I'd like to choose during a tour in another country

@Wizit38
Copy link

Wizit38 commented Oct 12, 2021

Ess Bee
My purpose right now is to better understand the profile.

So, is the route correct even though the cycleway is on the opposite side of the road? (because of how the cycleway was defined)
Also, I noticed that you have set the turnInstructioncCatchingRange @ 8m. Is there a reason for setting this so low? I'm just curious as the fastbike-low traffic on which you based the profile uses 40m

@EssBee59
Copy link
Collaborator Author

EssBee59 commented Oct 12, 2021

Yes, as explained by poutnikl, the cycleway on the left of the highway (highway=primary) is defined in OSM as a separate highway (highway=cycleway), so the rule with "do not use a cycleway if it only exists on the left side of the road for your direction" do not apply.
By the way, this logic was created for "right driving" countries, it is probably/possibly not usable in Singapore...

A remark: on the right of the highway at this place you have a footway, that was not considered by the brouter:
This is ok, cycleway is much better as footway for fastbike.
And a second problem/weekness in OSM exists here:
As asphalt (or something so) is prerequisited for "fastbike", a big penalty is set on this footway, because no tag is defined for the surface.
You see, the quality of the OSM map is very important for the routing.

turnInstructioncCatchingRange: On a bike, I prefer 2 Turn instructions when they are separated by more as 8 meters.
(My experience, you can adapt to your wish)

@Wizit38
Copy link

Wizit38 commented Oct 12, 2021

Ess Bee
Thanks for the explanations.

i will experiment with the CatchingRange.

Have a good day. Stay safe.

@zod zod added the profiles label Nov 20, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

9 participants