Tests for postcode estimation
Scenario: Postcodes on the object are preferred over those on the address
- Given the scene admin-areas
+ Given the grid with origin FR
+ | 1 | | | | 4 | | 6 | | 8 |
+ | | 10 | | 11 | | | | | |
+ | | | 22 | | | | | | |
+ | 2 | | | | 3 | | 5 | | 7 |
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 |
+ | osm | class | type | admin | addr+postcode | geometry |
+ | R1 | boundary | administrative | 6 | 10000 | (1,8,7,2,1) |
+ | R34 | boundary | administrative | 8 | 11000 | (1,6,5,2,1) |
+ | R4 | boundary | administrative | 10 | 11200 | (1,4,3,2,1) |
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 |
+ | W93 | highway | residential | 11250 | 10,11 |
+ | N22 | building | yes | 11254 | 22 |
When importing
Then placex contains
- | object | postcode |
- | W22 | 112 DE 344N |
- | W93 | 112 DE 344 |
- | R4 | 112 DE 34 |
- | R34 | 112 DE |
- | R1 | 112 |
+ | object | postcode |
+ | N22 | 11254 |
+ | W93 | 11250 |
+ | R4 | 11200 |
+ | R34 | 11000 |
+ | R1 | 10000 |
Scenario: Postcodes from a road are inherited by an attached building
- Given the scene admin-areas
+ Given the grid with origin DE
+ | 10 | | | | 11 |
+ | | 1 | 2 | | |
+ | | 4 | 3 | | |
And the named places
| osm | class | type | addr+postcode | geometry |
- | W93 | highway | residential | 86034 | :w2N |
+ | W93 | highway | residential | 86034 | 10,11 |
And the named places
- | osm | class | type | geometry |
- | W22 | building | yes | :building:w2N |
+ | osm | class | type | geometry |
+ | W22 | building | yes | (1,2,3,4,1) |
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
+ Given the grid with origin FR
+ | 1 | | | | 4 | | 6 | | 8 |
+ | | 10 | | 11 | | | | | |
+ | 2 | | | | 3 | | 5 | | 7 |
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 |
+ | R1 | boundary | administrative | 6 | 10000 | (1,8,7,2,1) |
+ | R34 | boundary | administrative | 8 | 11000 | (1,6,5,2,1) |
+ | R4 | boundary | administrative | 10 | 11200 | (1,4,3,2,1) |
And the named places
| osm | class | type | geometry |
- | W93 | highway | residential | :w2N |
+ | W93 | highway | residential | 10,11 |
When importing
Then placex contains
- | object | postcode |
- | W93 | 112 DE 34 |
+ | object | postcode |
+ | W93 | 11200 |
Scenario: Postcodes from the lowest admin area with postcode are inherited by ways
- Given the scene admin-areas
+ Given the grid with origin FR
+ | 1 | | | | 4 | | 6 | | 8 |
+ | | 10 | | 11 | | | | | |
+ | 2 | | | | 3 | | 5 | | 7 |
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 |
+ | R1 | boundary | administrative | 6 | 10000 | (1,8,7,2,1) |
+ | R34 | boundary | administrative | 8 | 11000 | (1,6,5,2,1) |
And the named places
- | osm | class | type | admin | geometry |
- | R4 | boundary | administrative | 10 | :b2:N |
+ | osm | class | type | admin | geometry |
+ | R4 | boundary | administrative | 10 | (1,4,3,2,1) |
And the named places
| osm | class | type | geometry |
- | W93 | highway | residential | :w2N |
+ | W93 | highway | residential | 10,11 |
When importing
Then placex contains
| object | postcode | parent_place_id |
- | W93 | 112 DE | R4 |
+ | W93 | 11000 | R4 |
Scenario: Postcodes from the lowest admin area are inherited by buildings
- Given the scene admin-areas
+ Given the grid with origin FR
+ | 1 | | | | 4 | | 6 | | 8 |
+ | | 10 | | 11 | | | | | |
+ | | 13 | | 12 | | | | | |
+ | 2 | | | | 3 | | 5 | | 7 |
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 |
+ | R1 | boundary | administrative | 6 | 10000 | (1,8,7,2,1) |
+ | R34 | boundary | administrative | 8 | 11000 | (1,6,5,2,1) |
+ | R4 | boundary | administrative | 10 | 11200 | (1,4,3,2,1) |
And the named places
| osm | class | type | geometry |
- | W22 | building | yes | :building:w2N |
+ | W22 | building | yes | (10,11,12,13,10) |
When importing
Then placex contains
- | object | postcode |
- | W22 | 112 DE 34 |
+ | object | postcode |
+ | W22 | 11200 |
Scenario: Roads get postcodes from nearby named buildings without other info
- Given the scene admin-areas
+ Given the grid with origin US
+ | 10 | | | | 11 |
+ | | 1 | 2 | | |
+ | | 4 | 3 | | |
And the named places
| osm | class | type | geometry |
- | W93 | highway | residential | :w2N |
+ | W93 | highway | residential | 10,11 |
And the named places
- | osm | class | type | addr+postcode | geometry |
- | W22 | building | yes | 445023 | :building:w2N |
+ | osm | class | type | addr+postcode | geometry |
+ | W22 | building | yes | 45023 | (1,2,3,4,1) |
When importing
Then placex contains
| object | postcode |
- | W93 | 445023 |
+ | W93 | 45023 |
Scenario: Roads get postcodes from nearby unnamed buildings without other info
- Given the scene admin-areas
+ Given the grid with origin US
+ | 10 | | | | 11 |
+ | | 1 | 2 | | |
+ | | 4 | 3 | | |
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 |
+ | W93 | highway | residential | 10,11 |
+ And the places
+ | osm | class | type | addr+postcode | geometry |
+ | W22 | place | postcode | 45023 | (1,2,3,4,1) |
When importing
Then placex contains
| object | postcode |
- | W93 | 445023 |
+ | W93 | 45023 |
Scenario: Postcodes from admin boundaries are preferred over estimated postcodes
- Given the scene admin-areas
+ Given the grid with origin FR
+ | 1 | | | | 4 | | 6 | | 8 |
+ | | 10 | | 11 | | | | | |
+ | | | 22 | | | | | | |
+ | 2 | | | | 3 | | 5 | | 7 |
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 |
+ | R1 | boundary | administrative | 6 | 10000 | (1,8,7,2,1) |
+ | R34 | boundary | administrative | 8 | 11000 | (1,6,5,2,1) |
+ | R4 | boundary | administrative | 10 | 11200 | (1,4,3,2,1) |
And the named places
| osm | class | type | geometry |
- | W93 | highway | residential | :w2N |
+ | W93 | highway | residential | 10,1 |
And the named places
- | osm | class | type | addr+postcode | geometry |
- | W22 | building | yes | 445023 | :building:w2N |
+ | osm | class | type | addr+postcode |
+ | N22 | building | yes | 45023 |
When importing
Then placex contains
- | object | postcode |
- | W93 | 112 DE 34 |
+ | object | postcode |
+ | W93 | 11200 |
Scenario: Postcodes are added to the postcode and word table
Given the places