diff --git a/misc/profiles2/vm-forum-liegerad-schnell.brf b/misc/profiles2/vm-forum-liegerad-schnell.brf index 20cad10..91efd23 100644 --- a/misc/profiles2/vm-forum-liegerad-schnell.brf +++ b/misc/profiles2/vm-forum-liegerad-schnell.brf @@ -1,441 +1,460 @@ -# -# Profile for fast recumbent bikes, contributed by http://www.velomobilforum.de - ----context:global - -assign totalMass = 90 #Gesamtmasse des Fahrzeugs (Fahrzeug, Fahrer, Gepäck...) in kg -assign maxSpeed = 60 #Maximale Geschwindigkeit ab der der Fahrer bremst in km/h -assign S_C_x = 0.23 #Effektive Stirnfläche in m² -assign C_r = 0.004 #Rollwiderstand -assign bikerPower = 125 #Dauerleistung in Watt - -assign ignore_bicycle_no = false # für Regionen mit falschen bicyle=no tags können sie mit "true" ignoriert werden. Auch Shuttletransporte (bicycle=dismount + foot=no) werden geroutet -assign consider_smoothness_tags = true # mit false kann die kanne die Auswertung der smoothness tags abgeschaltet werden -assign low_memory_cutoff = false # mit true werden Wege mit hohen Kosten aus der Berechnung genommen und damit wird die Berechnung schneller und benötigt weniger Arbeitspeicher. - -assign turnInstructionMode 1 #Ausgabe von Abiegehinweise 0=keine, 1=automatische Wahl, 2=locus-Style, 3=osmand-Style -assign turnInstructionCatchingRange 20 # innerhalb dieser Strecke werden mehrere Abiegehinweise zu einem zusammengefasst und die Abiegewinkel werden besser an die generelle Richtung angenähert -assign turnInstructionRoundabouts true # mit "false" werden keine speziellen Abiegehinweise für den Kreisverkehr generiert - -assign downhillcost 80 # Kosten für die Höhenmeter bergab -assign downhillcutoff 0.1 # Gefälle unter diesem Wert in Prozent werden nicht gewertet -assign uphillcost 80 # Kosten für die Höhenmeter bergauf -assign uphillcutoff 1 # Steigungen unter diesem Wert in Prozent werden nicht gewertet - -assign validForBikes true # bei true werden die Außnahmen bei den Abbiegebeschränkungen für Fahrräder aktiviert -assign considerTurnRestrictions true # bei false werden die Abbiegebeschränkungen ignoriert - -assign pass1coefficient 2.5 # Berechnugskoeffizient für erste schnelle Berechnung -assign pass2coefficient 0 # Berechnugskoeffizient für zweite exakte Berechnung -# sinnvolle Werte für den ersten Koeffizienten: -# 1 exakte Berechnung beim ersten Durchlauf -# umso größer die Werte umso schneller und ungenauer die erste Berechnung -# sinnvolle Werte für den zweiten Koeffizienten: -# 0 exakte Berechnung mit Beschränkung des Suchgebiets über die Kosten der ersten Berechnung -# -1 keine zweite Berechnung, nur sinnvoll bei 1 im ersten Durchlauf - -# Um die ungenauen SRTM Höhendaten zu filtern werden für jeweils für Anstiege und Gefälle Puffer verwendet. Erst wenn diese überschritten werden die Segmente als Anstiege oder Gefälle gewertet. - -assign elevationpenaltybuffer 7 # Höhenpuffer (in Meter) ab dem die Höhenstrafen beginnen und das Segment als Anstieg und Gefälle gewertet wird -assign elevationmaxbuffer 13 # Maximale Puffergröße (in Meter), alles darüberhinausgehende wird voll bestraft -assign elevationbufferreduce 1 # im Bereich zwischen elevationpenaltybuffer und elevationmaxbuffer wird eine Höhenstrafe, die einer Steigung oder Gefälle dieses Wertes (in Prozent) entspricht, verhängt und diese Höhenmeter vom Puffer abgezogen. - -assign lmc switch low_memory_cutoff 10000 0 ----context:way - -# Parameter für die Wege -#zusätzliche Kosten in Meter für jeden Streckenabschnitt - -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 cycleway - or bicycle_road=yes or highway=cycleway and highway=path|footway bicycle=designated|yes - -assign footway - or highway=footway and highway=path foot=designated|yes - -assign turncost - switch junction=roundabout 0 - 150 # Kosten die für eine 90 Grad Abbiegung berechnet werden. Für kleinere Winkel werden sie mit turncost*cos(Winkel) berechnet, bei Kreisverkehr keine weitere Kosten - -assign initialclassifier # hier wird bestimmten Wegen ein Wert zugeordnet und wenn er sich vom vorherigen unterscheidet die initalcost hinzugerechnet - switch route=ferry 2 - switch highway=steps 3 - switch cycleway 4 - switch footway 5 - 1 - -assign initialcost - switch route=ferry 10000 # Kosten wenn eine Fähre verwendet wird - switch highway=steps 1000 # Kosten für Stufen - switch cycleway 100 # Kosten für Radwege - switch footway 1000 # Kosten für Fußwege - 0 - -# Kosten ab hier als Meter für jeden tatsächlichen Meter - -assign oneway - switch oneway= - junction=roundabout - or oneway=yes or oneway=true oneway=1 - -assign onewaypenalty - switch switch reversedirection=yes oneway oneway=-1 - switch or cycleway=opposite or cycleway=opposite_lane or cycleway=opposite_track oneway:bicycle=no 0 #zusätzliche Kosten für in Gegenrichtung für Radfahrer freigegebene Einbahnstraßen in Gegenrichtung - switch or highway=primary highway=primary_link add lmc 50 #zusätzliche Kosten für Bundesstraßen Einbahnstraßen in Gegenrichtung - switch or highway=secondary highway=secondary_link add lmc 30 #zusätzliche Kosten für Landstraßen Einbahnstraßen in Gegenrichtung - switch or highway=tertiary highway=tertiary_link add lmc 25 #zusätzliche Kosten für Kreisstraßen Einbahnstraßen in Gegenrichtung - 20.0 #zusätzliche Kosten für sonstige Einbahnstraßen in Gegenrichtung - 0.0 - -assign defaultaccess - switch access= - not motorroad=yes - switch or access=private access=no - 0 - 1 - -assign bikeaccess - or any_cycleroute - switch bicycle= - switch bicycle_road=yes - 1 - switch vehicle= - defaultaccess - switch or vehicle=private vehicle=no - 0 - 1 - not or bicycle=private or and not ignore_bicycle_no bicycle=no bicycle=dismount - - -assign footaccess - or bikeaccess - or and bicycle=dismount ignore_bicycle_no - switch foot= - defaultaccess - not or foot=private foot=no - -assign accesspenalty - switch bikeaccess - 0 - switch footaccess - 10 #Zusatzkosten fürs Schieben - 10000 #Zusatzkosten für gesperrte oder private Wege - -assign maxspeed_forward - switch maxspeed:forward=50 50 - switch maxspeed:forward=30 30 - switch maxspeed:forward=10 10 - switch maxspeed:forward=20 20 - switch maxspeed:forward=40 40 - switch maxspeed:forward=60 60 - switch maxspeed:forward=70 70 - switch maxspeed:forward=80 80 - switch maxspeed:forward=90 90 - switch maxspeed:forward=100 100 - switch maxspeed:forward=110 110 - switch maxspeed:forward=120 120 - switch maxspeed:forward=130 130 - switch maxspeed:forward=urban 50 - switch maxspeed:forward=rural 100 - 0 - -assign maxspeed_backward - switch maxspeed:backward=50 50 - switch maxspeed:backward=30 30 - switch maxspeed:backward=10 10 - switch maxspeed:backward=20 20 - switch maxspeed:backward=40 40 - switch maxspeed:backward=60 60 - switch maxspeed:backward=70 70 - switch maxspeed:backward=80 80 - switch maxspeed:backward=90 90 - switch maxspeed:backward=100 100 - switch maxspeed:backward=110 110 - switch maxspeed:backward=120 120 - switch maxspeed:backward=130 130 - switch maxspeed:backward=urban 50 - switch maxspeed:backward=rural 100 - 0 - -assign maxspeed - switch and reversedirection=yes maxspeed_backward maxspeed_backward - switch and not reversedirection=yes maxspeed_forward maxspeed_forward - switch maxspeed=50 50 - switch maxspeed=30 30 - switch maxspeed=10 10 - switch maxspeed=20 20 - switch maxspeed=40 40 - switch maxspeed=60 60 - switch maxspeed=70 70 - switch maxspeed=80 80 - switch maxspeed=90 90 - switch maxspeed=100 100 - switch maxspeed=110 110 - switch maxspeed=120 120 - switch maxspeed=130 130 - switch maxspeed=urban 50 - switch maxspeed=rural 100 - 999 - - -assign downspeedpenalty - switch equal maxspeed 10 4 # Zusatzkosten für Geschwindigkeitsbegrenzung 10 km/h bei Gefälle - switch equal maxspeed 20 1.5 # Zusatzkosten für Geschwindigkeitsbegrenzung 20 km/h bei Gefälle - switch equal maxspeed 30 0.7 # Zusatzkosten für Geschwindigkeitsbegrenzung 30 km/h bei Gefälle - switch equal maxspeed 40 0.4 # Zusatzkosten für Geschwindigkeitsbegrenzung 40 km/h bei Gefälle - switch equal maxspeed 50 0.2 # Zusatzkosten für Geschwindigkeitsbegrenzung 50 km/h bei Gefälle - 0 - -assign flatspeedpenalty - switch equal maxspeed 10 2 # Zusatzkosten für Geschwindigkeitsbegrenzung 10 km/h in der Ebene - switch equal maxspeed 20 0.5 # Zusatzkosten für Geschwindigkeitsbegrenzung 20 km/h in der Ebene - switch equal maxspeed 30 0.15 # Zusatzkosten für Geschwindigkeitsbegrenzung 30 km/h in der Ebene - switch equal maxspeed 40 0.12 # Zusatzkosten für Geschwindigkeitsbegrenzung 40 km/h bei Gefälle - switch equal maxspeed 50 0.1 # Zusatzkosten für Geschwindigkeitsbegrenzung 50 km/h in der Ebene - 0 - -assign upspeedpenalty - switch equal maxspeed 10 1.5 # Zusatzkosten für Geschwindigkeitsbegrenzung 10 km/h bei Anstiegen - switch equal maxspeed 20 0.4 # Zusatzkosten für Geschwindigkeitsbegrenzung 20 km/h bei Anstiegen - switch equal maxspeed 30 0.1 # Zusatzkosten für Geschwindigkeitsbegrenzung 30 km/h bei Anstiegen - 0 - - -assign surfacepenalty - add switch embedded_rails=tram|yes|rail 10 # Zusatzkosten bei Schienen in der Fahrbahn - 0 - switch surface=asphalt|paved 0 #Zusatzkosten für Teer oder versiegelte Flächen - switch concrete=plates 1 # Zusatzkosten für Betonplattenwege - switch concrete=lanes 2 # Zusatzkosten für Betonspurplatten - switch surface=concrete|paving_stones|wood|metal 0.4 #Zusatzkosten für Beton, Pflastersteine, Holz oder Metall - switch surface=cobblestone|fine_gravel|compacted|sett|grass_paver 4 #Zusatzkosten für Kopfsteinpflaster, Splitt, verdichtete Deckschicht, behauene Pflastersteine oder Rasengittersteine - switch surface=gravel|sand|pebblestone add lmc 10 #Zusatzkosten für Schotter, Sand oder Kies - switch surface=ground|grass|unpaved|dirt|earth|mud|clay add lmc 50 #Zusatzkosten für naturbelassene Wege, Grasswege, unbefestigte Wege, Schmutzwege, erdige Wege, schlammige Wege oder Lehmwege - 0 - -assign smoothnesspenalty - switch smoothness=excellent|good|very_good 0 #Zusatzkosten für excellente, gute, oder sehr gute Oberflächen - switch smoothness=intermediate|medium 0.2 #Zusatzkosten für mittelmäßige Oberflächen - switch smoothness=rough|poor 2 #Zusatzkosten für raue oder schlechte Oberflächen - switch smoothness=robust_wheels|bad add lmc 10 #Zusatzkosten für Oberflächen die robuste Reifen benötigen oder schlechte Oberflächen - switch smoothness=high_clearance|off_road_wheels|very_bad|horrible|very_horrible|impassable add lmc 100 #Zusatzkosten für Oberflächen die eine erhöhte Bodenfreiheit oder Geländebereifung benötigen, schrecklich, sehr schrecklich oder unpasierbar sind - 0 - - -assign costfactor - -# dieser Abschnitt ist für die Kosten in der Ebene - - switch and highway= not route=ferry 10000 # Kosten für alles ohne higway tag außer Fähren - switch or highway=proposed highway=abandoned 10000 # Kosten für geplante oder Wege im Bau - - min 9999 - - add onewaypenalty - add accesspenalty - add surfacepenalty - add switch consider_smoothness_tags smoothnesspenalty 0 - add flatspeedpenalty - - switch highway=motorway|motorway_link 10000 # Kosten für Autobahnen - switch route=ferry 10.67 # Kosten für Fähren - switch highway=trunk|trunk_link 5 # Kosten für eine autobahnänliche Straße - switch highway=primary|primary_link 2 # Kosten für Bundesstraßen - switch highway=secondary|secondary_link 1 # Kosten für Landstraßen - switch highway=tertiary|tertiary_link 1 # Kosten für Kreisstraßen - switch highway=unclassified 1 # Kosten für Verbindungsstraßen - switch highway=residential|service 1.2 # Kosten für Wohn- und Zufahrtsstraßen - switch highway=track - switch tracktype=grade1 1.2 # Kosten für geteerte, betonierte oder gepflasterte Feldwege - switch tracktype=grade2 7 # Kosten für geschotterte Feldwege - switch tracktype=grade3 add lmc 40 # Kosten für Feldwege mit weichem Untergrund - switch tracktype=grade4 add lmc 50 # Kosten für unbefestigte Feldwege - switch tracktype=grade5 add lmc 50 # Kosten für kaum erkennbare Feldwege - add lmc 20 # Kosten für Feldwege ohne Oberflächenangabe - switch cycleway 1.3 # Kosten für Fahrradwege - switch ( or highway=living_street living_street=yes ) 4 # Kosten für Spielstraßen - switch highway=road 7 # Kosten für noch nicht genauer beschriebene Straße - switch footway 15 # Kosten für Fußwege - switch highway=pedestrian 20 # Kosten für Gehwege - switch highway=steps 30 # Kosten für Stufen - switch highway=path - switch surface= add lmc 40 # Kosten für Pfade ohne Oberflächenangabe - 1.3 # Kosten für Pfade mit Oberflächenangabe - switch highway=bridleway add lmc 80 # Kosten für Reitwege - add lmc 20 # Kosten für sonstige Wege - -assign uphillcostfactor - -# dieser Abschnitt ist für die Kosten bei Anstiegen -# da er von der Struktur identisch wie der vorherige Abschnitt werde ich die Beschreibung hier nicht wiederholen - - switch and highway= not route=ferry 10000 - switch or highway=proposed highway=abandoned 10000 - - min 9999 - - add upspeedpenalty - add onewaypenalty - add accesspenalty - add switch consider_smoothness_tags smoothnesspenalty 0 - add surfacepenalty - - switch highway=motorway|motorway_link 10000 - switch route=ferry 10.67 - switch highway=trunk|trunk_link 7 - switch highway=primary|primary_link 3 - switch highway=secondary|secondary_link 1.2 - switch highway=tertiary|tertiary_link 1 - switch highway=unclassified 1 - switch highway=residential|service 1 - switch highway=track - switch tracktype=grade1 1 - switch tracktype=grade2 3 - switch tracktype=grade3 add lmc 40 - switch tracktype=grade4 add lmc 50 - switch tracktype=grade5 add lmc 50 - add lmc 20 - switch cycleway 1 - switch ( or highway=living_street living_street=yes ) 2.5 - switch highway=road 5 - switch footway 15 - switch highway=pedestrian 20 - switch highway=steps 30 - switch highway=path - switch surface= add lmc 30 - 1 - switch highway=bridleway add lmc 80 - add lmc 20 - -assign downhillcostfactor - -# dieser Abschnitt ist für die Kosten bei Gefälle -# da er von der Struktur identisch wie der vorvorherige Abschnitt werde ich die Beschreibung hier auch nicht wiederholen - - switch and highway= not route=ferry 10000 - switch or highway=proposed highway=abandoned 10000 - - min 9999 - - add downspeedpenalty - add onewaypenalty - add accesspenalty - add switch consider_smoothness_tags smoothnesspenalty 0 - add surfacepenalty - - switch highway=motorway|motorway_link 10000 - switch route=ferry 10.67 - switch highway=trunk|trunk_link 3 - switch highway=primary|primary_link 2 - switch highway=secondary|secondary_link 1 - switch highway=tertiary|tertiary_link 1 - switch highway=unclassified 1.2 - switch highway=residential|service 2 - switch highway=track - switch tracktype=grade1 2 - switch tracktype=grade2 8 - switch tracktype=grade3 add lmc 40 - switch tracktype=grade4 add lmc 50 - switch tracktype=grade5 add lmc 50 - add lmc 20 - switch cycleway 2 - switch ( or highway=living_street living_street=yes ) 8 - switch highway=road 10 - switch footway 20 - switch highway=pedestrian 30 - switch highway=steps 40 - switch highway=path - switch surface= add lmc 40 - 2 - switch highway=bridleway add lmc 80 - add lmc 20 - - -# hier kommen Variablen die zur Generierung der Abiegehinweise benötigt werden - -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 ( or highway=residential|living_street living_street=yes ) then 6 - else if ( highway=service ) then 6 - else if ( highway=cycleway ) then 6 - else if ( or bicycle=designated bicycle_road=yes ) 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 - - - -assign isbadoneway = not equal onewaypenalty 0 -assign isgoodoneway = if reversedirection=yes then oneway=-1 - else if oneway= then junction=roundabout else oneway=yes|true|1 -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 ( or highway=residential|living_street|service living_street=yes ) then true - else if ( and highway=track tracktype=grade1 ) then true - else false - -assign classifiermask add isbadoneway - add multiply isgoodoneway 2 - add multiply isroundabout 4 - add multiply islinktype 8 - multiply isgoodforcars 16 - ----context:node # following code refers to node tags - -# Parameter für Knotenpunkte -# Kosten an Knotenpunkten in Meter - - -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 and not or highway=crossing ignore_bicycle_no bicycle=no bicycle=dismount - 0 - 1 - -assign footaccess - or bicycle=dismount - switch foot= - defaultaccess - switch or foot=private foot=no - 0 - 1 - -assign initialcost - add switch highway=traffic_signals 200 # Kosten für Ampel - switch highway=stop 150 # Kosten für Stoppschild - switch railway=crossing|level_crossing 200 # Kosten für Bahnübergang - 0 - switch bikeaccess - 0 - switch footaccess - 10000 # Kosten fürs Absteigen - 1000000 #Kosten für verbotene oder private Wege +# +# Profile for fast recumbent bikes, contributed by http://www.velomobilforum.de + +---context:global + +assign no_steps = false # %no_steps% | keine Stufen, das Liegerad soll nicht getragen werden müssen | boolean +assign no_wrong_oneway = false # %no_wrong oneway% | keine Einbahnstrasse in falsche Richtung, auch nicht schiebend | boolean + +assign dismount_cost = 1000 # %dismount_cost% | Umweg in Meter der in Kauf genommen wird bevor eine Strecke genommen wird bei der man austeigen muss, ab 1 000 000 wird keine Schiebestrecke mehr genommen | number +assign avoid_main_roads = 5 # %avoid_main_roads% | große Straße vermeiden(0-10): 0 = nicht vermeiden, 1 = leicht vermeiden, 3 = Standard, 10 = stark vermeiden | number +assign avoid_small_roads = 5 # %avoid_small_roads% | kleine Straße vermeiden(0-10): 0 = nicht vermeiden, 1 = leicht vermeiden, 5 = Standard, 10 = stark vermeiden | number +assign avoid_cycleways = 3 # %avoid_cycleways% | Radwege vermeiden(0-10): 0 = nicht vermeiden, 1 = leicht vermeiden, 3 = Standard, 10 = stark vermeiden | number +assign avoid_elevation = 5 # %avoid_elevation% | Hohenmeter vermeiden(0-10): 0 = nicht vermeiden, 1 = leicht vermeiden, 5 = Standard, 10 = stark vermeiden | number +assign avoid_bad_ways = 8 # %avoid_bad_ways% | Schlechte Wege vermeiden(0-10): 0 = nicht vermeiden, 1 = leicht vermeiden, 8 = Standard, 10 = stark vermeiden | number + +assign totalMass = 90 # %totalMass% | Gesamtmasse des Fahrzeugs (Fahrzeug, Fahrer, Gepäck...) in kg, für Fahrtzeitschätzung | number +assign maxSpeed = 60 # Maximale Geschwindigkeit ab der der Fahrer bremst in km/h +assign S_C_x = 0.23 # Effektive Stirnfläche in m² +assign C_r = 0.004 # Rollwiderstand +assign bikerPower = 125 # %bikerPower% | Dauerleistung in Watt, für Fahrtzeitschätzung| number + + +assign ignore_bicycle_no = false # %ignore_bicycle_no% | für Regionen mit falschen bicyle=no tags können sie mit "true" ignoriert werden. Auch Shuttletransporte (bicycle=dismount + foot=no) werden geroutet | boolean + + +assign turnInstructionMode = 1 # %turnInstructionMode% | Modus für die Abbiegehinweise | [0=keine, 1=automatische Wahl, 2=locus-Style, 3=osmand-Style, 4=comment-Style, 5=gpsies-Style, 6=orux-Style] +assign turnInstructionCatchingRange 20 # innerhalb dieser Strecke werden mehrere Abiegehinweise zu einem zusammengefasst und die Abiegewinkel werden besser an die generelle Richtung angenähert +assign turnInstructionRoundabouts true # mit "false" werden keine speziellen Abiegehinweise für den Kreisverkehr generiert + +assign avoidmr2 multiply 0.04 multiply avoid_main_roads avoid_main_roads +assign avoidsr multiply 0.2 avoid_small_roads +assign avoidbw multiply 0.125 avoid_bad_ways +assign avoid_ele multiply avoid_elevation 0.2 + +assign downhillcost multiply avoid_ele 80 # Kosten für die Höhenmeter bergab +assign downhillcutoff 0.1 # Gefälle unter diesem Wert in Prozent werden nicht gewertet +assign uphillcost multiply avoid_ele 80 # Kosten für die Höhenmeter bergauf +assign uphillcutoff 1 # Steigungen unter diesem Wert in Prozent werden nicht gewertet + +assign validForBikes true # bei true werden die Außnahmen bei den Abbiegebeschränkungen für Fahrräder aktiviert +assign considerTurnRestrictions true # bei false werden die Abbiegebeschränkungen ignoriert + +assign pass1coefficient 2.5 # Berechnugskoeffizient für erste schnelle Berechnung +assign pass2coefficient 0 # Berechnugskoeffizient für zweite exakte Berechnung +# sinnvolle Werte für den ersten Koeffizienten: +# 1 exakte Berechnung beim ersten Durchlauf +# umso größer die Werte umso schneller und ungenauer die erste Berechnung +# sinnvolle Werte für den zweiten Koeffizienten: +# 0 exakte Berechnung mit Beschränkung des Suchgebiets über die Kosten der ersten Berechnung +# -1 keine zweite Berechnung, nur sinnvoll bei 1 im ersten Durchlauf + +# Um die ungenauen SRTM Höhendaten zu filtern werden für jeweils für Anstiege und Gefälle Puffer verwendet. Erst wenn diese überschritten werden die Segmente als Anstiege oder Gefälle gewertet. + +assign elevationpenaltybuffer 7 # Höhenpuffer (in Meter) ab dem die Höhenstrafen beginnen und das Segment als Anstieg und Gefälle gewertet wird +assign elevationmaxbuffer 13 # Maximale Puffergröße (in Meter), alles darüberhinausgehende wird voll bestraft +assign elevationbufferreduce 1 # im Bereich zwischen elevationpenaltybuffer und elevationmaxbuffer wird eine Höhenstrafe, die einer Steigung oder Gefälle dieses Wertes (in Prozent) entspricht, verhängt und diese Höhenmeter vom Puffer abgezogen. + +---context:way + +# Parameter für die Wege +#zusätzliche Kosten in Meter für jeden Streckenabschnitt + +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 cycleway + or highway=cycleway and highway=path|footway|pedestrian bicycle=designated|yes + +assign footway + or highway=footway|pedestrian and highway=path foot=designated|yes + +assign turncost + switch junction=roundabout 0 + 150 # Kosten die für eine 90 Grad Abbiegung berechnet werden. Für kleinere Winkel werden sie mit turncost*cos(Winkel) berechnet, bei Kreisverkehr keine weitere Kosten + +assign initialclassifier # hier wird bestimmten Wegen ein Wert zugeordnet und wenn er sich vom vorherigen unterscheidet die initalcost hinzugerechnet + switch route=ferry 2 + switch highway=steps 3 + switch cycleway 4 + switch footway 5 + 1 + +assign initialcost + switch route=ferry 10000 # Kosten wenn eine Fähre verwendet wird + switch highway=steps switch no_steps 1000000 dismount_cost # Kosten für Stufen + switch cycleway multiply 11.1111112 multiply avoid_cycleways avoid_cycleways # Kosten für Radwege + switch footway dismount_cost # Kosten für Fußwege + 0 + +# Kosten ab hier als Meter für jeden tatsächlichen Meter + +assign oneway + switch oneway= + junction=roundabout + or oneway=yes or oneway=true oneway=1 + +assign onewaypenalty + switch switch reversedirection=yes oneway oneway=-1 + switch or cycleway=opposite or cycleway=opposite_lane or cycleway=opposite_track oneway:bicycle=no 0 #zusätzliche Kosten für in Gegenrichtung für Radfahrer freigegebene Einbahnstraßen in Gegenrichtung + switch no_wrong_oneway 10000 + switch or highway=primary highway=primary_link 50 #zusätzliche Kosten für Bundesstraßen Einbahnstraßen in Gegenrichtung + switch or highway=secondary highway=secondary_link 30 #zusätzliche Kosten für Landstraßen Einbahnstraßen in Gegenrichtung + switch or highway=tertiary highway=tertiary_link 25 #zusätzliche Kosten für Kreisstraßen Einbahnstraßen in Gegenrichtung + 20.0 #zusätzliche Kosten für sonstige Einbahnstraßen in Gegenrichtung + 0.0 + +assign defaultaccess + switch access= + not motorroad=yes + switch or access=private access=no + 0 + 1 + +assign bikeaccess + or any_cycleroute + switch bicycle= + switch vehicle= + defaultaccess + switch or vehicle=private vehicle=no + 0 + 1 + not or bicycle=private or and not ignore_bicycle_no bicycle=no bicycle=dismount + + +assign footaccess + or bikeaccess + or and bicycle=dismount ignore_bicycle_no + switch foot= + defaultaccess + not or foot=private foot=no + +assign accesspenalty + switch bikeaccess + 0 + switch footaccess + 10 #Zusatzkosten fürs Schieben + 10000 #Zusatzkosten für gesperrte oder private Wege + +assign maxspeed_forward + switch maxspeed:forward=50 50 + switch maxspeed:forward=30 30 + switch maxspeed:forward=10 10 + switch maxspeed:forward=20 20 + switch maxspeed:forward=40 40 + switch maxspeed:forward=60 60 + switch maxspeed:forward=70 70 + switch maxspeed:forward=80 80 + switch maxspeed:forward=90 90 + switch maxspeed:forward=100 100 + switch maxspeed:forward=110 110 + switch maxspeed:forward=120 120 + switch maxspeed:forward=130 130 + switch maxspeed:forward=urban 50 + switch maxspeed:forward=rural 100 + 0 + +assign maxspeed_backward + switch maxspeed:backward=50 50 + switch maxspeed:backward=30 30 + switch maxspeed:backward=10 10 + switch maxspeed:backward=20 20 + switch maxspeed:backward=40 40 + switch maxspeed:backward=60 60 + switch maxspeed:backward=70 70 + switch maxspeed:backward=80 80 + switch maxspeed:backward=90 90 + switch maxspeed:backward=100 100 + switch maxspeed:backward=110 110 + switch maxspeed:backward=120 120 + switch maxspeed:backward=130 130 + switch maxspeed:backward=urban 50 + switch maxspeed:backward=rural 100 + 0 + +assign maxspeed + switch and reversedirection=yes maxspeed_backward maxspeed_backward + switch and not reversedirection=yes maxspeed_forward maxspeed_forward + switch maxspeed=50 50 + switch maxspeed=30 30 + switch maxspeed=10 10 + switch maxspeed=20 20 + switch maxspeed=40 40 + switch maxspeed=60 60 + switch maxspeed=70 70 + switch maxspeed=80 80 + switch maxspeed=90 90 + switch maxspeed=100 100 + switch maxspeed=110 110 + switch maxspeed=120 120 + switch maxspeed=130 130 + switch maxspeed=urban 50 + switch maxspeed=rural 100 + 999 + + +assign downspeedpenalty + switch equal maxspeed 10 4 # Zusatzkosten für Geschwindigkeitsbegrenzung 10 km/h bei Gefälle + switch equal maxspeed 20 1.5 # Zusatzkosten für Geschwindigkeitsbegrenzung 20 km/h bei Gefälle + switch equal maxspeed 30 0.7 # Zusatzkosten für Geschwindigkeitsbegrenzung 30 km/h bei Gefälle + switch equal maxspeed 40 0.4 # Zusatzkosten für Geschwindigkeitsbegrenzung 40 km/h bei Gefälle + switch equal maxspeed 50 0.2 # Zusatzkosten für Geschwindigkeitsbegrenzung 50 km/h bei Gefälle + 0 + +assign flatspeedpenalty + switch equal maxspeed 10 2 # Zusatzkosten für Geschwindigkeitsbegrenzung 10 km/h in der Ebene + switch equal maxspeed 20 0.5 # Zusatzkosten für Geschwindigkeitsbegrenzung 20 km/h in der Ebene + switch equal maxspeed 30 0.15 # Zusatzkosten für Geschwindigkeitsbegrenzung 30 km/h in der Ebene + switch equal maxspeed 40 0.12 # Zusatzkosten für Geschwindigkeitsbegrenzung 40 km/h in der Ebene + switch equal maxspeed 50 0.1 # Zusatzkosten für Geschwindigkeitsbegrenzung 50 km/h in der Ebene + 0 + +assign upspeedpenalty + switch equal maxspeed 10 1.5 # Zusatzkosten für Geschwindigkeitsbegrenzung 10 km/h bei Anstiegen + switch equal maxspeed 20 0.4 # Zusatzkosten für Geschwindigkeitsbegrenzung 20 km/h bei Anstiegen + switch equal maxspeed 30 0.1 # Zusatzkosten für Geschwindigkeitsbegrenzung 30 km/h bei Anstiegen + 0 + + +assign surfacepenalty + add switch embedded_rails=tram|yes|rail 10 # Zusatzkosten bei Schienen in der Fahrbahn + 0 + multiply avoidbw + switch surface=asphalt|paved 0 #Zusatzkosten für Teer oder versiegelte Flächen + switch concrete=plates 1 # Zusatzkosten für Betonplattenwege + switch concrete=lanes 2 # Zusatzkosten für Betonspurplatten + switch surface=concrete|paving_stones|wood|metal 0.4 #Zusatzkosten für Beton, Pflastersteine, Holz oder Metall + switch surface=cobblestone|fine_gravel|compacted|sett|grass_paver 4 #Zusatzkosten für Kopfsteinpflaster, Splitt, verdichtete Deckschicht, behauene Pflastersteine oder Rasengittersteine + switch surface=gravel|sand|pebblestone 10 #Zusatzkosten für Schotter, Sand oder Kies + switch surface=ground|grass|unpaved|dirt|earth|mud|clay 50 #Zusatzkosten für naturbelassene Wege, Grasswege, unbefestigte Wege, Schmutzwege, erdige Wege, schlammige Wege oder Lehmwege + 0 + +assign smoothnesspenalty + multiply avoidbw + switch smoothness=excellent|good|very_good 0 #Zusatzkosten für excellente, gute, oder sehr gute Oberflächen + switch smoothness=intermediate|medium 0.7 #Zusatzkosten für mittelmäßige Oberflächen + switch smoothness=rough|poor 2 #Zusatzkosten für raue oder schlechte Oberflächen + switch smoothness=robust_wheels|bad 10 #Zusatzkosten für Oberflächen die robuste Reifen benötigen oder schlechte Oberflächen + switch smoothness=high_clearance|off_road_wheels|very_bad|horrible|very_horrible|impassable 100 #Zusatzkosten für Oberflächen die eine erhöhte Bodenfreiheit oder Geländebereifung benötigen, schrecklich, sehr schrecklich oder unpasierbar sind + 0 + + +assign costfactor + +# dieser Abschnitt ist für die Kosten in der Ebene + + switch and highway= not route=ferry 10000 # Kosten für alles ohne higway tag außer Fähren + switch or highway=proposed highway=abandoned 10000 # Kosten für geplante oder Wege im Bau + + min 9999 + max 1 + + add onewaypenalty + add accesspenalty + add max surfacepenalty smoothnesspenalty + add flatspeedpenalty + + max 1 + switch highway=motorway|motorway_link 10000 # Kosten für Autobahnen + switch route=ferry 10.67 # Kosten für Fähren + switch highway=trunk|trunk_link add 1 multiply avoidmr2 4 # Kosten für eine autobahnänliche Straße + switch highway=primary|primary_link add 0.7 multiply avoidmr2 1.3 # Kosten für Bundesstraßen + switch highway=secondary|secondary_link 1 # Kosten für Landstraßen + switch highway=tertiary|tertiary_link add 0.7 multiply avoidsr 0.3 # Kosten für Kreisstraßen + switch highway=unclassified add 0.7 multiply avoidsr 0.3 # Kosten für Verbindungsstraßen + switch highway=residential|service add 0.7 multiply avoidsr 0.5 # Kosten für Wohn- und Zufahrtsstraßen + switch highway=track + switch tracktype=grade1 add 0.7 multiply avoidsr 0.5 # Kosten für geteerte, betonierte oder gepflasterte Feldwege + switch tracktype=grade2 multiply avoidbw add 1 multiply avoidsr 6 # Kosten für geschotterte Feldwege + switch tracktype=grade3 multiply avoidbw 40 # Kosten für Feldwege mit weichem Untergrund + switch tracktype=grade4 multiply avoidbw 50 # Kosten für unbefestigte Feldwege + switch tracktype=grade5 multiply avoidbw 50 # Kosten für kaum erkennbare Feldwege + switch surface= multiply avoidbw 20 # Kosten für Feldwege ohne Oberflächenangabe + add 0.7 multiply avoidsr 0.5 # Kosten für Feldwege mit Oberflächenangabe + switch cycleway add 0.58 multiply avoid_cycleways 0.24 # Kosten für Fahrradwege + switch highway=living_street add 2 multiply avoidsr 2 # Kosten für Spielstraßen + switch highway=road add 3 multiply avoidsr 4 # Kosten für noch nicht genauer beschriebene Straße + switch footway 20 # Kosten für Fußwege + switch highway=steps 30 # Kosten für Stufen + switch highway=path + switch surface= multiply avoidbw 40 # Kosten für Pfade ohne Oberflächenangabe + multiply avoidsr add 0.58 multiply avoid_cycleways 0.24 # Kosten für Pfade mit Oberflächenangabe + switch highway=bridleway multiply avoidbw 80 # Kosten für Reitwege + 20 # Kosten für sonstige Wege + +assign uphillcostfactor + +# dieser Abschnitt ist für die Kosten bei Anstiegen +# da er von der Struktur identisch wie der vorherige Abschnitt werde ich die Beschreibung hier nicht wiederholen + + switch and highway= not route=ferry 10000 + switch or highway=proposed highway=abandoned 10000 + + min 9999 + max 1 + + add onewaypenalty + add accesspenalty + add max surfacepenalty smoothnesspenalty + add upspeedpenalty + max 1 + switch highway=motorway|motorway_link 10000 + switch route=ferry 10.67 + switch highway=trunk|trunk_link add 1 multiply avoidmr2 6 + switch highway=primary|primary_link add 0.7 multiply avoidmr2 2.3 + switch highway=secondary|secondary_link add 0.7 multiply avoidmr2 0.5 + switch highway=tertiary|tertiary_link 1 + switch highway=unclassified 1 + switch highway=residential|service add 0.7 multiply avoidsr 0.3 + switch highway=track + switch tracktype=grade1 add 0.7 multiply avoidsr 0.3 + switch tracktype=grade2 multiply avoidbw add 1 multiply avoidsr 2 + switch tracktype=grade3 multiply avoidbw 40 + switch tracktype=grade4 multiply avoidbw 50 + switch tracktype=grade5 multiply avoidbw 50 + switch surface= multiply avoidbw 20 + add 0.7 multiply avoidsr 0.3 + switch cycleway add 0.28 multiply avoid_cycleways 0.24 + switch highway=living_street add 1 multiply avoidsr 1.5 + switch highway=road add 4 multiply avoidsr 6 + switch footway 30 + switch highway=steps 40 + switch highway=path + switch surface= multiply avoidbw 40 + multiply avoidsr add 0.28 multiply avoid_cycleways 0.24 + switch highway=bridleway multiply avoidbw 80 + 20 + +assign downhillcostfactor + +# dieser Abschnitt ist für die Kosten bei Gefälle +# da er von der Struktur identisch wie der vorvorherige Abschnitt werde ich die Beschreibung hier auch nicht wiederholen + + switch and highway= not route=ferry 10000 + switch or highway=proposed highway=abandoned 10000 + + min 9999 + max 1 + + add downspeedpenalty + add onewaypenalty + add accesspenalty + add max smoothnesspenalty surfacepenalty + max 1 + switch highway=motorway|motorway_link 10000 + switch route=ferry 10.67 + switch highway=trunk|trunk_link add 1 multiply avoidmr2 2 + switch highway=primary|primary_link add 0.7 multiply avoidmr2 1.3 + switch highway=secondary|secondary_link 1 + switch highway=tertiary|tertiary_link add 0.5 multiply avoidsr 0.5 + switch highway=unclassified add 0.6 multiply avoidsr 0.6 + switch highway=residential|service add 1 multiply avoidsr 1 + switch highway=track + switch tracktype=grade1 add 1 multiply avoidsr 1 + switch tracktype=grade2 multiply avoidbw add 4 multiply avoidsr 4 + switch tracktype=grade3 multiply avoidbw 40 + switch tracktype=grade4 multiply avoidbw 50 + switch tracktype=grade5 multiply avoidbw 50 + switch surface= multiply avoidbw 20 + add 1 multiply avoidsr 1 + switch cycleway add 0.5 multiply avoid_cycleways 0.5 + switch highway=living_street add 2 multiply avoidsr 6 + switch highway=road add 4 multiply avoidsr 6 + switch footway 30 + switch highway=steps 40 + switch highway=path + switch surface= multiply avoidbw 40 + multiply avoidsr add 0.5 multiply avoid_cycleways 0.5 + switch highway=bridleway multiply avoidbw 80 + 20 + + +# hier kommen Variablen die zur Generierung der Abbiegehinweise benötigt werden + +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 + + + +assign isbadoneway = not equal onewaypenalty 0 +assign isgoodoneway = if reversedirection=yes then oneway=-1 + else if oneway= then junction=roundabout else oneway=yes|true|1 +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 + +assign classifiermask add isbadoneway + add multiply isgoodoneway 2 + add multiply isroundabout 4 + add multiply islinktype 8 + multiply isgoodforcars 16 + + + +---context:node # following code refers to node tags + +# Parameter für Knotenpunkte +# Kosten an Knotenpunkten in Meter + + +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 and not or highway=crossing ignore_bicycle_no 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 + add switch highway=traffic_signals 200 # Kosten für Ampel + switch highway=stop 150 # Kosten für Stoppschild + switch railway=crossing|level_crossing 200 # Kosten für Bahnübergang + switch highway=steps switch no_steps 1000000 dismount_cost #Kosten für Stufe + 0 + switch bikeaccess + 0 + switch footaccess + dismount_cost # Kosten fürs Aussteigen + 1000000 #Kosten für verbotene oder private Wege \ No newline at end of file diff --git a/misc/profiles2/vm-forum-velomobil-schnell.brf b/misc/profiles2/vm-forum-velomobil-schnell.brf index eddb815..953a3ad 100644 --- a/misc/profiles2/vm-forum-velomobil-schnell.brf +++ b/misc/profiles2/vm-forum-velomobil-schnell.brf @@ -1,441 +1,460 @@ -# -# Profile for fast recumbent bikes, contributed by http://www.velomobilforum.de - ----context:global - -assign totalMass = 110 #Gesamtmasse des Fahrzeugs (Fahrzeug, Fahrer, Gepäck...) in kg -assign maxSpeed = 60 #Maximale Geschwindigkeit ab der der Fahrer bremst in km/h -assign S_C_x = 0.05 #Effektive Stirnfläche in m² -assign C_r = 0.005 #Rollwiderstand -assign bikerPower = 125 #Dauerleistung in Watt - -assign ignore_bicycle_no = false # für Regionen mit falschen bicyle=no tags können sie mit "true" ignoriert werden. Auch Shuttletransporte (bicycle=dismount + foot=no) werden geroutet -assign consider_smoothness_tags = true # mit false kann die kanne die Auswertung der smoothness tags abgeschaltet werden -assign low_memory_cutoff = false # mit true werden Wege mit hohen Kosten aus der Berechnung genommen und damit wird die Berechnung schneller und benötigt weniger Arbeitspeicher. - -assign turnInstructionMode 1 #Ausgabe von Abiegehinweise 0=keine, 1=automatische Wahl, 2=locus-Style, 3=osmand-Style -assign turnInstructionCatchingRange 20 # innerhalb dieser Strecke werden mehrere Abiegehinweise zu einem zusammengefasst und die Abiegewinkel werden besser an die generelle Richtung angenähert -assign turnInstructionRoundabouts true # mit "false" werden keine speziellen Abiegehinweise für den Kreisverkehr generiert - -assign downhillcost 80 # Kosten für die Höhenmeter bergab -assign downhillcutoff 0.1 # Gefälle unter diesem Wert in Prozent werden nicht gewertet -assign uphillcost 80 # Kosten für die Höhenmeter bergauf -assign uphillcutoff 1 # Steigungen unter diesem Wert in Prozent werden nicht gewertet - -assign validForBikes true # bei true werden die Außnahmen bei den Abbiegebeschränkungen für Fahrräder aktiviert -assign considerTurnRestrictions true # bei false werden die Abbiegebeschränkungen ignoriert - -assign pass1coefficient 3 # Berechnugskoeffizient für erste schnelle Berechnung -assign pass2coefficient 0 # Berechnugskoeffizient für zweite exakte Berechnung -# sinnvolle Werte für den ersten Koeffizienten: -# 1 exakte Berechnung beim ersten Durchlauf -# umso größer die Werte umso schneller und ungenauer die erste Berechnung -# sinnvolle Werte für den zweiten Koeffizienten: -# 0 exakte Berechnung mit Beschränkung des Suchgebiets über die Kosten der ersten Berechnung -# -1 keine zweite Berechnung, nur sinnvoll bei 1 im ersten Durchlauf - -# Um die ungenauen SRTM Höhendaten zu filtern werden für jeweils für Anstiege und Gefälle Puffer verwendet. Erst wenn diese überschritten werden die Segmente als Anstiege oder Gefälle gewertet. - -assign elevationpenaltybuffer 7 # Höhenpuffer (in Meter) ab dem die Höhenstrafen beginnen und das Segment als Anstieg und Gefälle gewertet wird -assign elevationmaxbuffer 13 # Maximale Puffergröße (in Meter), alles darüberhinausgehende wird voll bestraft -assign elevationbufferreduce 1 # im Bereich zwischen elevationpenaltybuffer und elevationmaxbuffer wird eine Höhenstrafe, die einer Steigung oder Gefälle dieses Wertes (in Prozent) entspricht, verhängt und diese Höhenmeter vom Puffer abgezogen. - -assign lmc switch low_memory_cutoff 10000 0 ----context:way - -# Parameter für die Wege -#zusätzliche Kosten in Meter für jeden Streckenabschnitt - -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 cycleway - or bicycle_road=yes or highway=cycleway and highway=path|footway bicycle=designated|yes - -assign footway - or highway=footway and highway=path foot=designated|yes - -assign turncost - switch junction=roundabout 0 - 150 # Kosten die für eine 90 Grad Abbiegung berechnet werden. Für kleinere Winkel werden sie mit turncost*cos(Winkel) berechnet, bei Kreisverkehr keine weitere Kosten - -assign initialclassifier # hier wird bestimmten Wegen ein Wert zugeordnet und wenn er sich vom vorherigen unterscheidet die initalcost hinzugerechnet - switch route=ferry 2 - switch highway=steps 3 - switch cycleway 4 - switch footway 5 - 1 - -assign initialcost - switch route=ferry 15000 # Kosten wenn eine Fähre verwendet wird - switch highway=steps 1000 # Kosten für Stufen - switch cycleway 800 # Kosten für Radwege - switch footway 1000 # Kosten für Fußwege - 0 - -# Kosten ab hier als Meter für jeden tatsächlichen Meter - -assign oneway - switch oneway= - junction=roundabout - or oneway=yes or oneway=true oneway=1 - -assign onewaypenalty - switch switch reversedirection=yes oneway oneway=-1 - switch or cycleway=opposite or cycleway=opposite_lane or cycleway=opposite_track oneway:bicycle=no 0 #zusätzliche Kosten für in Gegenrichtung für Radfahrer freigegebene Einbahnstraßen in Gegenrichtung - switch or highway=primary highway=primary_link add lmc 50 #zusätzliche Kosten für Bundesstraßen Einbahnstraßen in Gegenrichtung - switch or highway=secondary highway=secondary_link add lmc 30 #zusätzliche Kosten für Landstraßen Einbahnstraßen in Gegenrichtung - switch or highway=tertiary highway=tertiary_link add lmc 25 #zusätzliche Kosten für Kreisstraßen Einbahnstraßen in Gegenrichtung - 20.0 #zusätzliche Kosten für sonstige Einbahnstraßen in Gegenrichtung - 0.0 - -assign defaultaccess - switch access= - not motorroad=yes - switch or access=private access=no - 0 - 1 - -assign bikeaccess - or any_cycleroute - switch bicycle= - switch bicycle_road=yes - 1 - switch vehicle= - defaultaccess - switch or vehicle=private vehicle=no - 0 - 1 - not or bicycle=private or and not ignore_bicycle_no bicycle=no bicycle=dismount - - -assign footaccess - or bikeaccess - or and bicycle=dismount ignore_bicycle_no - switch foot= - defaultaccess - not or foot=private foot=no - -assign accesspenalty - switch bikeaccess - 0 - switch footaccess - 15 #Zusatzkosten fürs Schieben - 10000 #Zusatzkosten für gesperrte oder private Wege - -assign maxspeed_forward - switch maxspeed:forward=50 50 - switch maxspeed:forward=30 30 - switch maxspeed:forward=10 10 - switch maxspeed:forward=20 20 - switch maxspeed:forward=40 40 - switch maxspeed:forward=60 60 - switch maxspeed:forward=70 70 - switch maxspeed:forward=80 80 - switch maxspeed:forward=90 90 - switch maxspeed:forward=100 100 - switch maxspeed:forward=110 110 - switch maxspeed:forward=120 120 - switch maxspeed:forward=130 130 - switch maxspeed:forward=urban 50 - switch maxspeed:forward=rural 100 - 0 - -assign maxspeed_backward - switch maxspeed:backward=50 50 - switch maxspeed:backward=30 30 - switch maxspeed:backward=10 10 - switch maxspeed:backward=20 20 - switch maxspeed:backward=40 40 - switch maxspeed:backward=60 60 - switch maxspeed:backward=70 70 - switch maxspeed:backward=80 80 - switch maxspeed:backward=90 90 - switch maxspeed:backward=100 100 - switch maxspeed:backward=110 110 - switch maxspeed:backward=120 120 - switch maxspeed:backward=130 130 - switch maxspeed:backward=urban 50 - switch maxspeed:backward=rural 100 - 0 - -assign maxspeed - switch and reversedirection=yes maxspeed_backward maxspeed_backward - switch and not reversedirection=yes maxspeed_forward maxspeed_forward - switch maxspeed=50 50 - switch maxspeed=30 30 - switch maxspeed=10 10 - switch maxspeed=20 20 - switch maxspeed=40 40 - switch maxspeed=60 60 - switch maxspeed=70 70 - switch maxspeed=80 80 - switch maxspeed=90 90 - switch maxspeed=100 100 - switch maxspeed=110 110 - switch maxspeed=120 120 - switch maxspeed=130 130 - switch maxspeed=urban 50 - switch maxspeed=rural 100 - 999 - - -assign downspeedpenalty - switch equal maxspeed 10 5 # Zusatzkosten für Geschwindigkeitsbegrenzung 10 km/h bei Gefälle - switch equal maxspeed 20 2 # Zusatzkosten für Geschwindigkeitsbegrenzung 20 km/h bei Gefälle - switch equal maxspeed 30 1 # Zusatzkosten für Geschwindigkeitsbegrenzung 30 km/h bei Gefälle - switch equal maxspeed 40 0.8 # Zusatzkosten für Geschwindigkeitsbegrenzung 40 km/h bei Gefälle - switch equal maxspeed 50 0.5 # Zusatzkosten für Geschwindigkeitsbegrenzung 50 km/h bei Gefälle - 0 - -assign flatspeedpenalty - switch equal maxspeed 10 3 # Zusatzkosten für Geschwindigkeitsbegrenzung 10 km/h in der Ebene - switch equal maxspeed 20 1 # Zusatzkosten für Geschwindigkeitsbegrenzung 20 km/h in der Ebene - switch equal maxspeed 30 0.5 # Zusatzkosten für Geschwindigkeitsbegrenzung 30 km/h in der Ebene - switch equal maxspeed 40 0.3 # Zusatzkosten für Geschwindigkeitsbegrenzung 40 km/h in der Ebene - switch equal maxspeed 50 0.1 # Zusatzkosten für Geschwindigkeitsbegrenzung 50 km/h in der Ebene - 0 - -assign upspeedpenalty - switch equal maxspeed 10 1.5 # Zusatzkosten für Geschwindigkeitsbegrenzung 10 km/h bei Anstiegen - switch equal maxspeed 20 0.4 # Zusatzkosten für Geschwindigkeitsbegrenzung 20 km/h bei Anstiegen - switch equal maxspeed 30 0.1 # Zusatzkosten für Geschwindigkeitsbegrenzung 30 km/h bei Anstiegen - 0 - - -assign surfacepenalty - add switch embedded_rails=tram|yes|rail 20 # Zusatzkosten bei Schienen in der Fahrbahn - 0 - switch surface=asphalt|paved 0 #Zusatzkosten für Teer oder versiegelte Flächen - switch concrete=plates 1 # Zusatzkosten für Betonplattenwege - switch concrete=lanes 5 # Zusatzkosten für Betonspurplatten - switch surface=concrete|paving_stones|wood|metal 0.5 #Zusatzkosten für Beton, Pflastersteine, Holz oder Metall - switch surface=cobblestone|fine_gravel|compacted|sett|grass_paver 5 #Zusatzkosten für Kopfsteinpflaster, Splitt, verdichtete Deckschicht, behauene Pflastersteine oder Rasengittersteine - switch surface=gravel|sand|pebblestone add lmc 10 #Zusatzkosten für Schotter, Sand oder Kies - switch surface=ground|grass|unpaved|dirt|earth|mud|clay add lmc 50 #Zusatzkosten für naturbelassene Wege, Grasswege, unbefestigte Wege, Schmutzwege, erdige Wege, schlammige Wege oder Lehmwege - 0 - -assign smoothnesspenalty - switch smoothness=excellent|good|very_good 0 #Zusatzkosten für excellente, gute, oder sehr gute Oberflächen - switch smoothness=intermediate|medium 0.2 #Zusatzkosten für mittelmäßige Oberflächen - switch smoothness=rough|poor 2 #Zusatzkosten für raue oder schlechte Oberflächen - switch smoothness=robust_wheels|bad add lmc 10 #Zusatzkosten für Oberflächen die robuste Reifen benötigen oder schlechte Oberflächen - switch smoothness=high_clearance|off_road_wheels|very_bad|horrible|very_horrible|impassable add lmc 100 #Zusatzkosten für Oberflächen die eine erhöhte Bodenfreiheit oder Geländebereifung benötigen, schrecklich, sehr schrecklich oder unpasierbar sind - 0 - - -assign costfactor - -# dieser Abschnitt ist für die Kosten in der Ebene - - switch and highway= not route=ferry 10000 # Kosten für alles ohne higway tag außer Fähren - switch or highway=proposed highway=abandoned 10000 # Kosten für geplante oder Wege im Bau - - min 9999 - - add onewaypenalty - add accesspenalty - add surfacepenalty - add switch consider_smoothness_tags smoothnesspenalty 0 - add flatspeedpenalty - - switch highway=motorway|motorway_link 10000 # Kosten für Autobahnen - switch route=ferry 10.67 # Kosten für Fähren - switch highway=trunk|trunk_link 2.5 # Kosten für eine autobahnänliche Straße - switch highway=primary|primary_link 1.2 # Kosten für Bundesstraßen - switch highway=secondary|secondary_link 1 # Kosten für Landstraßen - switch highway=tertiary|tertiary_link 1.1 # Kosten für Kreisstraßen - switch highway=unclassified 1.2 # Kosten für Verbindungsstraßen - switch highway=residential|service 1.7 # Kosten für Wohn- und Zufahrtsstraßen - switch highway=track - switch tracktype=grade1 2.5 # Kosten für geteerte, betonierte oder gepflasterte Feldwege - switch tracktype=grade2 10 # Kosten für geschotterte Feldwege - switch tracktype=grade3 add lmc 40 # Kosten für Feldwege mit weichem Untergrund - switch tracktype=grade4 add lmc 50 # Kosten für unbefestigte Feldwege - switch tracktype=grade5 add lmc 50 # Kosten für kaum erkennbare Feldwege - add lmc 20 # Kosten für Feldwege ohne Oberflächenangabe - switch cycleway 2.5 # Kosten für Fahrradwege - switch ( or highway=living_street living_street=yes ) 5 # Kosten für Spielstraßen - switch highway=road 10 # Kosten für noch nicht genauer beschriebene Straße - switch footway 30 # Kosten für Fußwege - switch highway=pedestrian 30 # Kosten für Gehwege - switch highway=steps 40 # Kosten für Stufen - switch highway=path - switch surface= add lmc 40 # Kosten für Pfade ohne Oberflächenangabe - 10 # Kosten für Pfade mit Oberflächenangabe - switch highway=bridleway add lmc 80 # Kosten für Reitwege - add lmc 20 # Kosten für sonstige Wege - -assign uphillcostfactor - -# dieser Abschnitt ist für die Kosten bei Anstiegen -# da er von der Struktur identisch wie der vorherige Abschnitt werde ich die Beschreibung hier nicht wiederholen - - switch and highway= not route=ferry 10000 - switch or highway=proposed highway=abandoned 10000 - - min 9999 - - add upspeedpenalty - add onewaypenalty - add accesspenalty - add switch consider_smoothness_tags smoothnesspenalty 0 - add surfacepenalty - - switch highway=motorway|motorway_link 10000 - switch route=ferry 10.67 - switch highway=trunk|trunk_link 6.5 - switch highway=primary|primary_link 3 - switch highway=secondary|secondary_link 1.2 - switch highway=tertiary|tertiary_link 1 - switch highway=unclassified 1 - switch highway=residential|service 1.5 - switch highway=track - switch tracktype=grade1 2 - switch tracktype=grade2 10 - switch tracktype=grade3 add lmc 40 - switch tracktype=grade4 add lmc 50 - switch tracktype=grade5 add lmc 50 - add lmc 20 - switch cycleway 2 - switch ( or highway=living_street living_street=yes ) 5 - switch highway=road 10 - switch footway 30 - switch highway=pedestrian 30 - switch highway=steps 40 - switch highway=path - switch surface= add lmc 40 - 10 - switch highway=bridleway add lmc 80 - add lmc 20 - -assign downhillcostfactor - -# dieser Abschnitt ist für die Kosten bei Gefälle -# da er von der Struktur identisch wie der vorvorherige Abschnitt werde ich die Beschreibung hier auch nicht wiederholen - - switch and highway= not route=ferry 10000 - switch or highway=proposed highway=abandoned 10000 - - min 9999 - - add downspeedpenalty - add onewaypenalty - add accesspenalty - add switch consider_smoothness_tags smoothnesspenalty 0 - add surfacepenalty - - switch highway=motorway|motorway_link 10000 - switch route=ferry 10.67 - switch highway=trunk|trunk_link 1.5 - switch highway=primary|primary_link 1 - switch highway=secondary|secondary_link 1 - switch highway=tertiary|tertiary_link 1.5 - switch highway=unclassified 1.7 - switch highway=residential|service 2.5 - switch highway=track - switch tracktype=grade1 4 - switch tracktype=grade2 10 - switch tracktype=grade3 add lmc 40 - switch tracktype=grade4 add lmc 50 - switch tracktype=grade5 add lmc 50 - add lmc 20 - switch cycleway 5 - switch ( or highway=living_street living_street=yes ) 8 - switch highway=road 10 - switch footway 30 - switch highway=pedestrian 30 - switch highway=steps 40 - switch highway=path - switch surface= add lmc 40 - 10 - switch highway=bridleway add lmc 80 - add lmc 20 - - -# hier kommen Variablen die zur Generierung der Abiegehinweise benötigt werden - -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 ( or highway=residential|living_street living_street=yes ) then 6 - else if ( highway=service ) then 6 - else if ( highway=cycleway ) then 6 - else if ( or bicycle=designated bicycle_road=yes ) 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 - - - -assign isbadoneway = not equal onewaypenalty 0 -assign isgoodoneway = if reversedirection=yes then oneway=-1 - else if oneway= then junction=roundabout else oneway=yes|true|1 -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 ( or highway=residential|living_street|service living_street=yes ) then true - else if ( and highway=track tracktype=grade1 ) then true - else false - -assign classifiermask add isbadoneway - add multiply isgoodoneway 2 - add multiply isroundabout 4 - add multiply islinktype 8 - multiply isgoodforcars 16 - ----context:node # following code refers to node tags - -# Parameter für Knotenpunkte -# Kosten an Knotenpunkten in Meter - - -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 and not or highway=crossing ignore_bicycle_no bicycle=no bicycle=dismount - 0 - 1 - -assign footaccess - or bicycle=dismount - switch foot= - defaultaccess - switch or foot=private foot=no - 0 - 1 - -assign initialcost - add switch highway=traffic_signals 250 # Kosten für Ampel - switch highway=stop 250 # Kosten für Stoppschild - switch railway=crossing|level_crossing 350 # Kosten für Bahnübergang - 0 - switch bikeaccess - 0 - switch footaccess - 10000 # Kosten fürs Absteigen - 1000000 #Kosten für verbotene oder private Wege +# +# Profile for fast velomobiles, contributed by http://www.velomobilforum.de + +---context:global + +assign no_steps = true # %no_steps% | keine Stufen, das Velomobil soll nicht getragen werden müssen | boolean +assign no_wrong_oneway = false # %no_wrong oneway% | keine Einbahnstrasse in falsche Richtung, auch nicht schiebend | boolean + +assign dismount_cost = 1000 # %dismount_cost% | Umweg in Meter der in Kauf genommen wird bevor eine Strecke genommen wird bei der man austeigen muss, ab 1 000 000 wird keine Schiebestrecke mehr genommen | number +assign avoid_main_roads = 3 # %avoid_main_roads% | große Straße vermeiden(0-10): 0 = nicht vermeiden, 1 = leicht vermeiden, 3 = Standard, 10 = stark vermeiden | number +assign avoid_small_roads = 5 # %avoid_small_roads% | kleine Straße vermeiden(0-10): 0 = nicht vermeiden, 1 = leicht vermeiden, 5 = Standard, 10 = stark vermeiden | number +assign avoid_cycleways = 8 # %avoid_cycleways% | Radwege vermeiden(0-10): 0 = nicht vermeiden, 1 = leicht vermeiden, 8 = Standard, 10 = stark vermeiden | number +assign avoid_elevation = 5 # %avoid_elevation% | Hohenmeter vermeiden(0-10): 0 = nicht vermeiden, 1 = leicht vermeiden, 5 = Standard, 10 = stark vermeiden | number +assign avoid_bad_ways = 8 # %avoid_bad_ways% | Schlechte Wege vermeiden(0-10): 0 = nicht vermeiden, 1 = leicht vermeiden, 8 = Standard, 10 = stark vermeiden | number + +assign totalMass = 110 # %totalMass% | Gesamtmasse des Fahrzeugs (Fahrzeug, Fahrer, Gepäck...) in kg, für Fahrtzeitschätzung | number +assign maxSpeed = 60 # Maximale Geschwindigkeit ab der der Fahrer bremst in km/h +assign S_C_x = 0.05 # Effektive Stirnfläche in m² +assign C_r = 0.005 # Rollwiderstand +assign bikerPower = 125 # %bikerPower% | Dauerleistung in Watt, für Fahrtzeitschätzung| number + + +assign ignore_bicycle_no = false # %ignore_bicycle_no% | für Regionen mit falschen bicyle=no tags können sie mit "true" ignoriert werden. Auch Shuttletransporte (bicycle=dismount + foot=no) werden geroutet | boolean + + +assign turnInstructionMode = 1 # %turnInstructionMode% | Modus für die Abbiegehinweise | [0=keine, 1=automatische Wahl, 2=locus-Style, 3=osmand-Style, 4=comment-Style, 5=gpsies-Style, 6=orux-Style] +assign turnInstructionCatchingRange 20 # innerhalb dieser Strecke werden mehrere Abiegehinweise zu einem zusammengefasst und die Abiegewinkel werden besser an die generelle Richtung angenähert +assign turnInstructionRoundabouts true # mit "false" werden keine speziellen Abiegehinweise für den Kreisverkehr generiert + +assign avoidmr2 multiply 0.11111111 multiply avoid_main_roads avoid_main_roads +assign avoidsr multiply 0.2 avoid_small_roads +assign avoidbw multiply 0.125 avoid_bad_ways +assign avoid_ele multiply avoid_elevation 0.2 + +assign downhillcost multiply avoid_ele 80 # Kosten für die Höhenmeter bergab +assign downhillcutoff 0.1 # Gefälle unter diesem Wert in Prozent werden nicht gewertet +assign uphillcost multiply avoid_ele 80 # Kosten für die Höhenmeter bergauf +assign uphillcutoff 1 # Steigungen unter diesem Wert in Prozent werden nicht gewertet + +assign validForBikes true # bei true werden die Außnahmen bei den Abbiegebeschränkungen für Fahrräder aktiviert +assign considerTurnRestrictions true # bei false werden die Abbiegebeschränkungen ignoriert + +assign pass1coefficient 3 # Berechnugskoeffizient für erste schnelle Berechnung +assign pass2coefficient 0 # Berechnugskoeffizient für zweite exakte Berechnung +# sinnvolle Werte für den ersten Koeffizienten: +# 1 exakte Berechnung beim ersten Durchlauf +# umso größer die Werte umso schneller und ungenauer die erste Berechnung +# sinnvolle Werte für den zweiten Koeffizienten: +# 0 exakte Berechnung mit Beschränkung des Suchgebiets über die Kosten der ersten Berechnung +# -1 keine zweite Berechnung, nur sinnvoll bei 1 im ersten Durchlauf + +# Um die ungenauen SRTM Höhendaten zu filtern werden für jeweils für Anstiege und Gefälle Puffer verwendet. Erst wenn diese überschritten werden die Segmente als Anstiege oder Gefälle gewertet. + +assign elevationpenaltybuffer 7 # Höhenpuffer (in Meter) ab dem die Höhenstrafen beginnen und das Segment als Anstieg und Gefälle gewertet wird +assign elevationmaxbuffer 13 # Maximale Puffergröße (in Meter), alles darüberhinausgehende wird voll bestraft +assign elevationbufferreduce 1 # im Bereich zwischen elevationpenaltybuffer und elevationmaxbuffer wird eine Höhenstrafe, die einer Steigung oder Gefälle dieses Wertes (in Prozent) entspricht, verhängt und diese Höhenmeter vom Puffer abgezogen. + +---context:way + +# Parameter für die Wege +#zusätzliche Kosten in Meter für jeden Streckenabschnitt + +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 cycleway + or highway=cycleway and highway=path|footway|pedestrian bicycle=designated|yes + +assign footway + or highway=footway|pedestrian and highway=path foot=designated|yes + +assign turncost + switch junction=roundabout 0 + 150 # Kosten die für eine 90 Grad Abbiegung berechnet werden. Für kleinere Winkel werden sie mit turncost*cos(Winkel) berechnet, bei Kreisverkehr keine weitere Kosten + +assign initialclassifier # hier wird bestimmten Wegen ein Wert zugeordnet und wenn er sich vom vorherigen unterscheidet die initalcost hinzugerechnet + switch route=ferry 2 + switch highway=steps 3 + switch cycleway 4 + switch footway 5 + 1 + +assign initialcost + switch route=ferry 15000 # Kosten wenn eine Fähre verwendet wird + switch highway=steps switch no_steps 1000000 dismount_cost # Kosten für Stufen + switch cycleway multiply 12.5 multiply avoid_cycleways avoid_cycleways # Kosten für Radwege + switch footway dismount_cost # Kosten für Fußwege + 0 + +# Kosten ab hier als Meter für jeden tatsächlichen Meter + +assign oneway + switch oneway= + junction=roundabout + or oneway=yes or oneway=true oneway=1 + +assign onewaypenalty + switch switch reversedirection=yes oneway oneway=-1 + switch or cycleway=opposite or cycleway=opposite_lane or cycleway=opposite_track oneway:bicycle=no 0 #zusätzliche Kosten für in Gegenrichtung für Radfahrer freigegebene Einbahnstraßen in Gegenrichtung + switch no_wrong_oneway 10000 + switch or highway=primary highway=primary_link 50 #zusätzliche Kosten für Bundesstraßen Einbahnstraßen in Gegenrichtung + switch or highway=secondary highway=secondary_link 30 #zusätzliche Kosten für Landstraßen Einbahnstraßen in Gegenrichtung + switch or highway=tertiary highway=tertiary_link 25 #zusätzliche Kosten für Kreisstraßen Einbahnstraßen in Gegenrichtung + 20.0 #zusätzliche Kosten für sonstige Einbahnstraßen in Gegenrichtung + 0.0 + +assign defaultaccess + switch access= + not motorroad=yes + switch or access=private access=no + 0 + 1 + +assign bikeaccess + or any_cycleroute + switch bicycle= + switch vehicle= + defaultaccess + switch or vehicle=private vehicle=no + 0 + 1 + not or bicycle=private or and not ignore_bicycle_no bicycle=no bicycle=dismount + + +assign footaccess + or bikeaccess + or and bicycle=dismount ignore_bicycle_no + switch foot= + defaultaccess + not or foot=private foot=no + +assign accesspenalty + switch bikeaccess + 0 + switch footaccess + 15 #Zusatzkosten fürs Schieben + 10000 #Zusatzkosten für gesperrte oder private Wege + +assign maxspeed_forward + switch maxspeed:forward=50 50 + switch maxspeed:forward=30 30 + switch maxspeed:forward=10 10 + switch maxspeed:forward=20 20 + switch maxspeed:forward=40 40 + switch maxspeed:forward=60 60 + switch maxspeed:forward=70 70 + switch maxspeed:forward=80 80 + switch maxspeed:forward=90 90 + switch maxspeed:forward=100 100 + switch maxspeed:forward=110 110 + switch maxspeed:forward=120 120 + switch maxspeed:forward=130 130 + switch maxspeed:forward=urban 50 + switch maxspeed:forward=rural 100 + 0 + +assign maxspeed_backward + switch maxspeed:backward=50 50 + switch maxspeed:backward=30 30 + switch maxspeed:backward=10 10 + switch maxspeed:backward=20 20 + switch maxspeed:backward=40 40 + switch maxspeed:backward=60 60 + switch maxspeed:backward=70 70 + switch maxspeed:backward=80 80 + switch maxspeed:backward=90 90 + switch maxspeed:backward=100 100 + switch maxspeed:backward=110 110 + switch maxspeed:backward=120 120 + switch maxspeed:backward=130 130 + switch maxspeed:backward=urban 50 + switch maxspeed:backward=rural 100 + 0 + +assign maxspeed + switch and reversedirection=yes maxspeed_backward maxspeed_backward + switch and not reversedirection=yes maxspeed_forward maxspeed_forward + switch maxspeed=50 50 + switch maxspeed=30 30 + switch maxspeed=10 10 + switch maxspeed=20 20 + switch maxspeed=40 40 + switch maxspeed=60 60 + switch maxspeed=70 70 + switch maxspeed=80 80 + switch maxspeed=90 90 + switch maxspeed=100 100 + switch maxspeed=110 110 + switch maxspeed=120 120 + switch maxspeed=130 130 + switch maxspeed=urban 50 + switch maxspeed=rural 100 + 999 + + +assign downspeedpenalty + switch equal maxspeed 10 5 # Zusatzkosten für Geschwindigkeitsbegrenzung 10 km/h bei Gefälle + switch equal maxspeed 20 2 # Zusatzkosten für Geschwindigkeitsbegrenzung 20 km/h bei Gefälle + switch equal maxspeed 30 1 # Zusatzkosten für Geschwindigkeitsbegrenzung 30 km/h bei Gefälle + switch equal maxspeed 40 0.8 # Zusatzkosten für Geschwindigkeitsbegrenzung 40 km/h bei Gefälle + switch equal maxspeed 50 0.5 # Zusatzkosten für Geschwindigkeitsbegrenzung 50 km/h bei Gefälle + 0 + +assign flatspeedpenalty + switch equal maxspeed 10 3 # Zusatzkosten für Geschwindigkeitsbegrenzung 10 km/h in der Ebene + switch equal maxspeed 20 1 # Zusatzkosten für Geschwindigkeitsbegrenzung 20 km/h in der Ebene + switch equal maxspeed 30 0.5 # Zusatzkosten für Geschwindigkeitsbegrenzung 30 km/h in der Ebene + switch equal maxspeed 40 0.3 # Zusatzkosten für Geschwindigkeitsbegrenzung 40 km/h in der Ebene + switch equal maxspeed 50 0.1 # Zusatzkosten für Geschwindigkeitsbegrenzung 50 km/h in der Ebene + 0 + +assign upspeedpenalty + switch equal maxspeed 10 1.5 # Zusatzkosten für Geschwindigkeitsbegrenzung 10 km/h bei Anstiegen + switch equal maxspeed 20 0.4 # Zusatzkosten für Geschwindigkeitsbegrenzung 20 km/h bei Anstiegen + switch equal maxspeed 30 0.1 # Zusatzkosten für Geschwindigkeitsbegrenzung 30 km/h bei Anstiegen + 0 + + +assign surfacepenalty + add switch embedded_rails=tram|yes|rail 20 # Zusatzkosten bei Schienen in der Fahrbahn + 0 + multiply avoidbw + switch surface=asphalt|paved 0 #Zusatzkosten für Teer oder versiegelte Flächen + switch concrete=plates 1 # Zusatzkosten für Betonplattenwege + switch concrete=lanes 5 # Zusatzkosten für Betonspurplatten + switch surface=concrete|paving_stones|wood|metal 0.5 #Zusatzkosten für Beton, Pflastersteine, Holz oder Metall + switch surface=cobblestone|fine_gravel|compacted|sett|grass_paver 5 #Zusatzkosten für Kopfsteinpflaster, Splitt, verdichtete Deckschicht, behauene Pflastersteine oder Rasengittersteine + switch surface=gravel|sand|pebblestone 10 #Zusatzkosten für Schotter, Sand oder Kies + switch surface=ground|grass|unpaved|dirt|earth|mud|clay 50 #Zusatzkosten für naturbelassene Wege, Grasswege, unbefestigte Wege, Schmutzwege, erdige Wege, schlammige Wege oder Lehmwege + 0 + +assign smoothnesspenalty + multiply avoidbw + switch smoothness=excellent|good|very_good 0 #Zusatzkosten für excellente, gute, oder sehr gute Oberflächen + switch smoothness=intermediate|medium 1 #Zusatzkosten für mittelmäßige Oberflächen + switch smoothness=rough|poor 2 #Zusatzkosten für raue oder schlechte Oberflächen + switch smoothness=robust_wheels|bad 10 #Zusatzkosten für Oberflächen die robuste Reifen benötigen oder schlechte Oberflächen + switch smoothness=high_clearance|off_road_wheels|very_bad|horrible|very_horrible|impassable 100 #Zusatzkosten für Oberflächen die eine erhöhte Bodenfreiheit oder Geländebereifung benötigen, schrecklich, sehr schrecklich oder unpasierbar sind + 0 + + +assign costfactor + +# dieser Abschnitt ist für die Kosten in der Ebene + + switch and highway= not route=ferry 10000 # Kosten für alles ohne higway tag außer Fähren + switch or highway=proposed highway=abandoned 10000 # Kosten für geplante oder Wege im Bau + + min 9999 + max 1 + + add onewaypenalty + add accesspenalty + add max surfacepenalty smoothnesspenalty + add flatspeedpenalty + + max 1 + switch highway=motorway|motorway_link 10000 # Kosten für Autobahnen + switch route=ferry 10.67 # Kosten für Fähren + switch highway=trunk|trunk_link add 1 multiply avoidmr2 1.5 # Kosten für eine autobahnänliche Straße + switch highway=primary|primary_link add 0.5 multiply avoidmr2 0.7 # Kosten für Bundesstraßen + switch highway=secondary|secondary_link 1 # Kosten für Landstraßen + switch highway=tertiary|tertiary_link add 0.5 multiply avoidsr 0.6 # Kosten für Kreisstraßen + switch highway=unclassified add 0.5 multiply avoidsr 0.7 # Kosten für Verbindungsstraßen + switch highway=residential|service add 0.7 multiply avoidsr 1 # Kosten für Wohn- und Zufahrtsstraßen + switch highway=track + switch tracktype=grade1 add 1 multiply avoidsr 1.5 # Kosten für geteerte, betonierte oder gepflasterte Feldwege + switch tracktype=grade2 multiply avoidbw add 4 multiply avoidsr 6 # Kosten für geschotterte Feldwege + switch tracktype=grade3 multiply avoidbw 40 # Kosten für Feldwege mit weichem Untergrund + switch tracktype=grade4 multiply avoidbw 50 # Kosten für unbefestigte Feldwege + switch tracktype=grade5 multiply avoidbw 50 # Kosten für kaum erkennbare Feldwege + switch surface= multiply avoidbw 20 # Kosten für Feldwege ohne Oberflächenangabe + add 1 multiply avoidsr 1.5 # Kosten für Feldwege mit Oberflächenangabe + switch cycleway add 0.58 multiply avoid_cycleways 0.24 # Kosten für Fahrradwege + switch highway=living_street add 2 multiply avoidsr 3 # Kosten für Spielstraßen + switch highway=road add 4 multiply avoidsr 6 # Kosten für noch nicht genauer beschriebene Straße + switch footway 30 # Kosten für Fußwege + switch highway=steps 40 # Kosten für Stufen + switch highway=path + switch surface= multiply avoidbw 40 # Kosten für Pfade ohne Oberflächenangabe + add 4 multiply avoidsr 6 # Kosten für Pfade mit Oberflächenangabe + switch highway=bridleway multiply avoidbw 80 # Kosten für Reitwege + 20 # Kosten für sonstige Wege + +assign uphillcostfactor + +# dieser Abschnitt ist für die Kosten bei Anstiegen +# da er von der Struktur identisch wie der vorherige Abschnitt werde ich die Beschreibung hier nicht wiederholen + + switch and highway= not route=ferry 10000 + switch or highway=proposed highway=abandoned 10000 + + min 9999 + max 1 + + add onewaypenalty + add accesspenalty + add max surfacepenalty smoothnesspenalty + add upspeedpenalty + max 1 + switch highway=motorway|motorway_link 10000 + switch route=ferry 10.67 + switch highway=trunk|trunk_link add 1 multiply avoidmr2 5.5 + switch highway=primary|primary_link add 0.5 multiply avoidmr2 2.5 + switch highway=secondary|secondary_link add 0.5 multiply avoidmr2 0.7 + switch highway=tertiary|tertiary_link 1 + switch highway=unclassified 1 + switch highway=residential|service add 0.6 multiply avoidsr 0.9 + switch highway=track + switch tracktype=grade1 add 0.8 multiply avoidsr 1.2 + switch tracktype=grade2 multiply avoidbw add 4 multiply avoidsr 6 + switch tracktype=grade3 multiply avoidbw 40 + switch tracktype=grade4 multiply avoidbw 50 + switch tracktype=grade5 multiply avoidbw 50 + switch surface= multiply avoidbw 20 + add 1 multiply avoidsr 1.5 + switch cycleway add 0.24 multiply avoid_cycleways 0.22 + switch highway=living_street add 2 multiply avoidsr 3 + switch highway=road add 4 multiply avoidsr 6 + switch footway 30 + switch highway=steps 40 + switch highway=path + switch surface= multiply avoidbw 40 + add 4 multiply avoidsr 6 + switch highway=bridleway multiply avoidbw 80 + 20 + +assign downhillcostfactor + +# dieser Abschnitt ist für die Kosten bei Gefälle +# da er von der Struktur identisch wie der vorvorherige Abschnitt werde ich die Beschreibung hier auch nicht wiederholen + + switch and highway= not route=ferry 10000 + switch or highway=proposed highway=abandoned 10000 + + min 9999 + max 1 + + add downspeedpenalty + add onewaypenalty + add accesspenalty + add max smoothnesspenalty surfacepenalty + max 1 + switch highway=motorway|motorway_link 10000 + switch route=ferry 10.67 + switch highway=trunk|trunk_link add 0.5 multiply avoidmr2 1 + switch highway=primary|primary_link add 0.5 multiply avoidmr2 0.5 + switch highway=secondary|secondary_link 1 + switch highway=tertiary|tertiary_link add 0.6 multiply avoidsr 0.9 + switch highway=unclassified add 0.6 multiply avoidsr 1.1 + switch highway=residential|service add 1 multiply avoidsr 1.5 + switch highway=track + switch tracktype=grade1 add 1.8 multiply avoidsr 1.2 + switch tracktype=grade2 multiply avoidbw add 4 multiply avoidsr 6 + switch tracktype=grade3 multiply avoidbw 40 + switch tracktype=grade4 multiply avoidbw 50 + switch tracktype=grade5 multiply avoidbw 50 + switch surface= multiply avoidbw 20 + add 1.8 multiply avoidsr 1.2 + switch cycleway add 0.2 multiply avoid_cycleways 0.6 + switch highway=living_street add 2 multiply avoidsr 6 + switch highway=road add 4 multiply avoidsr 6 + switch footway 30 + switch highway=steps 40 + switch highway=path + switch surface= multiply avoidbw 40 + add 4 multiply avoidsr 6 + switch highway=bridleway multiply avoidbw 80 + 20 + + +# hier kommen Variablen die zur Generierung der Abbiegehinweise benötigt werden + +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 + + + +assign isbadoneway = not equal onewaypenalty 0 +assign isgoodoneway = if reversedirection=yes then oneway=-1 + else if oneway= then junction=roundabout else oneway=yes|true|1 +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 + +assign classifiermask add isbadoneway + add multiply isgoodoneway 2 + add multiply isroundabout 4 + add multiply islinktype 8 + multiply isgoodforcars 16 + + + +---context:node # following code refers to node tags + +# Parameter für Knotenpunkte +# Kosten an Knotenpunkten in Meter + + +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 and not or highway=crossing ignore_bicycle_no 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 + add switch highway=traffic_signals 250 # Kosten für Ampel + switch highway=stop 250 # Kosten für Stoppschild + switch railway=crossing|level_crossing 350 # Kosten für Bahnübergang + switch highway=steps switch no_steps 1000000 dismount_cost #Kosten für Stufe + 0 + switch bikeaccess + 0 + switch footaccess + dismount_cost # Kosten fürs Aussteigen + 1000000 #Kosten für verbotene oder private Wege \ No newline at end of file