improve address ordering with mixes of place and admin areas

Resolves a couple of situations where a mixed use of places areas and
administrative boundaries would result in a hierarchy that did not
properly respect the contains relation.
This commit is contained in:
Sarah Hoffmann
2022-06-16 10:44:16 +02:00
parent 800240550b
commit df0142678a
3 changed files with 94 additions and 17 deletions

View File

@@ -74,20 +74,22 @@ Feature: Address computation
Scenario: boundary areas are preferred over place nodes in the address
Given the grid
| 1 | | | | | | 3 |
| | 5 | | | | | |
| | 6 | | | | | |
| 2 | | | | | | 4 |
| 1 | | | | 10 | | 3 |
| | 5 | | | | | |
| | 6 | | | | | |
| 2 | | | | 11 | | 4 |
And the named places
| osm | class | type | admin | geometry |
| N1 | place | square | 15 | 5 |
| N2 | place | city | 15 | 6 |
| R1 | place | city | 8 | (1,2,4,3,1) |
| osm | class | type | admin | geometry |
| N1 | place | square | 15 | 5 |
| N2 | place | city | 15 | 6 |
| R1 | place | city | 8 | (1,2,4,3,1) |
| R2 | boundary | administrative | 9 | (1,10,11,2,1) |
When importing
Then place_addressline contains
| object | address | isaddress | cached_rank_address |
| N1 | R1 | True | 16 |
| N1 | N2 | False | 16 |
| N1 | R2 | True | 18 |
| N1 | N2 | False | 18 |
Scenario: place nodes outside a smaller ranked area are ignored
Given the grid