ELSEIF NEW.class = 'place' THEN
IF NEW.type in ('continent') THEN
NEW.rank_search := 2;
- NEW.rank_address := NEW.rank_search;
+ IF ST_GeometryType(NEW.geometry) IN ('ST_Polygon','ST_MultiPolygon') THEN
+ NEW.rank_address := NEW.rank_search;
+ ELSE
+ NEW.rank_address := 0;
+ END IF;
NEW.country_code := NULL;
ELSEIF NEW.type in ('sea') THEN
NEW.rank_search := 2;
NEW.country_code := NULL;
ELSEIF NEW.type in ('country') THEN
NEW.rank_search := 4;
- NEW.rank_address := NEW.rank_search;
+ IF ST_GeometryType(NEW.geometry) IN ('ST_Polygon','ST_MultiPolygon') THEN
+ NEW.rank_address := NEW.rank_search;
+ ELSE
+ NEW.rank_address := 0;
+ END IF;
ELSEIF NEW.type in ('state') THEN
NEW.rank_search := 8;
- NEW.rank_address := NEW.rank_search;
+ IF ST_GeometryType(NEW.geometry) IN ('ST_Polygon','ST_MultiPolygon') THEN
+ NEW.rank_address := NEW.rank_search;
+ ELSE
+ NEW.rank_address := 0;
+ END IF;
ELSEIF NEW.type in ('region') THEN
NEW.rank_search := 18; -- dropped from previous value of 10
NEW.rank_address := 0; -- So badly miss-used that better to just drop it!
| en |
Then results contain
| display_name |
- | Plei Ya Rê, Kon Tum province, Vietnam |
+ | Plei Ya Rê, Vietnam |
Scenario: Address details with unknown class types
When sending json search query "Hundeauslauf, Hamburg" with address
| suburb | Eilbek |
| postcode | 22089 |
| city_district | Wandsbek |
- | state | Hamburg |
| country | Deutschland |
| country_code | de |
| suburb | Eilbek |
| postcode | 22089 |
| city_district | Wandsbek |
- | state | Hamburg |
| country | Deutschland |
| country_code | de |
| object | rank_search | rank_address |
| N1 | 30 | 30 |
| N11 | 30 | 30 |
- | N12 | 2 | 2 |
+ | N12 | 2 | 0 |
| N13 | 2 | 0 |
- | N14 | 4 | 4 |
- | N15 | 8 | 8 |
+ | N14 | 4 | 0 |
+ | N15 | 8 | 0 |
| N16 | 18 | 0 |
| N17 | 12 | 12 |
| N18 | 16 | 16 |
| R21 | boundary | administrative | 32 | (3 3, 4 4, 3 4, 3 3) |
| R22 | boundary | nature_park | 6 | (0 0, 1 0, 0 1, 0 0) |
| R23 | boundary | natural_reserve| 10 | (0 0, 1 1, 1 0, 0 0) |
+ And the named places
+ | osm | class | type | geometry |
+ | R40 | place | country | (1 1, 2 2, 1 2, 1 1) |
+ | R41 | place | state | (3 3, 4 4, 3 4, 3 3) |
When importing
Then placex has no entry for N1
And placex has no entry for W10
| R21 | 30 | 30 |
| R22 | 12 | 0 |
| R23 | 20 | 0 |
+ | R40 | 4 | 4 |
+ | R41 | 8 | 8 |
Scenario: search and address ranks for highways correctly assigned
Given the scene roads-with-pois