mirror of
https://github.com/osm-search/Nominatim.git
synced 2024-12-24 13:31:37 +03:00
054efc8311
When OSM data has areas with overlapping countries, use the country assignments from the pre-defined country grid for tie-breaking. If that fails, fall back to the country with the smaller partition number.
93 lines
3.7 KiB
Gherkin
93 lines
3.7 KiB
Gherkin
@DB
|
|
Feature: Country handling
|
|
Tests for import and use of country information
|
|
|
|
Scenario: Country names from OSM country relations are added
|
|
Given the places
|
|
| osm | class | type | admin | name+name:xy | country | geometry |
|
|
| R1 | boundary | administrative | 2 | Loudou | de | (9 52, 9 53, 10 52, 9 52) |
|
|
Given the places
|
|
| osm | class | type | name | geometry |
|
|
| N1 | place | town | Wenig | country:de |
|
|
When importing
|
|
When sending search query "Wenig, Loudou"
|
|
Then results contain
|
|
| osm | display_name |
|
|
| N1 | Wenig, Deutschland |
|
|
When sending search query "Wenig"
|
|
| accept-language |
|
|
| xy,en |
|
|
Then results contain
|
|
| osm | display_name |
|
|
| N1 | Wenig, Loudou |
|
|
|
|
Scenario: OSM country relations outside expected boundaries are ignored for naming
|
|
Given the grid
|
|
| 1 | | 2 |
|
|
| 4 | | 3 |
|
|
Given the places
|
|
| osm | class | type | admin | name+name:xy | country | geometry |
|
|
| R1 | boundary | administrative | 2 | Loudou | de | (1,2,3,4,1) |
|
|
Given the places
|
|
| osm | class | type | name | geometry |
|
|
| N1 | place | town | Wenig | country:de |
|
|
When importing
|
|
When sending search query "Wenig"
|
|
| accept-language |
|
|
| xy,en |
|
|
Then results contain
|
|
| osm | display_name |
|
|
| N1 | Wenig, Germany |
|
|
|
|
Scenario: Pre-defined country names are used
|
|
Given the grid with origin CH
|
|
| 1 |
|
|
Given the places
|
|
| osm | class | type | name | geometry |
|
|
| N1 | place | town | Ingb | 1 |
|
|
When importing
|
|
And sending search query "Ingb"
|
|
| accept-language |
|
|
| en,de |
|
|
Then results contain
|
|
| osm | display_name |
|
|
| N1 | Ingb, Switzerland |
|
|
|
|
Scenario: For overlapping countries, pre-defined countries are tie-breakers
|
|
Given the grid with origin US
|
|
| 1 | | 2 | | 5 |
|
|
| | 9 | | 8 | |
|
|
| 4 | | 3 | | 6 |
|
|
Given the named places
|
|
| osm | class | type | admin | country | geometry |
|
|
| R1 | boundary | administrative | 2 | de | (1,5,6,4,1) |
|
|
| R2 | boundary | administrative | 2 | us | (1,2,3,4,1) |
|
|
And the named places
|
|
| osm | class | type | geometry |
|
|
| N1 | place | town | 9 |
|
|
| N2 | place | town | 8 |
|
|
When importing
|
|
Then placex contains
|
|
| object | country_code |
|
|
| N1 | us |
|
|
| N2 | de |
|
|
|
|
Scenario: For overlapping countries outside pre-define countries prefer smaller partition
|
|
Given the grid with origin US
|
|
| 1 | | 2 | | 5 |
|
|
| | 9 | | 8 | |
|
|
| 4 | | 3 | | 6 |
|
|
Given the named places
|
|
| osm | class | type | admin | country | geometry |
|
|
| R1 | boundary | administrative | 2 | ch | (1,5,6,4,1) |
|
|
| R2 | boundary | administrative | 2 | de | (1,2,3,4,1) |
|
|
And the named places
|
|
| osm | class | type | geometry |
|
|
| N1 | place | town | 9 |
|
|
| N2 | place | town | 8 |
|
|
When importing
|
|
Then placex contains
|
|
| object | country_code |
|
|
| N1 | de |
|
|
| N2 | ch |
|