From: Sarah Hoffmann Date: Wed, 3 Jun 2020 09:30:51 +0000 (+0200) Subject: parents for large POIs must be address features X-Git-Tag: v3.5.0~2 X-Git-Url: https://git.openstreetmap.org./nominatim.git/commitdiff_plain/cffc7c0121a2d98bff9bafbc45f1fc1b7c1239e7 parents for large POIs must be address features 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. --- diff --git a/sql/functions/placex_triggers.sql b/sql/functions/placex_triggers.sql index b84a2d6d..8d537855 100644 --- a/sql/functions/placex_triggers.sql +++ b/sql/functions/placex_triggers.sql @@ -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;