local module = {}
+-- Customized main tag filter functions
+
+local EXCLUDED_FOOTWAYS = { sidewalk = 1, crossing = 1, link = 1, traffic_aisle }
+
+local function filter_footways(place)
+ if place.has_name then
+ local footway = place.object.tags.footway
+ if footway == nil or EXCLUDED_FOOTWAYS[footway] ~= 1 then
+ return place
+ end
+ end
+ return false
+end
+
+local function include_when_tag_present(key, value, named)
+ if named then
+ return function(place)
+ if place.has_name and place.intags[key] == value then
+ return place
+ end
+ return false
+ end
+ else
+ return function(place)
+ if place.intags[key] == value then
+ return place
+ end
+ return false
+ end
+ end
+end
+
+local function exclude_when_key_present(key, named)
+ if named then
+ return function(place)
+ if place.has_name and place.intags[key] == nil then
+ return place
+ end
+ return false
+ end
+ else
+ return function(place)
+ if place.intags[key] == nil then
+ return place
+ end
+ return false
+ end
+
+ end
+end
+
+local function lock_transform(place)
+ if place.object.tags.waterway ~= nil then
+ local name = place.object.tags.lock_name
+ if name ~= nil then
+ return place:clone{names={name=name, ref=place.object.tags.lock_ref}}
+ end
+ end
+
+ return false
+end
+
-- Main tag definition
module.MAIN_TAGS = {}
yes = 'delete',
no = 'delete',
coastline = 'delete',
- saddle = 'fallback'},
+ saddle = 'fallback',
+ water = exclude_when_key_present('water', true)},
mountain_pass = {'always',
- no = 'delete'}
+ no = 'delete'},
+ water = {include_when_tag_present('natural', 'water', true),
+ river = 'never',
+ stream = 'never',
+ canal = 'never',
+ ditch = 'never',
+ drain = 'never',
+ fish_pass = 'never',
+ yes = 'delete',
+ intermittent = 'delete',
+ tidal = 'delete'
+ }
}
module.MAIN_TAGS_POIS = function (group)
historic = {'always',
yes = group,
no = group},
+ information = {include_when_tag_present('tourism', 'information')},
junction = {'fallback',
no = group},
leisure = {'always',
nature_reserve = 'fallback',
no = group},
+ lock = {yes = lock_transform},
man_made = {pier = 'always',
tower = 'always',
bridge = 'always',
no = group},
tourism = {'always',
no = group,
- yes = group},
+ yes = group,
+ information = 'fallback'},
tunnel = {'named_with_key',
no = group}
} end
service = 'named',
cycleway = 'named',
path = 'named',
- footway = 'named',
+ footway = filter_footways,
steps = 'named',
bridleway = 'named',
track = 'named',