]> git.openstreetmap.org Git - nominatim.git/commitdiff
parents for large POIs must be address features
authorSarah Hoffmann <lonvia@denofr.de>
Wed, 3 Jun 2020 09:30:51 +0000 (11:30 +0200)
committerSarah Hoffmann <lonvia@denofr.de>
Wed, 3 Jun 2020 09:30:51 +0000 (11:30 +0200)
There are a couple of places with a search rank < 25 which are
not addressable like waterways and islands. We don't want them
to function as parents for POI-level objects. So use the
address rank for finding parents, not the search rank.

See #1815.

sql/functions/placex_triggers.sql

index b84a2d6d7879eb57959f8ce73ae61de4709c9fb8..8d5378550b47085dbd6441e9144cd7022da41fe7 100644 (file)
@@ -99,12 +99,12 @@ BEGIN
         --DEBUG: RAISE WARNING 'Checked for nearest way (%)', parent_place_id;
       ELSE
         -- for larger features simply find the area with the largest rank that
-        -- contains the bbox
+        -- contains the bbox, only use addressable features
         FOR location IN
           SELECT place_id FROM placex
             WHERE bbox @ geometry AND _ST_Covers(geometry, ST_Centroid(bbox))
-                  AND rank_search between 5 and 25
-            ORDER BY rank_search desc
+                  AND rank_address between 5 and 25
+            ORDER BY rank_address desc
         LOOP
             RETURN location.place_id;
         END LOOP;