From 114cc776be066443c95b576eedd8011fb92a2c59 Mon Sep 17 00:00:00 2001 From: Sarah Hoffmann Date: Mon, 20 Mar 2023 21:20:27 +0100 Subject: [PATCH 1/2] fix handling of unused extra tags The tags can only be moved to extra tags after the main tags have been handled. --- settings/flex-base.lua | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/settings/flex-base.lua b/settings/flex-base.lua index 0e112736..000d01f3 100644 --- a/settings/flex-base.lua +++ b/settings/flex-base.lua @@ -223,14 +223,15 @@ function Place:write_row(k, v, save_extra_mains) return 0 end - if save_extra_mains then + if save_extra_mains ~= nil then for extra_k, extra_v in pairs(self.object.tags) do - if extra_k ~= k then + if extra_k ~= k and save_extra_mains(extra_k, extra_v) then self.extratags[extra_k] = extra_v end end end + print(k, v) place_table:insert{ class = k, type = v, @@ -243,7 +244,9 @@ function Place:write_row(k, v, save_extra_mains) if save_extra_mains then for k, v in pairs(self.object.tags) do - self.extratags[k] = nil + if save_extra_mains(k, v) then + self.extratags[k] = nil + end end end @@ -437,7 +440,7 @@ function module.process_tags(o) return end - o:clean{delete = POST_DELETE, extra = POST_EXTRAS} + o:clean{delete = POST_DELETE} -- collect main keys for k, v in pairs(o.object.tags) do @@ -485,12 +488,10 @@ end function module.set_unused_handling(data) if data.extra_keys == nil and data.extra_tags == nil then POST_DELETE = module.tag_match{keys = data.delete_keys, tags = data.delete_tags} - POST_EXTRAS = nil - SAVE_EXTRA_MAINS = true + SAVE_EXTRA_MAINS = function() return true end elseif data.delete_keys == nil and data.delete_tags == nil then POST_DELETE = nil - POST_EXTRAS = module.tag_match{keys = data.extra_keys, tags = data.extra_tags} - SAVE_EXTRA_MAINS = false + SAVE_EXTRA_MAINS = module.tag_match{keys = data.extra_keys, tags = data.extra_tags} else error("unused handler can have only 'extra_keys' or 'delete_keys' set.") end From 69ce42b22cc676f0fa4a5ae408008369b9e9cb7e Mon Sep 17 00:00:00 2001 From: Sarah Hoffmann Date: Mon, 20 Mar 2023 21:42:24 +0100 Subject: [PATCH 2/2] remove more tags from full style The full style should only save the necessary tags needed for processing. --- settings/flex-base.lua | 1 - settings/import-full.lua | 12 ++++++------ 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/settings/flex-base.lua b/settings/flex-base.lua index 000d01f3..58d60228 100644 --- a/settings/flex-base.lua +++ b/settings/flex-base.lua @@ -231,7 +231,6 @@ function Place:write_row(k, v, save_extra_mains) end end - print(k, v) place_table:insert{ class = k, type = v, diff --git a/settings/import-full.lua b/settings/import-full.lua index 563f0ed9..d778d5d4 100644 --- a/settings/import-full.lua +++ b/settings/import-full.lua @@ -50,7 +50,11 @@ flex.set_prefilters{delete_keys = {'note', 'note:*', 'source', '*source', 'attri 'nhd:*', 'gnis:*', 'geobase:*', 'KSJ2:*', 'yh:*', 'osak:*', 'naptan:*', 'CLC:*', 'import', 'it:fvg:*', 'type', 'lacounty:*', 'ref:ruian:*', 'building:ruian:type', - 'ref:linz:*', 'is_in:postcode'}, + 'ref:linz:*', 'is_in:postcode', + '*:prefix', '*:suffix', 'name:prefix:*', 'name:suffix:*', + 'name:etymology', 'name:signed', 'name:botanical', + '*:wikidata', '*:wikipedia', 'brand:wikipedia:*', + 'addr:street:name', 'addr:street:type'}, delete_tags = {emergency = {'yes', 'no', 'fire_hydrant'}, historic = {'yes', 'no'}, military = {'yes', 'no'}, @@ -74,11 +78,7 @@ flex.set_prefilters{delete_keys = {'note', 'note:*', 'source', '*source', 'attri waterway = {'riverbank'}, building = {'no'}, boundary = {'place'}}, - extra_keys = {'*:prefix', '*:suffix', 'name:prefix:*', 'name:suffix:*', - 'name:etymology', 'name:signed', 'name:botanical', - 'wikidata', '*:wikidata', - '*:wikipedia', 'brand:wikipedia:*', - 'addr:street:name', 'addr:street:type'} + extra_keys = {'wikidata', 'wikipedia', 'wikipedia:*'} } flex.set_name_tags{main = {'name', 'name:*',