Then placex contains
| object | rank_search | rank_address |
| N1 | 30 | 30 |
- | N11 | 30 | 30 |
+ | N11 | 22 | 0 |
| N12 | 2 | 0 |
| N13 | 2 | 0 |
| N14 | 4 | 0 |
Then placex contains
| object | rank_search | rank_address |
| R20 | 4 | 4 |
- | R21 | 30 | 30 |
+ | R21 | 25 | 0 |
| R22 | 12 | 12 |
| R23 | 20 | 20 |
- Scenario: Ranks for boundaries with place assignment go with place address ranks if available
+ Scenario: Ranks for addressable boundaries with place assignment go with place address ranks if available
Given the named places
| osm | class | type | admin | extra+place | geometry |
| R20 | boundary | administrative | 3 | state | (1 1, 2 2, 1 2, 1 1) |
Then placex contains
| object | rank_search | rank_address |
| R20 | 6 | 6 |
- | R21 | 30 | 20 |
+ | R21 | 25 | 0 |
| R22 | 12 | 16 |
| R23 | 20 | 16 |
Scenario: Do delete large features of low rank
Given the named places
- | osm | class | type | geometry |
- | W1 | place | house | poly-area:5.0 |
- | R1 | boundary | national_park | poly-area:5.0 |
- | R2 | highway | residential | poly-area:5.0 |
+ | osm | class | type | geometry |
+ | W1 | place | house | poly-area:5.0 |
+ | R1 | natural | wood | poly-area:5.0 |
+ | R2 | highway | residential | poly-area:5.0 |
When importing
Then placex contains
| object | rank_address |
| W1 | boundary | historic | Haha | 5 | (1, 2, 4, 3, 1) |
Then placex contains
| object | rank_address |
- | W1 | 30 |
+ | W1 | 0 |
if self.pid is None:
return "<null>"
+ if self.pid == 0:
+ return "place ID 0"
+
cur = self.conn.cursor()
cur.execute("""SELECT osm_type, osm_id, class
FROM placex WHERE place_id = %s""",