]> git.openstreetmap.org Git - nominatim.git/commitdiff
include lock names mapped with "lock_name"
authorSarah Hoffmann <lonvia@denofr.de>
Mon, 9 Dec 2024 16:57:08 +0000 (17:57 +0100)
committerSarah Hoffmann <lonvia@denofr.de>
Mon, 16 Dec 2024 09:26:55 +0000 (10:26 +0100)
Fixes #3365.

lib-lua/themes/nominatim/presets.lua
test/bdd/osm2pgsql/import/tags.feature

index f230433e80b03f8a2129bf47b4a8a35912f5c01f..4f4fe8630e4e9466d2fce52eeca2a849f37947d7 100644 (file)
@@ -53,6 +53,17 @@ local function exclude_when_key_present(key, named)
     end
 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 = {}
 -- Main tag definition
 
 module.MAIN_TAGS = {}
@@ -169,6 +180,7 @@ module.MAIN_TAGS_POIS = function (group)
     leisure = {'always',
                nature_reserve = 'fallback',
                no = group},
     leisure = {'always',
                nature_reserve = 'fallback',
                no = group},
+    lock = {yes = lock_transform},
     man_made = {pier = 'always',
                 tower = 'always',
                 bridge = 'always',
     man_made = {pier = 'always',
                 tower = 'always',
                 bridge = 'always',
index 2a7673b7583ee51186539d6e747c72b1e8ea30fe..f4ebe7adf23908b7547a0ce648e7ee0fe6968184 100644 (file)
@@ -269,3 +269,18 @@ Feature: Tag evaluation
             | N1:place    | house | 'housenumber': '23' | -    |
             | N2:place    | house | 'housenumber': '23' | 'addr:housename': 'Foo' |
             | N3:place    | house | 'housenumber': '23' | -    |
             | N1:place    | house | 'housenumber': '23' | -    |
             | N2:place    | house | 'housenumber': '23' | 'addr:housename': 'Foo' |
             | N3:place    | house | 'housenumber': '23' | -    |
+
+
+    Scenario: Waterway locks
+        When loading osm data
+            """
+            n1 Twaterway=river,lock=yes
+            n2 Twaterway=river,lock=yes,lock_name=LeLock
+            n3 Twaterway=river,lock=yes,name=LeWater
+            n4 Tamenity=parking,lock=yes,lock_name=Gold
+            """
+        Then place contains exactly
+            | object      | type    | name |
+            | N2:lock     | yes     | 'name': 'LeLock' |
+            | N3:waterway | river   | 'name': 'LeWater' |
+            | N4:amenity  | parking | - |