mirror of
https://github.com/osm-search/Nominatim.git
synced 2026-02-14 10:27:57 +00:00
always bind addr:place to place instead of street
If an addr:place is given but no addr:street tag, then bind the rank 30 object always to a <=25 object, even when there is none found with the same name.
This commit is contained in:
@@ -92,7 +92,16 @@ BEGIN
|
||||
END IF;
|
||||
|
||||
IF fallback THEN
|
||||
IF ST_Area(bbox) < 0.005 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
|
||||
-- nearest place instead.
|
||||
FOR location IN
|
||||
SELECT place_id FROM getNearFeatures(poi_partition, bbox, 26, '{}'::INTEGER[])
|
||||
ORDER BY rank_address DESC, isguess asc, distance LIMIT 1
|
||||
LOOP
|
||||
parent_place_id := location.place_id;
|
||||
END LOOP;
|
||||
ELSEIF ST_Area(bbox) < 0.005 THEN
|
||||
-- for smaller features get the nearest road
|
||||
SELECT getNearestRoadPlaceId(poi_partition, bbox) INTO parent_place_id;
|
||||
--DEBUG: RAISE WARNING 'Checked for nearest way (%)', parent_place_id;
|
||||
|
||||
@@ -374,7 +374,7 @@ Feature: Parenting of objects
|
||||
| W1 | N4 | 3 |
|
||||
| N1 | W2 | None |
|
||||
| N2 | W3 | 4 |
|
||||
| N3 | W2 | None |
|
||||
| N3 | N4 | None |
|
||||
|
||||
Scenario: POIs parent a road if they are attached to it
|
||||
Given the scene points-on-roads
|
||||
|
||||
@@ -62,24 +62,32 @@ Feature: Creation of search terms
|
||||
| osm | class | type | housenr | addr+place | geometry |
|
||||
| N1 | place | house | 23 | Walltown | :p-N1 |
|
||||
And the places
|
||||
| osm | class | type | name+name | geometry |
|
||||
| W1 | highway | residential | Rose Street | :w-north |
|
||||
| osm | class | type | name+name | geometry |
|
||||
| W1 | highway | residential | Rose Street | :w-north |
|
||||
| N2 | place | city | Strange Town | :p-N1 |
|
||||
When importing
|
||||
Then search_name contains
|
||||
| object | name_vector | nameaddress_vector |
|
||||
| N1 | #23 | Walltown |
|
||||
When searching for "23 Rose Street, Walltown"
|
||||
Then exactly 0 results are returned
|
||||
When searching for "23 Rose Street"
|
||||
Then exactly 1 results are returned
|
||||
And results contain
|
||||
| osm_type | osm_id |
|
||||
| W | 1 |
|
||||
When searching for "23 Walltown"
|
||||
Then results contain
|
||||
| osm_type | osm_id |
|
||||
| N | 1 |
|
||||
|
||||
# XXX Need to change parenting of POis without addr:street and with addr:place
|
||||
Scenario: Unnamed POIs doesn't inherit parent name when addr:place is present only in parent address
|
||||
Given the scene roads-with-pois
|
||||
And the places
|
||||
| osm | class | type | housenr | addr+place | geometry |
|
||||
| N1 | place | house | 23 | Walltown | :p-N1 |
|
||||
And the places
|
||||
| osm | class | type | name+name | addr+city | geometry |
|
||||
| W1 | highway | residential | Rose Street | Walltown | :w-north |
|
||||
| osm | class | type | name+name | addr+city | geometry |
|
||||
| W1 | highway | residential | Rose Street | Walltown | :w-north |
|
||||
| N2 | place | suburb | Strange Town | Walltown | :p-N1 |
|
||||
When importing
|
||||
Then search_name contains
|
||||
| object | name_vector | nameaddress_vector |
|
||||
@@ -89,6 +97,11 @@ Feature: Creation of search terms
|
||||
And results contain
|
||||
| osm_type | osm_id |
|
||||
| W | 1 |
|
||||
When searching for "23 Walltown"
|
||||
Then exactly 1 result is returned
|
||||
And results contain
|
||||
| osm_type | osm_id |
|
||||
| N | 1 |
|
||||
|
||||
Scenario: Unnamed POIs does inherit parent name when unknown addr:place and addr:street is present
|
||||
Given the scene roads-with-pois
|
||||
@@ -147,17 +160,19 @@ Feature: Creation of search terms
|
||||
| osm | class | type | name+name | addr+place | geometry |
|
||||
| N1 | place | house | Green Moss | Walltown | :p-N1 |
|
||||
And the places
|
||||
| osm | class | type | name+name | geometry |
|
||||
| W1 | highway | residential | Rose Street | :w-north |
|
||||
| osm | class | type | name+name | geometry |
|
||||
| W1 | highway | residential | Rose Street | :w-north |
|
||||
| N2 | place | suburb | Strange Town | :p-N1 |
|
||||
When importing
|
||||
Then search_name contains
|
||||
| object | name_vector | nameaddress_vector |
|
||||
| N1 | #Green Moss | Walltown |
|
||||
When searching for "Green Moss, Rose Street, Walltown"
|
||||
Then exactly 1 result is returned
|
||||
And results contain
|
||||
Then exactly 0 result is returned
|
||||
When searching for "Green Moss, Walltown"
|
||||
Then results contain
|
||||
| osm_type | osm_id |
|
||||
| W | 1 |
|
||||
| N | 1 |
|
||||
|
||||
Scenario: Named POIs inherit address from parent
|
||||
Given the scene roads-with-pois
|
||||
|
||||
@@ -9,8 +9,8 @@ Scenario: POI inside building inherits addr:street change
|
||||
| N2 | shop | bakery | :n-edge-NS |
|
||||
| N3 | shop | supermarket| :n-edge-WE |
|
||||
And the places
|
||||
| osm | class | type | addr_place | housenr | geometry |
|
||||
| W1 | building | yes | nowhere | 3 | :w-building |
|
||||
| osm | class | type | street | housenr | geometry |
|
||||
| W1 | building | yes | nowhere | 3 | :w-building |
|
||||
And the places
|
||||
| osm | class | type | name | geometry |
|
||||
| W2 | highway | primary | bar | :w-WE |
|
||||
@@ -34,5 +34,3 @@ Scenario: POI inside building inherits addr:street change
|
||||
| N1 | W3 | 3 |
|
||||
| N2 | W3 | 3 |
|
||||
| N3 | W3 | 3 |
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user