mirror of
https://github.com/osm-search/Nominatim.git
synced 2026-02-26 11:08:13 +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;
|
END IF;
|
||||||
|
|
||||||
IF fallback THEN
|
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
|
-- for smaller features get the nearest road
|
||||||
SELECT getNearestRoadPlaceId(poi_partition, bbox) INTO parent_place_id;
|
SELECT getNearestRoadPlaceId(poi_partition, bbox) INTO parent_place_id;
|
||||||
--DEBUG: RAISE WARNING 'Checked for nearest way (%)', parent_place_id;
|
--DEBUG: RAISE WARNING 'Checked for nearest way (%)', parent_place_id;
|
||||||
|
|||||||
@@ -374,7 +374,7 @@ Feature: Parenting of objects
|
|||||||
| W1 | N4 | 3 |
|
| W1 | N4 | 3 |
|
||||||
| N1 | W2 | None |
|
| N1 | W2 | None |
|
||||||
| N2 | W3 | 4 |
|
| N2 | W3 | 4 |
|
||||||
| N3 | W2 | None |
|
| N3 | N4 | None |
|
||||||
|
|
||||||
Scenario: POIs parent a road if they are attached to it
|
Scenario: POIs parent a road if they are attached to it
|
||||||
Given the scene points-on-roads
|
Given the scene points-on-roads
|
||||||
|
|||||||
@@ -62,24 +62,32 @@ Feature: Creation of search terms
|
|||||||
| osm | class | type | housenr | addr+place | geometry |
|
| osm | class | type | housenr | addr+place | geometry |
|
||||||
| N1 | place | house | 23 | Walltown | :p-N1 |
|
| N1 | place | house | 23 | Walltown | :p-N1 |
|
||||||
And the places
|
And the places
|
||||||
| osm | class | type | name+name | geometry |
|
| osm | class | type | name+name | geometry |
|
||||||
| W1 | highway | residential | Rose Street | :w-north |
|
| W1 | highway | residential | Rose Street | :w-north |
|
||||||
|
| N2 | place | city | Strange Town | :p-N1 |
|
||||||
When importing
|
When importing
|
||||||
Then search_name contains
|
Then search_name contains
|
||||||
| object | name_vector | nameaddress_vector |
|
| object | name_vector | nameaddress_vector |
|
||||||
| N1 | #23 | Walltown |
|
| N1 | #23 | Walltown |
|
||||||
When searching for "23 Rose Street, Walltown"
|
When searching for "23 Rose Street"
|
||||||
Then exactly 0 results are returned
|
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
|
Scenario: Unnamed POIs doesn't inherit parent name when addr:place is present only in parent address
|
||||||
Given the scene roads-with-pois
|
Given the scene roads-with-pois
|
||||||
And the places
|
And the places
|
||||||
| osm | class | type | housenr | addr+place | geometry |
|
| osm | class | type | housenr | addr+place | geometry |
|
||||||
| N1 | place | house | 23 | Walltown | :p-N1 |
|
| N1 | place | house | 23 | Walltown | :p-N1 |
|
||||||
And the places
|
And the places
|
||||||
| osm | class | type | name+name | addr+city | geometry |
|
| osm | class | type | name+name | addr+city | geometry |
|
||||||
| W1 | highway | residential | Rose Street | Walltown | :w-north |
|
| W1 | highway | residential | Rose Street | Walltown | :w-north |
|
||||||
|
| N2 | place | suburb | Strange Town | Walltown | :p-N1 |
|
||||||
When importing
|
When importing
|
||||||
Then search_name contains
|
Then search_name contains
|
||||||
| object | name_vector | nameaddress_vector |
|
| object | name_vector | nameaddress_vector |
|
||||||
@@ -89,6 +97,11 @@ Feature: Creation of search terms
|
|||||||
And results contain
|
And results contain
|
||||||
| osm_type | osm_id |
|
| osm_type | osm_id |
|
||||||
| W | 1 |
|
| 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
|
Scenario: Unnamed POIs does inherit parent name when unknown addr:place and addr:street is present
|
||||||
Given the scene roads-with-pois
|
Given the scene roads-with-pois
|
||||||
@@ -147,17 +160,19 @@ Feature: Creation of search terms
|
|||||||
| osm | class | type | name+name | addr+place | geometry |
|
| osm | class | type | name+name | addr+place | geometry |
|
||||||
| N1 | place | house | Green Moss | Walltown | :p-N1 |
|
| N1 | place | house | Green Moss | Walltown | :p-N1 |
|
||||||
And the places
|
And the places
|
||||||
| osm | class | type | name+name | geometry |
|
| osm | class | type | name+name | geometry |
|
||||||
| W1 | highway | residential | Rose Street | :w-north |
|
| W1 | highway | residential | Rose Street | :w-north |
|
||||||
|
| N2 | place | suburb | Strange Town | :p-N1 |
|
||||||
When importing
|
When importing
|
||||||
Then search_name contains
|
Then search_name contains
|
||||||
| object | name_vector | nameaddress_vector |
|
| object | name_vector | nameaddress_vector |
|
||||||
| N1 | #Green Moss | Walltown |
|
| N1 | #Green Moss | Walltown |
|
||||||
When searching for "Green Moss, Rose Street, Walltown"
|
When searching for "Green Moss, Rose Street, Walltown"
|
||||||
Then exactly 1 result is returned
|
Then exactly 0 result is returned
|
||||||
And results contain
|
When searching for "Green Moss, Walltown"
|
||||||
|
Then results contain
|
||||||
| osm_type | osm_id |
|
| osm_type | osm_id |
|
||||||
| W | 1 |
|
| N | 1 |
|
||||||
|
|
||||||
Scenario: Named POIs inherit address from parent
|
Scenario: Named POIs inherit address from parent
|
||||||
Given the scene roads-with-pois
|
Given the scene roads-with-pois
|
||||||
|
|||||||
@@ -9,8 +9,8 @@ Scenario: POI inside building inherits addr:street change
|
|||||||
| N2 | shop | bakery | :n-edge-NS |
|
| N2 | shop | bakery | :n-edge-NS |
|
||||||
| N3 | shop | supermarket| :n-edge-WE |
|
| N3 | shop | supermarket| :n-edge-WE |
|
||||||
And the places
|
And the places
|
||||||
| osm | class | type | addr_place | housenr | geometry |
|
| osm | class | type | street | housenr | geometry |
|
||||||
| W1 | building | yes | nowhere | 3 | :w-building |
|
| W1 | building | yes | nowhere | 3 | :w-building |
|
||||||
And the places
|
And the places
|
||||||
| osm | class | type | name | geometry |
|
| osm | class | type | name | geometry |
|
||||||
| W2 | highway | primary | bar | :w-WE |
|
| W2 | highway | primary | bar | :w-WE |
|
||||||
@@ -34,5 +34,3 @@ Scenario: POI inside building inherits addr:street change
|
|||||||
| N1 | W3 | 3 |
|
| N1 | W3 | 3 |
|
||||||
| N2 | W3 | 3 |
|
| N2 | W3 | 3 |
|
||||||
| N3 | W3 | 3 |
|
| N3 | W3 | 3 |
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user