Merge pull request #1975 from lonvia/simplify-parent-assignment-for-unlisted-places

Use closest containing place area for parent of unlisted addr:place
This commit is contained in:
Sarah Hoffmann
2020-09-23 19:10:42 +02:00
committed by GitHub

View File

@@ -93,13 +93,15 @@ BEGIN
IF fallback THEN IF fallback THEN
IF addr_street is null and addr_place is not null THEN IF addr_street is null and addr_place is not null THEN
-- The address is attached to a place we don't know. Find the -- The address is attached to a place we don't know.
-- nearest place instead. -- Instead simply use the containing area with the largest rank.
FOR location IN FOR location IN
SELECT place_id FROM getNearFeatures(poi_partition, bbox, 26, '{}'::INTEGER[]) SELECT place_id FROM placex
ORDER BY rank_address DESC, isguess asc, distance LIMIT 1 WHERE bbox @ geometry AND _ST_Covers(geometry, ST_Centroid(bbox))
AND rank_address between 5 and 25
ORDER BY rank_address desc
LOOP LOOP
parent_place_id := location.place_id; RETURN location.place_id;
END LOOP; END LOOP;
ELSEIF ST_Area(bbox) < 0.005 THEN ELSEIF ST_Area(bbox) < 0.005 THEN
-- for smaller features get the nearest road -- for smaller features get the nearest road