138 lines
4.4 KiB
Text
138 lines
4.4 KiB
Text
---context:global # following code refers to global config
|
|
|
|
# the elevation parameters
|
|
|
|
assign downhillcost 0
|
|
assign downhillcutoff 1.5
|
|
assign uphillcost 0
|
|
assign uphillcutoff 1.5
|
|
|
|
assign turnInstructionMode = 1 # 0=none, 1=auto-choose, 2=locus-style, 3=osmand-style
|
|
assign validForFoot 1
|
|
|
|
---context:way # following code refers to way-tags
|
|
|
|
assign any_cycleroute or route_bicycle_icn=yes or route_bicycle_ncn=yes or route_bicycle_rcn=yes route_bicycle_lcn=yes
|
|
assign nodeaccessgranted or any_cycleroute lcn=yes
|
|
|
|
assign turncost 0
|
|
|
|
assign initialcost switch route=ferry 10000 0
|
|
|
|
#
|
|
# implicit access here just from the motorroad tag
|
|
# (implicit access rules from highway tag handled elsewhere)
|
|
#
|
|
assign defaultaccess
|
|
switch access=
|
|
not motorroad=yes
|
|
switch or access=private access=no
|
|
0
|
|
1
|
|
|
|
#
|
|
# calculate logical bike access
|
|
#
|
|
assign bikeaccess
|
|
or any_cycleroute
|
|
switch bicycle=
|
|
switch vehicle=
|
|
defaultaccess
|
|
switch or vehicle=private vehicle=no
|
|
0
|
|
1
|
|
not or bicycle=private or bicycle=no bicycle=dismount
|
|
|
|
#
|
|
# calculate logical foot access
|
|
#
|
|
assign footaccess
|
|
or bikeaccess
|
|
or bicycle=dismount
|
|
switch foot=
|
|
defaultaccess
|
|
not or foot=private foot=no
|
|
|
|
assign accesspenalty switch or bikeaccess footaccess 0 100000
|
|
|
|
assign costfactor
|
|
add accesspenalty
|
|
|
|
switch and highway= not route=ferry 100000
|
|
|
|
switch route=ferry 5.67
|
|
switch or highway=motorway highway=motorway_link 100000
|
|
switch or highway=proposed highway=abandoned 100000
|
|
1
|
|
|
|
# way priorities used for voice hint generation
|
|
|
|
assign priorityclassifier =
|
|
|
|
if ( highway=motorway ) then 30
|
|
else if ( highway=motorway_link ) then 29
|
|
else if ( highway=trunk ) then 28
|
|
else if ( highway=trunk_link ) then 27
|
|
else if ( highway=primary ) then 26
|
|
else if ( highway=primary_link ) then 25
|
|
else if ( highway=secondary ) then 24
|
|
else if ( highway=secondary_link ) then 23
|
|
else if ( highway=tertiary ) then 22
|
|
else if ( highway=tertiary_link ) then 21
|
|
else if ( highway=unclassified ) then 20
|
|
else if ( highway=residential|living_street ) then 6
|
|
else if ( highway=service ) then 6
|
|
else if ( highway=cycleway ) then 6
|
|
else if ( bicycle=designated ) then 6
|
|
else if ( highway=track ) then if tracktype=grade1 then 6 else 4
|
|
else if ( highway=bridleway|road|path|footway ) then 4
|
|
else if ( highway=steps ) then 2
|
|
else if ( highway=pedestrian ) then 2
|
|
else 0
|
|
|
|
# some more classifying bits used for voice hint generation...
|
|
|
|
assign isroundabout = junction=roundabout
|
|
assign islinktype = highway=motorway_link|trunk_link|primary_link|secondary_link|tertiary_link
|
|
assign isgoodforcars = if greater priorityclassifier 6 then true
|
|
else if highway=residential|living_street|service then true
|
|
else if ( and highway=track tracktype=grade1 ) then true
|
|
else false
|
|
|
|
|
|
# ... encoded into a bitmask
|
|
|
|
assign classifiermask add multiply isroundabout 4
|
|
add multiply islinktype 8
|
|
multiply isgoodforcars 16
|
|
|
|
---context:node # following code refers to node tags
|
|
|
|
assign defaultaccess
|
|
switch access=
|
|
1 # add default barrier restrictions here!
|
|
switch or access=private access=no
|
|
0
|
|
1
|
|
|
|
assign bikeaccess
|
|
or nodeaccessgranted=yes
|
|
switch bicycle=
|
|
switch vehicle=
|
|
defaultaccess
|
|
switch or vehicle=private vehicle=no
|
|
0
|
|
1
|
|
switch or bicycle=private or bicycle=no bicycle=dismount
|
|
0
|
|
1
|
|
|
|
assign footaccess
|
|
or bicycle=dismount
|
|
switch foot=
|
|
defaultaccess
|
|
switch or foot=private foot=no
|
|
0
|
|
1
|
|
|
|
assign initialcost switch or bikeaccess footaccess 0 1000000
|