bike: normal speed on paths with asphalt, add tests
This commit is contained in:
parent
d9e3c43c91
commit
47f11fc3a6
40
features/bicycle/surface.feature
Normal file
40
features/bicycle/surface.feature
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
@routing @surface @bicycle
|
||||||
|
Feature: Bike - Surfaces
|
||||||
|
|
||||||
|
Background:
|
||||||
|
Given the profile "bicycle"
|
||||||
|
|
||||||
|
Scenario: Bicycle - Slow surfaces
|
||||||
|
Then routability should be
|
||||||
|
| highway | surface | bothw |
|
||||||
|
| cycleway | | 49s |
|
||||||
|
| cycleway | asphalt | 49s |
|
||||||
|
| cycleway | cobblestone:flattened | 73s |
|
||||||
|
| cycleway | paving_stones | 73s |
|
||||||
|
| cycleway | compacted | 73s |
|
||||||
|
| cycleway | cobblestone | 121s |
|
||||||
|
| cycleway | unpaved | 121s |
|
||||||
|
| cycleway | fine_gravel | 121s |
|
||||||
|
| cycleway | gravel | 121s |
|
||||||
|
| cycleway | pebbelstone | 121s |
|
||||||
|
| cycleway | dirt | 121s |
|
||||||
|
| cycleway | earth | 121s |
|
||||||
|
| cycleway | grass | 121s |
|
||||||
|
| cycleway | mud | 241s |
|
||||||
|
| cycleway | sand | 241s |
|
||||||
|
|
||||||
|
Scenario: Bicycle - Good surfaces on small paths
|
||||||
|
Then routability should be
|
||||||
|
| highway | surface | bothw |
|
||||||
|
| cycleway | | 49s |
|
||||||
|
| path | | 61s |
|
||||||
|
| track | | 61s |
|
||||||
|
| track | asphalt | 49s |
|
||||||
|
| path | asphalt | 49s |
|
||||||
|
|
||||||
|
Scenario: Bicycle - Surfaces should not make unknown ways routable
|
||||||
|
Then routability should be
|
||||||
|
| highway | surface | bothw |
|
||||||
|
| cycleway | | 49s |
|
||||||
|
| nosense | | |
|
||||||
|
| nosense | asphalt | |
|
@ -66,6 +66,7 @@ route_speeds = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
surface_speeds = {
|
surface_speeds = {
|
||||||
|
["asphalt"] = default_speed,
|
||||||
["cobblestone:flattened"] = 10,
|
["cobblestone:flattened"] = 10,
|
||||||
["paving_stones"] = 10,
|
["paving_stones"] = 10,
|
||||||
["compacted"] = 10,
|
["compacted"] = 10,
|
||||||
@ -317,8 +318,12 @@ function way_function (way)
|
|||||||
if surface then
|
if surface then
|
||||||
surface_speed = surface_speeds[surface]
|
surface_speed = surface_speeds[surface]
|
||||||
if surface_speed then
|
if surface_speed then
|
||||||
way.speed = math.min(way.speed, surface_speed)
|
if way.speed > 0 then
|
||||||
way.backward_speed = math.min(way.backward_speed, surface_speed)
|
way.speed = surface_speed
|
||||||
|
end
|
||||||
|
if way.backward_speed > 0 then
|
||||||
|
way.backward_speed = surface_speed
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user