summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
c84648c)
OSM has by now almost complete coverage of admin
boundaries up to state level. Place nodes will do more
harm than good in this case.
ELSEIF NEW.class = 'place' THEN
IF NEW.type in ('continent') THEN
NEW.rank_search := 2;
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 ('sea') THEN
NEW.rank_search := 2;
NEW.country_code := NULL;
ELSEIF NEW.type in ('country') THEN
NEW.rank_search := 4;
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;
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!
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 |
| 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
Scenario: Address details with unknown class types
When sending json search query "Hundeauslauf, Hamburg" with address
| suburb | Eilbek |
| postcode | 22089 |
| city_district | Wandsbek |
| suburb | Eilbek |
| postcode | 22089 |
| city_district | Wandsbek |
| country | Deutschland |
| country_code | de |
| country | Deutschland |
| country_code | de |
| suburb | Eilbek |
| postcode | 22089 |
| city_district | Wandsbek |
| suburb | Eilbek |
| postcode | 22089 |
| city_district | Wandsbek |
| country | Deutschland |
| country_code | de |
| country | Deutschland |
| country_code | de |
| object | rank_search | rank_address |
| N1 | 30 | 30 |
| N11 | 30 | 30 |
| object | rank_search | rank_address |
| N1 | 30 | 30 |
| N11 | 30 | 30 |
- | N14 | 4 | 4 |
- | N15 | 8 | 8 |
+ | N14 | 4 | 0 |
+ | N15 | 8 | 0 |
| N16 | 18 | 0 |
| N17 | 12 | 12 |
| N18 | 16 | 16 |
| 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) |
| 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
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 |
| 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
Scenario: search and address ranks for highways correctly assigned
Given the scene roads-with-pois