port testbot profile

This commit is contained in:
Dennis Luxen 2014-08-27 18:10:04 +02:00
parent 94a2188090
commit 462d4c99cc
3 changed files with 58 additions and 56 deletions

View File

@ -145,7 +145,7 @@ Feature: Distance calculation
| a | h | abcdefgh | 70m +-14 | | a | h | abcdefgh | 70m +-14 |
Scenario: Geometric distances Scenario: Geometric distances
Given a grid size of 1000 meters Given a grid size of 100 meters
Given the node map Given the node map
| v | w | y | a | b | c | d | | v | w | y | a | b | c | d |
| u | | | | | | e | | u | | | | | | e |
@ -184,30 +184,30 @@ Feature: Distance calculation
When I route I should get When I route I should get
| from | to | route | distance | | from | to | route | distance |
| x | a | xa | 3000m +-2 | | x | a | xa | 300m +-2 |
| x | b | xb | 3162m +-2 | | x | b | xb | 316m +-2 |
| x | c | xc | 3606m +-2 | | x | c | xc | 360m +-2 |
| x | d | xd | 4243m +-2 | | x | d | xd | 424m +-2 |
| x | e | xe | 3606m +-2 | | x | e | xe | 360m +-2 |
| x | f | xf | 3162m +-2 | | x | f | xf | 316m +-2 |
| x | g | xg | 3000m +-2 | | x | g | xg | 300m +-2 |
| x | h | xh | 3162m +-2 | | x | h | xh | 316m +-2 |
| x | i | xi | 3606m +-2 | | x | i | xi | 360m +-2 |
| x | j | xj | 4243m +-2 | | x | j | xj | 424m +-2 |
| x | k | xk | 3606m +-2 | | x | k | xk | 360m +-2 |
| x | l | xl | 3162m +-2 | | x | l | xl | 316m +-2 |
| x | m | xm | 3000m +-2 | | x | m | xm | 300m +-2 |
| x | n | xn | 3162m +-2 | | x | n | xn | 316m +-2 |
| x | o | xo | 3606m +-2 | | x | o | xo | 360m +-2 |
| x | p | xp | 4243m +-2 | | x | p | xp | 424m +-2 |
| x | q | xq | 3606m +-2 | | x | q | xq | 360m +-2 |
| x | r | xr | 3162m +-2 | | x | r | xr | 316m +-2 |
| x | s | xs | 3000m +-2 | | x | s | xs | 300m +-2 |
| x | t | xt | 3162m +-2 | | x | t | xt | 316m +-2 |
| x | u | xu | 3606m +-2 | | x | u | xu | 360m +-2 |
| x | v | xv | 4243m +-2 | | x | v | xv | 424m +-2 |
| x | w | xw | 3606m +-2 | | x | w | xw | 360m +-2 |
| x | y | xy | 3162m +-2 | | x | y | xy | 316m +-2 |
@maze @maze
Scenario: Distance of a maze of short segments Scenario: Distance of a maze of short segments

View File

@ -4,7 +4,7 @@ module "Access"
function find_access_tag(source,access_tags_hierachy) function find_access_tag(source,access_tags_hierachy)
for i,v in ipairs(access_tags_hierachy) do for i,v in ipairs(access_tags_hierachy) do
local tag = source.tags:Find(v) local tag = source:get_value_by_key(v)
if tag ~= '' then if tag ~= '' then
return tag return tag
end end

View File

@ -45,46 +45,48 @@ function limit_speed(speed, limits)
return speed return speed
end end
function node_function (node) function node_function (node, result)
local traffic_signal = node.tags:Find("highway") local traffic_signal = node:get_value_by_key("highway")
if traffic_signal == "traffic_signals" then if traffic_signal and traffic_signal == "traffic_signals" then
node.traffic_light = true; io.write("traffic_signal\n")
result.traffic_lights = true;
-- TODO: a way to set the penalty value -- TODO: a way to set the penalty value
end end
return 1
end end
function way_function (way) function way_function (way, result)
local highway = way.tags:Find("highway") local highway = way:get_value_by_key("highway")
local name = way.tags:Find("name") local name = way:get_value_by_key("name")
local oneway = way.tags:Find("oneway") local oneway = way:get_value_by_key("oneway")
local route = way.tags:Find("route") local route = way:get_value_by_key("route")
local duration = way.tags:Find("duration") local duration = way:get_value_by_key("duration")
local maxspeed = tonumber(way.tags:Find ( "maxspeed")) local maxspeed = tonumber(way:get_value_by_key ( "maxspeed"))
local maxspeed_forward = tonumber(way.tags:Find( "maxspeed:forward")) local maxspeed_forward = tonumber(way:get_value_by_key( "maxspeed:forward"))
local maxspeed_backward = tonumber(way.tags:Find( "maxspeed:backward")) local maxspeed_backward = tonumber(way:get_value_by_key( "maxspeed:backward"))
local junction = way.tags:Find("junction") local junction = way:get_value_by_key("junction")
way.name = name if name then
result.name = name
end
if route ~= nil and durationIsValid(duration) then if duration and durationIsValid(duration) then
way.duration = math.max( 1, parseDuration(duration) ) result.duration = math.max( 1, parseDuration(duration) )
way.forward_mode = 2 result.forward_mode = 2
way.backward_mode = 2 result.backward_mode = 2
else else
local speed_forw = speed_profile[highway] or speed_profile['default'] local speed_forw = speed_profile[highway] or speed_profile['default']
local speed_back = speed_forw local speed_back = speed_forw
if highway == "river" then if highway == "river" then
local temp_speed = speed_forw; local temp_speed = speed_forw;
way.forward_mode = 3 result.forward_mode = 3
way.backward_mode = 4 result.backward_mode = 4
speed_forw = temp_speed*1.5 speed_forw = temp_speed*1.5
speed_back = temp_speed/1.5 speed_back = temp_speed/1.5
elseif highway == "steps" then elseif highway == "steps" then
way.forward_mode = 5 result.forward_mode = 5
way.backward_mode = 6 result.backward_mode = 6
end end
if maxspeed_forward ~= nil and maxspeed_forward > 0 then if maxspeed_forward ~= nil and maxspeed_forward > 0 then
@ -103,19 +105,19 @@ function way_function (way)
end end
end end
way.forward_speed = speed_forw result.forward_speed = speed_forw
way.backward_speed = speed_back result.backward_speed = speed_back
end end
if oneway == "no" or oneway == "0" or oneway == "false" then if oneway == "no" or oneway == "0" or oneway == "false" then
-- nothing to do -- nothing to do
elseif oneway == "-1" then elseif oneway == "-1" then
way.forward_mode = 0 result.forward_mode = 0
elseif oneway == "yes" or oneway == "1" or oneway == "true" or junction == "roundabout" then elseif oneway == "yes" or oneway == "1" or oneway == "true" or junction == "roundabout" then
way.backward_mode = 0 result.backward_mode = 0
end end
if junction == 'roundabout' then if junction == 'roundabout' then
way.roundabout = true result.roundabout = true
end end
end end