mirror of
https://github.com/osm-search/Nominatim.git
synced 2026-02-14 10:27:57 +00:00
Remove country and state nodes from address computation
OSM has by now almost complete coverage of admin boundaries up to state level. Place nodes will do more harm than good in this case.
This commit is contained in:
@@ -871,7 +871,11 @@ BEGIN
|
||||
ELSEIF NEW.class = 'place' THEN
|
||||
IF NEW.type in ('continent') THEN
|
||||
NEW.rank_search := 2;
|
||||
NEW.rank_address := NEW.rank_search;
|
||||
IF ST_GeometryType(NEW.geometry) IN ('ST_Polygon','ST_MultiPolygon') THEN
|
||||
NEW.rank_address := NEW.rank_search;
|
||||
ELSE
|
||||
NEW.rank_address := 0;
|
||||
END IF;
|
||||
NEW.country_code := NULL;
|
||||
ELSEIF NEW.type in ('sea') THEN
|
||||
NEW.rank_search := 2;
|
||||
@@ -879,10 +883,18 @@ BEGIN
|
||||
NEW.country_code := NULL;
|
||||
ELSEIF NEW.type in ('country') THEN
|
||||
NEW.rank_search := 4;
|
||||
NEW.rank_address := NEW.rank_search;
|
||||
IF ST_GeometryType(NEW.geometry) IN ('ST_Polygon','ST_MultiPolygon') THEN
|
||||
NEW.rank_address := NEW.rank_search;
|
||||
ELSE
|
||||
NEW.rank_address := 0;
|
||||
END IF;
|
||||
ELSEIF NEW.type in ('state') THEN
|
||||
NEW.rank_search := 8;
|
||||
NEW.rank_address := NEW.rank_search;
|
||||
IF ST_GeometryType(NEW.geometry) IN ('ST_Polygon','ST_MultiPolygon') THEN
|
||||
NEW.rank_address := NEW.rank_search;
|
||||
ELSE
|
||||
NEW.rank_address := 0;
|
||||
END IF;
|
||||
ELSEIF NEW.type in ('region') THEN
|
||||
NEW.rank_search := 18; -- dropped from previous value of 10
|
||||
NEW.rank_address := 0; -- So badly miss-used that better to just drop it!
|
||||
|
||||
@@ -51,7 +51,7 @@ Feature: Search queries
|
||||
| en |
|
||||
Then results contain
|
||||
| display_name |
|
||||
| Plei Ya Rê, Kon Tum province, Vietnam |
|
||||
| Plei Ya Rê, Vietnam |
|
||||
|
||||
Scenario: Address details with unknown class types
|
||||
When sending json search query "Hundeauslauf, Hamburg" with address
|
||||
|
||||
@@ -26,7 +26,6 @@ Feature: Search queries
|
||||
| suburb | Eilbek |
|
||||
| postcode | 22089 |
|
||||
| city_district | Wandsbek |
|
||||
| state | Hamburg |
|
||||
| country | Deutschland |
|
||||
| country_code | de |
|
||||
|
||||
@@ -42,7 +41,6 @@ Feature: Search queries
|
||||
| suburb | Eilbek |
|
||||
| postcode | 22089 |
|
||||
| city_district | Wandsbek |
|
||||
| state | Hamburg |
|
||||
| country | Deutschland |
|
||||
| country_code | de |
|
||||
|
||||
|
||||
@@ -168,10 +168,10 @@ Feature: Import into placex
|
||||
| object | rank_search | rank_address |
|
||||
| N1 | 30 | 30 |
|
||||
| N11 | 30 | 30 |
|
||||
| N12 | 2 | 2 |
|
||||
| N12 | 2 | 0 |
|
||||
| N13 | 2 | 0 |
|
||||
| N14 | 4 | 4 |
|
||||
| N15 | 8 | 8 |
|
||||
| N14 | 4 | 0 |
|
||||
| N15 | 8 | 0 |
|
||||
| N16 | 18 | 0 |
|
||||
| N17 | 12 | 12 |
|
||||
| N18 | 16 | 16 |
|
||||
@@ -211,6 +211,10 @@ Feature: Import into placex
|
||||
| R21 | boundary | administrative | 32 | (3 3, 4 4, 3 4, 3 3) |
|
||||
| R22 | boundary | nature_park | 6 | (0 0, 1 0, 0 1, 0 0) |
|
||||
| R23 | boundary | natural_reserve| 10 | (0 0, 1 1, 1 0, 0 0) |
|
||||
And the named places
|
||||
| osm | class | type | geometry |
|
||||
| R40 | place | country | (1 1, 2 2, 1 2, 1 1) |
|
||||
| R41 | place | state | (3 3, 4 4, 3 4, 3 3) |
|
||||
When importing
|
||||
Then placex has no entry for N1
|
||||
And placex has no entry for W10
|
||||
@@ -220,6 +224,8 @@ Feature: Import into placex
|
||||
| R21 | 30 | 30 |
|
||||
| R22 | 12 | 0 |
|
||||
| R23 | 20 | 0 |
|
||||
| R40 | 4 | 4 |
|
||||
| R41 | 8 | 8 |
|
||||
|
||||
Scenario: search and address ranks for highways correctly assigned
|
||||
Given the scene roads-with-pois
|
||||
|
||||
Reference in New Issue
Block a user