lua: eliminate TagCache.set_tag()
This commit is contained in:
committed by
Patrick Niklaus
parent
50090e6447
commit
c3aeef4e09
@@ -0,0 +1,97 @@
|
||||
-- Enable calling our lua profile code directly from the lua command line,
|
||||
-- which makes it easier to debug.
|
||||
-- We simulate the normal C++ environment by defining the required globals and functions.
|
||||
|
||||
-- Usage:
|
||||
-- > cd profiles
|
||||
-- > lua5.1 debug.lua
|
||||
|
||||
|
||||
-- for more convenient printing of tables
|
||||
local pprint = require('lib/pprint')
|
||||
|
||||
-- globals that are normally set from C++
|
||||
|
||||
-- profiles code modifies this table
|
||||
properties = {}
|
||||
|
||||
-- should match values defined in include/extractor/guidance/road_classification.hpp
|
||||
road_priority_class = {
|
||||
motorway = 0,
|
||||
trunk = 2,
|
||||
primary = 4,
|
||||
secondary = 6,
|
||||
tertiary = 8,
|
||||
main_residential = 10,
|
||||
side_residential = 11,
|
||||
link_road = 14,
|
||||
bike_path = 16,
|
||||
foot_path = 18,
|
||||
connectivity = 31,
|
||||
}
|
||||
|
||||
-- should match values defined in include/extractor/travel_mode.hpp
|
||||
mode = {
|
||||
inaccessible = 0,
|
||||
driving = 1,
|
||||
cycling = 2,
|
||||
walking = 3,
|
||||
ferry = 4,
|
||||
train = 5,
|
||||
pushing_bike = 6,
|
||||
}
|
||||
|
||||
-- input tags, normally extracted from OSM data
|
||||
local way = {
|
||||
highway = 'primary',
|
||||
name = 'Main Street',
|
||||
--width = '3',
|
||||
--maxspeed = '30',
|
||||
--['maxspeed:advisory'] = '25',
|
||||
--oneway = '-1',
|
||||
--service = 'alley',
|
||||
--['oneway:bicycle'] = 'yes',
|
||||
--junction = 'roundabout',
|
||||
--['name:pronunciation'] = 'fuerloong',
|
||||
--route = 'ferry',
|
||||
--duration = '00:01:00',
|
||||
--hov = 'designated',
|
||||
--access = 'no'
|
||||
}
|
||||
-- tag function normally provided via C++
|
||||
function way:get_value_by_key(k)
|
||||
return self[k]
|
||||
end
|
||||
|
||||
-- Mock C++ helper functions which are called from LUA.
|
||||
-- FIXME
|
||||
-- Debugging LUA code that uses these will not work correctly
|
||||
-- unless we reimplement themethods in LUA.
|
||||
|
||||
function durationIsValid(str)
|
||||
return true
|
||||
end
|
||||
|
||||
function parseDuration(str)
|
||||
return 1
|
||||
end
|
||||
|
||||
function canonicalizeStringList(str)
|
||||
return str
|
||||
end
|
||||
|
||||
-- start state of result table, normally set form C++
|
||||
local result = {
|
||||
road_classification = {},
|
||||
forward_speed = -1,
|
||||
backward_speed = -1,
|
||||
}
|
||||
|
||||
-- the profile we want to debug
|
||||
require("car")
|
||||
|
||||
-- call the way function
|
||||
for i=0,10000,1
|
||||
do
|
||||
way_function(way,result)
|
||||
end
|
||||
Reference in New Issue
Block a user