Actually add the examples

This commit is contained in:
Pieter Vander Vennet 2021-01-27 16:14:10 +01:00
parent 142e192ff9
commit c98b434370
27 changed files with 1928 additions and 0 deletions

View file

@ -0,0 +1,75 @@
{
"name": "bicycle.comfort",
"description": "Gives a comfort factor for a road, purely based on physical aspects of the road, which is a bit subjective; this takes a bit of scnery into account with a preference for `railway=abandoned` and `towpath=yes`",
"unit": "[0, 2]",
"$default": 1,
"value": {
"$multiply": {
"highway": {
"cycleway": 1.2,
"primary": 0.3,
"secondary": 0.4,
"tertiary": 0.5,
"unclassified": 0.8,
"track": 0.95,
"residential": 1.0,
"living_street": 1.1,
"footway": 0.95,
"path": 0.5,
"construction": 0.5
},
"railway": {
"abandoned": 2
},
"towpath": {
"yes": 2
},
"cycleway": {
"track": 1.2
},
"cyclestreet": {
"yes": 1.1
},
"access": {
"designated": 1.2,
"dismount": 0.01
},
"bicycle:class":{
"-3": 0.5,
"-2": 0.7,
"-1": 0.9,
"0": 1,
"1": 1.1,
"2": 1.3,
"3": 1.5
},
"surface": {
"#": "The surface mapping heavily resembles the one in speed_factor, but it is not entirely the same",
"paved": 0.99,
"concrete:lanes": 0.8,
"concrete:plates": 1.0,
"sett": 0.9,
"unhewn_cobblestone": 0.75,
"cobblestone": 0.8,
"unpaved": 0.75,
"compacted": 0.95,
"fine_gravel": 0.7,
"gravel": 0.9,
"dirt": 0.6,
"earth": 0.6,
"grass": 0.6,
"grass_paver": 0.9,
"ground": 0.7,
"sand": 0.5,
"woodchips": 0.5,
"snow": 0.5,
"pebblestone": 0.5,
"mud": 0.4
},
"route": {
"#": "Discourage ferries",
"ferry": 0.01
}
}
}
}

View file

@ -0,0 +1,80 @@
{
"name": "bicycle.legal_access",
"description": "Gives, for each type of highway, whether or not a normal bicycle can enter legally.\nNote that legal access is a bit 'grey' in the case of roads marked private and permissive, in which case these values are returned ",
"unit": "'designated': Access is allowed and even specifically for bicycles\n'yes': bicycles are allowed here\n'permissive': bicycles are allowed here, but this might be a private road or service where usage is allowed, but could be retracted one day by the owner\n'dismount': cycling here is not allowed, but walking with the bicycle is\n'destination': cycling is allowed here, but only if truly necessary to reach the destination\n'private': this is a private road, only go here if the destination is here\n'no': do not cycle here",
"$default": "no",
"value": {
"$firstMatchOf": [
"anyways:bicycle",
"anyways:access",
"anyways:construction",
"bicycle",
"access",
"service",
"highway"
],
"value": {
"access": {
"no": "no",
"customers": "private",
"private": "private",
"#": "Note that we leave out 'yes', as it is meaningless - the default assumption is that everything on OSM is accessible! This forces to fall through to the road type, in order to force `highway=motorway; access=yes` as not to trigger access for bicycles",
"permissive": "permissive",
"destination": "destination",
"delivery": "destination",
"service": "destination",
"permit": "destination"
},
"highway": {
"cycleway": "designated",
"residential": "yes",
"living_street": "yes",
"service": "yes",
"services": "yes",
"track": "yes",
"crossing": "dismount",
"footway": "dismount",
"pedestrian": "dismount",
"corridor": "dismount",
"construction": "dismount",
"steps": "dismount",
"path": "yes",
"primary": "yes",
"primary_link": "yes",
"secondary": "yes",
"secondary_link": "yes",
"tertiary": "yes",
"tertiary_link": "yes",
"unclassified": "yes",
"road": "yes"
},
"service": {
"parking_aisle": "permissive",
"driveway": "private",
"alley": "yes",
"bus": "no"
},
"bicycle": {
"yes": "yes",
"no": "no",
"use_sidepath": "no",
"designated": "designated",
"permissive": "permissive",
"private": "private",
"official": "designated",
"dismount": "dismount",
"permit": "destination"
},
"anyways:bicycle": "$id",
"anyways:access": {
"no": "no",
"destination": "destination",
"yes": "yes"
},
"anyways:construction": {
"yes": "no"
}
}
}
}

View file

@ -0,0 +1,13 @@
{
"name": "bicycle.network_is_nodenetwork",
"description": "Returns true if the highway is part of a [cycle node network](https://wiki.openstreetmap.org/wiki/Cycle_Node_Network_Tagging)",
"$memberOf": {
"$mustMatch": {
"type": "route",
"route": "bicycle",
"state": {"$not": "proposed"},
"network:type": "node_network"
}
}
}

View file

@ -0,0 +1,54 @@
{
"name": "bicycle.oneway",
"description": "Determines wether or not a bicycle can go in both ways in this street, and if it is oneway, in what direction",
"unit": "both: direction is allowed in both direction\nwith: this is a oneway street with direction allowed with the grain of the way\nagainst: oneway street with direction against the way",
"$default": "both",
"value": {
"$firstMatchOf": [
"oneway:bicycle",
"junction",
"cycleway",
"cycleway:left",
"oneway"
],
"value": {
"oneway": {
"yes": "with",
"no": "both",
"1": "with",
"-1": "against"
},
"oneway:bicycle": {
"yes": "with",
"no": "both",
"1": "with",
"-1": "against"
},
"junction": {
"roundabout": "with"
},
"cycleway": {
"right": "against",
"#": "We ignore 'no' as it has no meaning and is the default assumption",
"opposite_lane": "both",
"track": "both",
"lane": "both",
"opposite": "both",
"opposite_share_busway": "both",
"opposite_track": "both"
},
"cycleway:left": {
"no": "with",
"none": "with",
"yes": "both",
"lane": "both",
"track": "both",
"shared_lane": "both",
"share_busway": "both",
"opposite_lane": "both",
"opposite_track": "both",
"opposite": "both"
}
}
}
}

View file

@ -0,0 +1,84 @@
{
"name": "bicycle.safety",
"description": "Determines how safe a cyclist feels on a certain road, mostly based on car pressure. This is quite a subjective measurem",
"unit": "safety",
"$default": 1,
"value": {
"$multiply": {
"access": {
"#": "access=no and access 'destination' implies this access for cars too and is a bonus!",
"no": 1.5,
"destination": 1.4,
"dismount": 0.2,
"designated": 1.5
},
"bicycle:class":{
"-3": 0.5,
"-2": 0.7,
"-1": 0.9,
"0": 1,
"1": 1.1,
"2": 1.3,
"3": 1.5
},
"motor_vehicle": {
"no": 1.5,
"destination": 1.4
},
"foot": {
"designated": 0.95
},
"bicycle": {
"designated": 1.5
},
"cyclestreet": {
"yes": 1.5
},
"towpath": {
"yes": 1.1
},
"designation": {
"towpath": 1.5
},
"highway": {
"cycleway": 1.0,
"primary": 0.1,
"secondary": 0.4,
"tertiary": 0.5,
"unclassified": 0.8,
"track": 0.95,
"residential": 0.9,
"living_street": 0.95,
"footway": 0.95,
"path": 0.9,
"#": "A road under construction often has various objects laying around, rough edges, .... -> chance to fall",
"construction": 0.6
},
"cycleway": {
"#": "A distinct cycleway _always_ makes the road safer for cyclists, even if it is but a small lane. The default assumption is 'no', no cycleway, in which case the safety feeling is not improved",
"yes": 1.15,
"lane": 1.15,
"shared": 1.03,
"shared_lane": 1.03,
"share_busway": 1.05,
"track": 1.5
},
"cycleway:left": {
"yes": 1.15,
"lane": 1.15,
"shared": 1.03,
"shared_lane": 1.03,
"share_busway": 1.05,
"track": 1.5
},
"cycleway:right": {
"yes": 1.15,
"lane": 1.15,
"shared": 1.03,
"shared_lane": 1.03,
"share_busway": 1.05,
"track": 1.5
}
}
}
}

View file

@ -0,0 +1,69 @@
{
"name": "bicycle.speed_factor",
"description": "Calculates a speed factor for bicycles based on physical features, e.g. a sand surface will slow a cyclist down; going over pedestrian areas even more, ...",
"$multiply": {
"access": {
"#": "We have to go by foot. Default speed of 20km/h * 0.15 = 3km/h",
"dismount": 0.15
},
"highway": {
"#": "A small forest path is typically slow",
"path": 0.5,
"#": "an unmaintained track (in Belgium: tractor path) is slower as well",
"track": 0.7,
"#": "A road under construction slows one down, despite (normally) already being dismount",
"construction": 0.5,
"steps": 0.1
},
"ramp:bicycle": {
"#": "These are stairs (highway=steps), but there is a bicycle ramp, so we go a little bit faster",
"yes": 3
},
"surface": {
"paved": 0.99,
"asphalt": 1,
"concrete": 1,
"metal": 1,
"wood": 1,
"concrete:lanes": 0.95,
"concrete:plates": 1,
"paving_stones": 1,
"sett": 0.9,
"unhewn_cobblestone": 0.75,
"cobblestone": 0.8,
"unpaved": 0.75,
"compacted": 0.99,
"fine_gravel": 0.99,
"gravel": 0.9,
"dirt": 0.6,
"earth": 0.6,
"grass": 0.6,
"grass_paver": 0.9,
"ground": 0.7,
"sand": 0.5,
"woodchips": 0.5,
"snow": 0.5,
"pebblestone": 0.5,
"mud": 0.4
},
"tracktype": {
"grade1": 0.99,
"grade2": 0.8,
"grade3": 0.6,
"grade4": 0.3,
"grade5": 0.1
},
"incline": {
"up": 0.75,
"down": 1.25,
"0": 1,
"0%": 1,
"10%": 0.9,
"-10%": 1.1,
"20%": 0.8,
"-20%": 1.2,
"30%": 0.7,
"-30%": 1.3
}
}
}

View file

@ -0,0 +1,95 @@
{
"name": "bicycle",
"description": "Profile for a normal bicycle",
"vehicletypes": [
"vehicle",
"bicycle"
],
"metadata": [
"name",
"bridge",
"tunnel",
"colour",
"cycle_network_colour",
"cycle_network_ref",
"ref",
"status",
"network"
],
"access": "$bicycle.legal_access",
"oneway": "$bicycle.oneway",
"speed": {
"$max": [
"$ferry_speed",
{
"$min": [
"$legal_maxspeed_be",
"#maxspeed",
{
"$multiply": [
"#defaultSpeed",
"$bicycle.speed_factor"
]
}
]
}
]
},
"priority": {
"#comfort": "$bicycle.comfort",
"#safety": "$bicycle.safety",
"#nodeNetworkScore": "$bicycle.network_is_nodenetwork",
"#timeNeeded": "$speed",
"#distance": "$distance",
"#trespassingPenalty": "$clean_permission_score",
"#leastSafetyPenalty": {
"$multiply": [
"$speed",
{
"$atleast": "#leastSafetyRequired",
"f": "$bicycle.safety",
"then": 0,
"else": -1
}
]
}
},
"defaults": {
"#defaultSpeed": 15,
"#maxspeed": 30,
"#timeNeeded": 0,
"#distance": 0,
"#comfort": 0,
"#safety": 0,
"#operatorNetworkScore": 0,
"#networkOperator": [],
"#cycleHighwayNetworkScore": 0,
"#nodeNetworkScore": 0,
"#bicycleNetworkScore": 0,
"#trespassingPenalty": 15,
"#": "This isn't a weight, but is used as cut-off in 'leastSafetyPenalty'",
"#leastSafetyRequired": 0.11,
"#leastSafetyPenalty": 2
},
"behaviours": {
"fastest": {
"description": "The fastest route to your destination",
"#timeNeeded": 1,
"#leastSafetyPenalty": 2
},
"shortest": {
"description": "The shortest route, independent of of speed",
"#distance": 1,
"#leastSafetyPenalty": 2
},
"comfort": {
"description": "A comfortable route preferring well-paved roads, smaller roads and a bit of scenery at the cost of speed",
"#comfort": 1
},
"node_network": {
"description": "A route following the recreational node network. Might make detours",
"#nodeNetworkScore": 10,
"#safety": 1
}
}
}

View file

@ -0,0 +1,18 @@
expected,highway,foot,bicycle,cyclestreet,cycleway,cycleway:right,surface,railway,towpath
1,,,,,,,,,
1,residential,,,,,,,,
1.1,residential,,,yes,,,,,
1.2,cycleway,,,,,,,,
1.2,cycleway,designated,,,,,,,
0.5,path,designated,designated,,,,,,
0.5,path,,designated,,,,,,
0.95,footway,designated,,,,,,,
0.3,primary,,,,no,,,,
0.3,primary,,,,yes,,,,
0.36,primary,,,,track,,,,
0.4,secondary,,,,lane,,,,
0.4,secondary,,,,,lane,asphalt,,
1.1,residential,,,yes,,,asphalt,,
2,,,,,,,,abandoned,
2,,,,,,,,,yes
4,,,,,,,,abandoned,yes
1 expected highway foot bicycle cyclestreet cycleway cycleway:right surface railway towpath
2 1
3 1 residential
4 1.1 residential yes
5 1.2 cycleway
6 1.2 cycleway designated
7 0.5 path designated designated
8 0.5 path designated
9 0.95 footway designated
10 0.3 primary no
11 0.3 primary yes
12 0.36 primary track
13 0.4 secondary lane
14 0.4 secondary lane asphalt
15 1.1 residential yes asphalt
16 2 abandoned
17 2 yes
18 4 abandoned yes

View file

@ -0,0 +1,14 @@
access,oneway,speed,priority,highway,bicycle,surface,cycleway:left,oneway,oneway:bicycle,access,maxspeed,junction
no,both,0,0,,,,,,,,,
designated,both,15,15,cycleway,,,,,,,,
no,both,15,-15,primary,,,,,,,,
no,both,15,-15,primary,yes,,,,,,,
yes,both,15,15,residential,,,,,,,,
yes,both,13.5,13.5,residential,yes,sett,,,,,,
dismount,both,2.25,2.25,pedestrian,,,,,,,,
yes,both,15,15,pedestrian,yes,,,,,,,
yes,both,15,15,unclassified,,,track,yes,no,,,
yes,both,15,15,service,,,,,,,,
yes,both,15,15,tertiary,,,,,,yes,50,
yes,with,15,15,residential,,,,,,,,roundabout
dismount,both,2.25,2.25,footway,dismount
Can't render this file because it has a wrong number of fields in line 14.

View file

@ -0,0 +1,22 @@
expected,highway,bicycle,access,anyways:access,cycleway:right,cycleway
no,,,,,,
no,,,no,,,
yes,,yes,no,,,
yes,path,,,,,
yes,pedestrian,yes,,,,
dismount,pedestrian,,,,,
designated,cycleway,,,,,
destination,residential,,destination,,,
private,residential,,private,,,
designated,residential,designated,,,,
designated,motorway,designated,,,,
no,residential,use_sidepath,,,,
yes,residential,,no,yes,,
yes,primary,,,,,
yes,primary,,,,yes,
yes,primary,,,,,yes
yes,secondary,,,,track,
destination,service,,destination,,,
no,residential,use_sidepath,,,,
yes,tertiary,,,,,no
dismount,construction,,,,,
1 expected highway bicycle access anyways:access cycleway:right cycleway
2 no
3 no no
4 yes yes no
5 yes path
6 yes pedestrian yes
7 dismount pedestrian
8 designated cycleway
9 destination residential destination
10 private residential private
11 designated residential designated
12 designated motorway designated
13 no residential use_sidepath
14 yes residential no yes
15 yes primary
16 yes primary yes
17 yes primary yes
18 yes secondary track
19 destination service destination
20 no residential use_sidepath
21 yes tertiary no
22 dismount construction

View file

@ -0,0 +1,6 @@
access,oneway,speed,priority,highway,_relation:bicycle.network_is_bicycle_network
no,,,,,
designated,both,15,1.5,cycleway,
designated,both,15,4.5,cycleway,yes
yes,both,15,0.9,residential,
yes,both,15,3.9,residential,yes
1 access oneway speed priority highway _relation:bicycle.network_is_bicycle_network
2 no
3 designated both 15 1.5 cycleway
4 designated both 15 4.5 cycleway yes
5 yes both 15 0.9 residential
6 yes both 15 3.9 residential yes

View file

@ -0,0 +1,19 @@
expected,highway,oneway,oneway:bicycle,junction,cycleway,cycleway:right,cycleway:left
both,,,,,,,
both,,no,,,,,
with,,no,yes,,,,
with,,,,roundabout,,,
both,,yes,,,opposite,,
against,,yes,-1,,,,
with,residential,yes,,,,,
both,residential,no,,,,,
both,residential,yes,no,,,,
with,residential,,,roundabout,,,
both,residential,,no,roundabout,,,
against,residential,,-1,,,,
both,residential,invalidKey,no,,,,
with,secondary,yes,,,,track,
both,secondary,yes,,,,,track
both,secondary,yes,,,track,,
with,,yes,,,,,no
both,residential,yes,,,,,lane
1 expected highway oneway oneway:bicycle junction cycleway cycleway:right cycleway:left
2 both
3 both no
4 with no yes
5 with roundabout
6 both yes opposite
7 against yes -1
8 with residential yes
9 both residential no
10 both residential yes no
11 with residential roundabout
12 both residential no roundabout
13 against residential -1
14 both residential invalidKey no
15 with secondary yes track
16 both secondary yes track
17 both secondary yes track
18 with yes no
19 both residential yes lane

View file

@ -0,0 +1,13 @@
expected,highway,cycleway,cyclestreet,foot,bicycle,cycleway:right,access
0.1,primary,no,,,,,
0.115,primary,yes,,,,,
0.15,primary,track,,,,,
0.46,secondary,lane,,,,,
0.9,residential,,,,,,
1.5,cycleway,,,,,,designated
1.35,residential,,yes,,,,
0.95,cycleway,,,designated,,,
0.9025,footway,,,designated,,,
1.2825,path,,,designated,designated,,
1.35,path,,,,designated,,
0.46,secondary,,,,,lane,
1 expected highway cycleway cyclestreet foot bicycle cycleway:right access
2 0.1 primary no
3 0.115 primary yes
4 0.15 primary track
5 0.46 secondary lane
6 0.9 residential
7 1.5 cycleway designated
8 1.35 residential yes
9 0.95 cycleway designated
10 0.9025 footway designated
11 1.2825 path designated designated
12 1.35 path designated
13 0.46 secondary lane

View file

@ -0,0 +1,5 @@
access,oneway,speed,priority,highway,surface
no,both,0,0,,
designated,both,15,1,cycleway,
yes,both,5.25,1,path,ground
no,both,15,-29,primary,
1 access oneway speed priority highway surface
2 no both 0 0
3 designated both 15 1 cycleway
4 yes both 5.25 1 path ground
5 no both 15 -29 primary

View file

@ -0,0 +1,13 @@
expected,incline,surface,highway,access
1,,,,
1,,,residential,
0.75,up,,residential,
1.25,down,,residential,
0.3,up,mud,residential,
1.125,down,sett,residential,
0.675,up,sett,residential,
0.9,,sett,residential,
1,,asphalt,residential,
0.15,,,residential,dismount
0.0315,up,mud,track,dismount
0.9,,sett,primary,
1 expected incline surface highway access
2 1
3 1 residential
4 0.75 up residential
5 1.25 down residential
6 0.3 up mud residential
7 1.125 down sett residential
8 0.675 up sett residential
9 0.9 sett residential
10 1 asphalt residential
11 0.15 residential dismount
12 0.0315 up mud track dismount
13 0.9 sett primary