Hi,
I have tried GraphHopper to calculate a routing by bike where it should select acycle path and it does not unexpectedly.
On line link don’t show the routing but at least you have the example.
Here is a snapshot of the routing obtained off-line:
It should take the cycle path underlined in red.
As you can see in the url, it is a customed profile for EUC, but mostly as a bike with:
{
"if": "road_class == CYCLEWAY",
"multiply_by": 1.0
},
Other road_class
are penalized.
Here is a view of the area from OSM, showing the cycle path it should have used:
My full euc.json:
{
"priority": [
{
"if": "road_class == PRIMARY",
"multiply_by": 0.5
},
{
"if": "road_class == SECONDARY",
"multiply_by": 0.7
},
{
"if": "road_class == TERTIARY",
"multiply_by": 0.8
},
{
"if": "road_class == CYCLEWAY",
"multiply_by": 1.0
},
{
"if": "road_class == MOTORWAY || road_class == TRUNK || road_class == PEDESTRIAN || road_class == FOOTWAY || road_class == BRIDLEWAY",
"multiply_by": 0.0
},
{
"if": "max_speed > 80",
"multiply_by": 0.4
},
{
"if": "surface == ASPHALT || surface == CONCRETE",
"multiply_by": 1.0
},
{
"if": "surface == GRAVEL || track_type == GRADE3",
"multiply_by": 0.6
},
{
"if": "surface == DIRT || track_type == GRADE4",
"multiply_by": 0.3
},
{
"if": "track_type == GRADE5",
"multiply_by": 0.1
},
],
"speed": [
{
"if": "true",
"limit_to": "20"
},
{
"if": "surface == ASPHALT || surface == CONCRETE",
"limit_to": "25"
},
{
"if": "surface == GRAVEL || track_type == GRADE3",
"limit_to": "18"
},
{
"if": "surface == DIRT || track_type == GRADE4",
"limit_to": "10"
},
{
"if": "track_type == GRADE5 || smoothness == VERY_BAD",
"limit_to": "6"
}
]
}
What could be the reason for that?