X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/2ca83efc36a96cfa070be61c7422d255044130f3..0cdbb97f6a4953971d60a46ddabc5df24be5f8ad:/settings/flex-base.lua diff --git a/settings/flex-base.lua b/settings/flex-base.lua index f3d977a3..0e112736 100644 --- a/settings/flex-base.lua +++ b/settings/flex-base.lua @@ -13,7 +13,7 @@ local POSTCODE_FALLBACK = true -- The single place table. -place_table = osm2pgsql.define_table{ +local place_table = osm2pgsql.define_table{ name = "place", ids = { type = 'any', id_column = 'osm_id', type_column = 'osm_type' }, columns = { @@ -108,38 +108,6 @@ function Place:grab_extratags(data) return count end -function Place:grab_address(data) - local count = 0 - - if data.match ~= nil then - for k, v in pairs(self.object.tags) do - if data.match(k, v) then - self.object.tags[k] = nil - - if data.include_on_name == true then - self.has_name = true - end - - if data.out_key ~= nil then - self.address[data.out_key] = v - return 1 - end - - if k:sub(1, 5) == 'addr:' then - self.address[k:sub(6)] = v - elseif k:sub(1, 6) == 'is_in:' then - self.address[k:sub(7)] = v - else - self.address[k] = v - end - count = count + 1 - end - end - end - - return count -end - local function strip_address_prefix(k) if k:sub(1, 5) == 'addr:' then return k:sub(6) @@ -178,24 +146,6 @@ function Place:grab_address_parts(data) return count end -function Place:grab_name(data) - local count = 0 - - if data.match ~= nil then - for k, v in pairs(self.object.tags) do - if data.match(k, v) then - self.object.tags[k] = nil - self.names[k] = v - if data.include_on_name ~= false then - self.has_name = true - end - count = count + 1 - end - end - end - - return count -end function Place:grab_name_parts(data) local fallback = nil @@ -220,9 +170,6 @@ function Place:grab_name_parts(data) return fallback end -function Place:grab_tag(key) - return self.object:grab_tag(key) -end function Place:write_place(k, v, mtype, save_extra_mains) if mtype == nil then @@ -424,7 +371,7 @@ function module.tag_group(data) end -- Process functions for all data types -function osm2pgsql.process_node(object) +function module.process_node(object) local function geom_func(o) return o:as_point() @@ -433,7 +380,7 @@ function osm2pgsql.process_node(object) module.process_tags(Place.new(object, geom_func)) end -function osm2pgsql.process_way(object) +function module.process_way(object) local function geom_func(o) local geom = o:as_polygon() @@ -448,7 +395,7 @@ function osm2pgsql.process_way(object) module.process_tags(Place.new(object, geom_func)) end -function osm2pgsql.process_relation(object) +function module.process_relation(object) local geom_func = module.RELATION_TYPES[object.tags.type] if geom_func ~= nil then @@ -456,6 +403,11 @@ function osm2pgsql.process_relation(object) end end +-- The process functions are used by default by osm2pgsql. +osm2pgsql.process_node = module.process_node +osm2pgsql.process_way = module.process_way +osm2pgsql.process_relation = module.process_relation + function module.process_tags(o) o:clean{delete = PRE_DELETE, extra = PRE_EXTRAS} @@ -509,8 +461,8 @@ end function module.set_prefilters(data) PRE_DELETE = module.tag_match{keys = data.delete_keys, tags = data.delete_tags} - PRE_EXTRAS = module.tag_match{keys = data.extratag_keys, - tags = data.extratag_tags} + PRE_EXTRAS = module.tag_match{keys = data.extra_keys, + tags = data.extra_tags} end function module.set_main_tags(data) @@ -532,12 +484,12 @@ end function module.set_unused_handling(data) if data.extra_keys == nil and data.extra_tags == nil then - POST_DELETE = module.tag_match{data.delete_keys, tags = data.delete_tags} + POST_DELETE = module.tag_match{keys = data.delete_keys, tags = data.delete_tags} POST_EXTRAS = nil SAVE_EXTRA_MAINS = true elseif data.delete_keys == nil and data.delete_tags == nil then POST_DELETE = nil - POST_EXTRAS = module.tag_match{data.extra_keys, tags = data.extra_tags} + POST_EXTRAS = module.tag_match{keys = data.extra_keys, tags = data.extra_tags} SAVE_EXTRA_MAINS = false else error("unused handler can have only 'extra_keys' or 'delete_keys' set.")