mirror of
https://github.com/osm-search/Nominatim.git
synced 2026-02-16 15:47:58 +00:00
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:
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user