Skip to content

Commit

Permalink
Update gravel.brf
Browse files Browse the repository at this point in the history
- Fix flaws in 'vehicle=' and 'bicycle=use_sidepath' logic
- Use more realistic drag coefficient
- Fix typo in the downhillcost logic
- Improve maxspeed penalty
- Improve noise penalty
  • Loading branch information
quaelnix authored May 5, 2024
1 parent f2c01b8 commit 584a2a8
Showing 1 changed file with 26 additions and 24 deletions.
50 changes: 26 additions & 24 deletions misc/profiles2/gravel.brf
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# "gravel.brf" -- Version 09.09.2023
# "gravel.brf" -- Version 28.04.2024
# This customizeable profile, developed by quaelnix, is designed for gravel cyclists who want to avoid traffic as much
# as possible, but still get to their destination efficiently - taking into account the capabilities of a gravel bike.

Expand All @@ -15,7 +15,7 @@ assign validForBikes true
# +++ Kinematic model parameters (travel time computation)
assign totalMass = 90 # %totalMass% | Mass (kg) of the bike + biker | number
assign maxSpeed = 35 # %maxSpeed% | Absolute maximum speed (km/h) | number
assign S_C_x = 0.370 # %S_C_x% | Drag coefficient times reference area (m^2) times half air density (kg/m^3)
assign S_C_x = 0.300 # %S_C_x% | Drag coefficient times reference area (m^2) times half air density (kg/m^3)
assign C_r = 0.005 # %C_r% | Rolling resistance coefficient (dimensionless)
assign bikerPower = 150 # %bikerPower% | Average power (W) provided by the biker | number

Expand All @@ -40,10 +40,10 @@ assign uphillcutoff switch and not consider_elevation avoid_steep_inclines
assign has_decent_surface surface=asphalt|concrete|paved|paving_stones|fine_gravel|compacted
assign bad_when_steep ( and highway=track|path not ( or tracktype=grade1|grade2 has_decent_surface ) )

assign downhillcost switch bad_when_steep ( max 80 downhillcost ) downhillcost
assign downhillcutoff switch bad_when_steep ( min 6 downhillcutoff ) downhillcutoff
assign uphillcost switch bad_when_steep ( max 160 uphillcost ) uphillcost
assign uphillcutoff switch bad_when_steep ( min 6 uphillcutoff ) uphillcutoff
assign downhillcost switch bad_when_steep ( max 160 downhillcost ) downhillcost
assign downhillcutoff switch bad_when_steep ( min 1.5 downhillcutoff ) downhillcutoff
assign uphillcost switch bad_when_steep ( max 80 uphillcost ) uphillcost
assign uphillcutoff switch bad_when_steep ( min 1.5 uphillcutoff ) uphillcutoff

assign any_cycleway or cycleway=track|lane|shared_lane|shared
or and cycleway:right=track|lane|shared_lane reversedirection=
Expand All @@ -55,10 +55,10 @@ assign turncost switch junction=roundabout 15 65

assign is_main_road highway=primary|primary_link|secondary|secondary_link|tertiary|tertiary_link
assign initialclassifier switch route=ferry 4 switch is_main_road 3 switch footway=crossing 2 1
assign initialcost switch route=ferry 20000 switch is_main_road 800 switch assume_wet_conditions 100 20
assign initialcost switch route=ferry 20000 switch is_main_road 400 switch assume_wet_conditions 100 20

assign nobikeaccess not switch bicycle= ( not access=no|private ) ( not bicycle=no|private|dismount|use_sidepath )
assign nofootaccess not switch foot= ( not access=no|private ) ( not foot=no|private|use_sidepath )
assign nobikeaccess switch bicycle= switch vehicle= access=no|private vehicle=no|private bicycle=no|private|dismount
assign nofootaccess switch foot= ( and access=no|private ( not bicycle=dismount ) ) foot=no|private

assign badoneway
switch not reversedirection=yes oneway=-1
Expand Down Expand Up @@ -92,9 +92,10 @@ assign smoothnesspenalty
switch surface=asphalt switch not assume_wet_conditions 1.1 1.1
switch concrete=plates|lanes switch not assume_wet_conditions 1.2 1.2
switch surface=fine_gravel|compacted switch not assume_wet_conditions 1.2 1.2
switch surface=concrete|paving_stones|wood|metal switch not assume_wet_conditions 1.3 1.3
switch surface=concrete|paving_stones switch not assume_wet_conditions 1.3 1.3
switch surface=paved switch not assume_wet_conditions 1.4 1.4
switch surface=gravel switch not assume_wet_conditions 1.5 1.5
switch surface=wood|metal switch not assume_wet_conditions 1.6 2.0
switch surface=cobblestone|sett switch not assume_wet_conditions 1.7 2.5
switch surface=grass_paver switch not assume_wet_conditions 1.8 2.2
switch surface=pebblestone switch not assume_wet_conditions 1.9 2.8
Expand Down Expand Up @@ -187,8 +188,8 @@ assign maxspeedpenalty
switch maxspeed=60 1.1
switch maxspeed=70 1.3
switch maxspeed=80 1.4
switch maxspeed=90 1.5
switch maxspeed=100 1.6 1
switch maxspeed=90 1.6
switch maxspeed=100 1.8 switch highway=primary|secondary 1.8 1.0

assign trafficpenalty
switch consider_traffic_estimate
Expand All @@ -201,13 +202,13 @@ assign trafficpenalty

assign noisepenalty
switch avoid_noise
switch estimated_noise_class= 1.0
switch estimated_noise_class=1 1.2
switch estimated_noise_class=2 1.3
switch estimated_noise_class=3 1.5
switch estimated_noise_class=4 1.8
switch estimated_noise_class=5 2.0
switch estimated_noise_class=6 2.2 1 1
switch estimated_noise_class= 1.00
switch estimated_noise_class=1 1.10
switch estimated_noise_class=2 1.15
switch estimated_noise_class=3 1.20
switch estimated_noise_class=4 1.60
switch estimated_noise_class=5 1.80
switch estimated_noise_class=6 2.20 1 1

assign noriverpenalty
switch prefer_rivers
Expand Down Expand Up @@ -238,30 +239,31 @@ assign townpenalty
switch estimated_town_class=4 1.8
switch estimated_town_class=5 2.0
switch estimated_town_class=6 2.2 1 1

assign costfactor
multiply notcycleroutepenalty multiply noriverpenalty
multiply notcyclewaypenalty multiply maxspeedpenalty
multiply smoothnesspenalty multiply onewaypenalty
multiply noforestpenalty multiply noisepenalty
multiply trafficpenalty multiply townpenalty
multiply hikingpenalty multiply mtbpenalty
multiply switch bicycle=use_sidepath 1.6 1
multiply switch nobikeaccess 6 1
multiply tracktypepenalty
switch or highway=motorway|motorway_link motorroad=yes 10000
switch and nobikeaccess nofootaccess 10000
switch highway= switch not route=ferry 10000 2
switch highway=trunk|trunk_link switch any_cycleroute 20 80
switch highway=bridleway|raceway switch not bicycle=yes 20 5
switch highway=pedestrian switch not bicycle=yes 8 3
switch or vehicle=no|private nobikeaccess 6.0
switch highway=primary|primary_link 4.8
switch highway=secondary|secondary_link 4.2
switch highway=tertiary|tertiary_link 3.6
switch highway=corridor 3.2
switch highway=road 2.8
switch highway=unclassified switch not any_cycleroute 2.6 1.4
switch highway=living_street 2.5
switch highway=service switch not service=parking_aisle 2.4 3.0
switch highway=service switch service= 2.4 3.0
switch highway=residential switch not maxspeed=30 2.2 1.8
switch highway=track 1.0
switch highway=path pathpenalty
Expand Down Expand Up @@ -317,8 +319,8 @@ assign classifiermask

---context:node

assign nobikeaccess not switch bicycle= ( not access=no|private ) ( not bicycle=no|private|dismount )
assign nofootaccess not switch foot= ( not access=no|private ) ( not foot=no|private )
assign nobikeaccess switch bicycle= switch vehicle= access=no|private vehicle=no|private bicycle=no|private|dismount
assign nofootaccess switch foot= ( and access=no|private ( not bicycle=dismount ) ) foot=no|private

assign barrierpenalty
switch barrier= 0
Expand Down

0 comments on commit 584a2a8

Please sign in to comment.