]> git.openstreetmap.org Git - nominatim.git/commitdiff
restrict place rank inheritance to address items
authorSarah Hoffmann <lonvia@denofr.de>
Fri, 17 Feb 2023 15:25:26 +0000 (16:25 +0100)
committerSarah Hoffmann <lonvia@denofr.de>
Wed, 22 Mar 2023 10:44:02 +0000 (11:44 +0100)
Place tags must have no influence on street- or POI-level
objects.

lib-sql/functions/placex_triggers.sql
test/bdd/db/import/rank_computation.feature

index 295b838eeeb55e6005d34e8be53de5045586446d..99d2872f69a83d67a4e4958520478738a1e5c501 100644 (file)
@@ -1120,7 +1120,7 @@ BEGIN
   ELSE
     -- No linked place? As a last resort check if the boundary is tagged with
     -- a place type and adapt the rank address.
-    IF NEW.rank_address > 0 and NEW.extratags ? 'place' THEN
+    IF NEW.rank_address between 4 and 25 and NEW.extratags ? 'place' THEN
       SELECT address_rank INTO place_address_level
         FROM compute_place_rank(NEW.country_code, 'A', 'place',
                                 NEW.extratags->'place', 0::SMALLINT, False, null);
index 1d4e2b821bbffe604d446600e7fbb18a68abf9d2..df01fd915d33e5ddacdfccc8f3ef932184f6a04a 100644 (file)
@@ -255,3 +255,15 @@ Feature: Rank assignment
          | W1     | R10     | True      | 18                  |
          | W1     | R2      | True      | 16                  |
          | W1     | N9      | False     | 18                  |
+
+
+    Scenario: POI nodes with place tags
+        Given the places
+          | osm | class   | type       | name | extratags       |
+          | N23 | amenity | playground | AB   | "place": "city" |
+          | N23 | place   | city       | AB   | "amenity": "playground" |
+        When importing
+        Then placex contains exactly
+          | object      | rank_search | rank_address |
+          | N23:amenity | 30          | 30           |
+          | N23:place   | 16          | 16           |