mirror of
https://github.com/osm-search/Nominatim.git
synced 2026-02-16 15:47:58 +00:00
It may happen that two different postcodes normalize to exactly the same token. In that case we still need two different entries in the word table. Token lookup will then make sure that the correct one is choosen. Fixes #1953.
159 lines
7.2 KiB
Gherkin
159 lines
7.2 KiB
Gherkin
@DB
|
|
Feature: Import of postcodes
|
|
Tests for postcode estimation
|
|
|
|
Scenario: Postcodes on the object are preferred over those on the address
|
|
Given the scene admin-areas
|
|
And the named places
|
|
| osm | class | type | admin | addr+postcode | geometry |
|
|
| R1 | boundary | administrative | 6 | 112 | :b0 |
|
|
| R34 | boundary | administrative | 8 | 112 DE | :b1:E |
|
|
| R4 | boundary | administrative | 10 | 112 DE 34 | :b2:N |
|
|
And the named places
|
|
| osm | class | type | addr+postcode | geometry |
|
|
| W93 | highway | residential | 112 DE 344 | :w2N |
|
|
| W22 | building | yes | 112 DE 344N | :building:w2N |
|
|
When importing
|
|
Then placex contains
|
|
| object | postcode |
|
|
| W22 | 112 DE 344N |
|
|
| W93 | 112 DE 344 |
|
|
| R4 | 112 DE 34 |
|
|
| R34 | 112 DE |
|
|
| R1 | 112 |
|
|
|
|
Scenario: Postcodes from a road are inherited by an attached building
|
|
Given the scene admin-areas
|
|
And the named places
|
|
| osm | class | type | addr+postcode | geometry |
|
|
| W93 | highway | residential | 86034 | :w2N |
|
|
And the named places
|
|
| osm | class | type | geometry |
|
|
| W22 | building | yes | :building:w2N |
|
|
When importing
|
|
Then placex contains
|
|
| object | postcode | parent_place_id |
|
|
| W22 | 86034 | W93 |
|
|
|
|
Scenario: Postcodes from the lowest admin area are inherited by ways
|
|
Given the scene admin-areas
|
|
And the named places
|
|
| osm | class | type | admin | addr+postcode | geometry |
|
|
| R1 | boundary | administrative | 6 | 112 | :b0 |
|
|
| R34 | boundary | administrative | 8 | 112 DE | :b1:E |
|
|
| R4 | boundary | administrative | 10 | 112 DE 34 | :b2:N |
|
|
And the named places
|
|
| osm | class | type | geometry |
|
|
| W93 | highway | residential | :w2N |
|
|
When importing
|
|
Then placex contains
|
|
| object | postcode |
|
|
| W93 | 112 DE 34 |
|
|
|
|
Scenario: Postcodes from the lowest admin area with postcode are inherited by ways
|
|
Given the scene admin-areas
|
|
And the named places
|
|
| osm | class | type | admin | addr+postcode | geometry |
|
|
| R1 | boundary | administrative | 6 | 112 | :b0 |
|
|
| R34 | boundary | administrative | 8 | 112 DE | :b1:E |
|
|
And the named places
|
|
| osm | class | type | admin | geometry |
|
|
| R4 | boundary | administrative | 10 | :b2:N |
|
|
And the named places
|
|
| osm | class | type | geometry |
|
|
| W93 | highway | residential | :w2N |
|
|
When importing
|
|
Then placex contains
|
|
| object | postcode | parent_place_id |
|
|
| W93 | 112 DE | R4 |
|
|
|
|
Scenario: Postcodes from the lowest admin area are inherited by buildings
|
|
Given the scene admin-areas
|
|
And the named places
|
|
| osm | class | type | admin | addr+postcode | geometry |
|
|
| R1 | boundary | administrative | 6 | 112 | :b0 |
|
|
| R34 | boundary | administrative | 8 | 112 DE | :b1:E |
|
|
| R4 | boundary | administrative | 10 | 112 DE 34 | :b2:N |
|
|
And the named places
|
|
| osm | class | type | geometry |
|
|
| W22 | building | yes | :building:w2N |
|
|
When importing
|
|
Then placex contains
|
|
| object | postcode |
|
|
| W22 | 112 DE 34 |
|
|
|
|
Scenario: Roads get postcodes from nearby named buildings without other info
|
|
Given the scene admin-areas
|
|
And the named places
|
|
| osm | class | type | geometry |
|
|
| W93 | highway | residential | :w2N |
|
|
And the named places
|
|
| osm | class | type | addr+postcode | geometry |
|
|
| W22 | building | yes | 445023 | :building:w2N |
|
|
When importing
|
|
Then placex contains
|
|
| object | postcode |
|
|
| W93 | 445023 |
|
|
|
|
Scenario: Roads get postcodes from nearby unnamed buildings without other info
|
|
Given the scene admin-areas
|
|
And the named places
|
|
| osm | class | type | geometry |
|
|
| W93 | highway | residential | :w2N |
|
|
And the named places
|
|
| osm | class | type | addr+postcode | geometry |
|
|
| W22 | place | postcode | 445023 | :building:w2N |
|
|
When importing
|
|
Then placex contains
|
|
| object | postcode |
|
|
| W93 | 445023 |
|
|
|
|
Scenario: Postcodes from admin boundaries are preferred over estimated postcodes
|
|
Given the scene admin-areas
|
|
And the named places
|
|
| osm | class | type | admin | addr+postcode | geometry |
|
|
| R1 | boundary | administrative | 6 | 112 | :b0 |
|
|
| R34 | boundary | administrative | 8 | 112 DE | :b1:E |
|
|
| R4 | boundary | administrative | 10 | 112 DE 34 | :b2:N |
|
|
And the named places
|
|
| osm | class | type | geometry |
|
|
| W93 | highway | residential | :w2N |
|
|
And the named places
|
|
| osm | class | type | addr+postcode | geometry |
|
|
| W22 | building | yes | 445023 | :building:w2N |
|
|
When importing
|
|
Then placex contains
|
|
| object | postcode |
|
|
| W93 | 112 DE 34 |
|
|
|
|
Scenario: Postcodes are added to the postcode and word table
|
|
Given the places
|
|
| osm | class | type | addr+postcode | addr+housenumber | geometry |
|
|
| N34 | place | house | 01982 | 111 |country:de |
|
|
When importing
|
|
Then location_postcode contains exactly
|
|
| country | postcode | geometry |
|
|
| de | 01982 | country:de |
|
|
And word contains
|
|
| word | class | type |
|
|
| 01982 | place | postcode |
|
|
|
|
Scenario: Different postcodes with the same normalization can both be found
|
|
Given the places
|
|
| osm | class | type | addr+postcode | addr+housenumber | geometry |
|
|
| N34 | place | house | EH4 7EA | 111 | country:gb |
|
|
| N35 | place | house | E4 7EA | 111 | country:gb |
|
|
When importing
|
|
Then location_postcode contains exactly
|
|
| country | postcode | geometry |
|
|
| gb | EH4 7EA | country:gb |
|
|
| gb | E4 7EA | country:gb |
|
|
When searching for "EH4 7EA"
|
|
Then results contain
|
|
| type | placename |
|
|
| postcode | EH4 7EA |
|
|
When searching for "E4 7EA"
|
|
Then results contain
|
|
| type | placename |
|
|
| postcode | E4 7EA |
|