]> git.openstreetmap.org Git - nominatim.git/blobdiff - test/bdd/db/import/placex.feature
add support for place=square
[nominatim.git] / test / bdd / db / import / placex.feature
index 7cbedaa3f349e693765c1754ac779149c662877f..594f3538e5b11f1e0a3d00bf02a207b2fff02446 100644 (file)
@@ -8,8 +8,8 @@ Feature: Import into placex
           | N1  | highway | primary  | country:us |
         When importing
         Then placex contains
           | N1  | highway | primary  | country:us |
         When importing
         Then placex contains
-          | object | country_code | calculated_country_code |
-          | N1     | None         | us                      |
+          | object | addr+country | country_code |
+          | N1     | -            | us           |
 
     Scenario: Location overwrites country code tag
         Given the named places
 
     Scenario: Location overwrites country code tag
         Given the named places
@@ -17,8 +17,8 @@ Feature: Import into placex
           | N1  | highway | primary  | de      | country:us |
         When importing
         Then placex contains
           | N1  | highway | primary  | de      | country:us |
         When importing
         Then placex contains
-          | object | country_code | calculated_country_code |
-          | N1     | de           | us                      |
+          | object | addr+country | country_code |
+          | N1     | de           | us           |
 
     Scenario: Country code tag overwrites location for countries
         Given the named places
 
     Scenario: Country code tag overwrites location for countries
         Given the named places
@@ -26,8 +26,8 @@ Feature: Import into placex
           | R1  | boundary | administrative  | 2     | de      | (-100 40, -101 40, -101 41, -100 41, -100 40) |
         When importing
         Then placex contains
           | R1  | boundary | administrative  | 2     | de      | (-100 40, -101 40, -101 41, -100 41, -100 40) |
         When importing
         Then placex contains
-          | object | country_code | calculated_country_code |
-          | R1     | de           | de                      |
+          | object | rank_search| addr+country | country_code |
+          | R1     | 4          | de           | de           |
 
     Scenario: Illegal country code tag for countries is ignored
         Given the named places
 
     Scenario: Illegal country code tag for countries is ignored
         Given the named places
@@ -35,8 +35,8 @@ Feature: Import into placex
           | R1  | boundary | administrative  | 2     | xx      | (-100 40, -101 40, -101 41, -100 41, -100 40) |
         When importing
         Then placex contains
           | R1  | boundary | administrative  | 2     | xx      | (-100 40, -101 40, -101 41, -100 41, -100 40) |
         When importing
         Then placex contains
-          | object | country_code | calculated_country_code |
-          | R1     | xx           | us                      |
+          | object | addr+country | country_code |
+          | R1     | xx           | us           |
 
     Scenario: admin level is copied over
         Given the named places
 
     Scenario: admin level is copied over
         Given the named places
@@ -47,24 +47,6 @@ Feature: Import into placex
           | object | admin_level |
           | N1     | 3           |
 
           | object | admin_level |
           | N1     | 3           |
 
-    Scenario: admin level is default 15
-        Given the named places
-          | osm | class   | type   |
-          | N1  | amenity | prison |
-        When importing
-        Then placex contains
-          | object | admin_level |
-          | N1     | 15          |
-
-    Scenario: admin level is never larger than 15
-        Given the named places
-          | osm | class   | type   | admin |
-          | N1  | amenity | prison | 16 |
-        When importing
-        Then placex contains
-          | object | admin_level |
-          | N1     | 15          |
-
     Scenario: postcode node without postcode is dropped
         Given the places
           | osm | class   | type     | name+ref |
     Scenario: postcode node without postcode is dropped
         Given the places
           | osm | class   | type     | name+ref |
@@ -87,23 +69,21 @@ Feature: Import into placex
          | N3   | place | postcode | Y45      | country:gb |
         When importing
         Then placex contains
          | N3   | place | postcode | Y45      | country:gb |
         When importing
         Then placex contains
-         | object | postcode | calculated_country_code | rank_search | rank_address |
-         | N1     | E45 2CD  | gb                      | 25          | 5 |
-         | N2     | E45 2    | gb                      | 23          | 5 |
-         | N3     | Y45      | gb                      | 21          | 5 |
+         | object | postcode | country_code | rank_search | rank_address |
+         | N1     | E45 2CD  | gb           | 25          | 0 |
+         | N2     | E45 2    | gb           | 23          | 0 |
+         | N3     | Y45      | gb           | 21          | 0 |
 
     Scenario: wrongly formatted GB postcodes are down-ranked
         Given the places
          | osm  | class | type     | postcode | geometry |
          | N1   | place | postcode | EA452CD  | country:gb |
          | N2   | place | postcode | E45 23   | country:gb |
 
     Scenario: wrongly formatted GB postcodes are down-ranked
         Given the places
          | osm  | class | type     | postcode | geometry |
          | N1   | place | postcode | EA452CD  | country:gb |
          | N2   | place | postcode | E45 23   | country:gb |
-         | N3   | place | postcode | y45      | country:gb |
         When importing
         Then placex contains
         When importing
         Then placex contains
-         | object | calculated_country_code | rank_search | rank_address |
-         | N1     | gb                      | 30          | 30 |
-         | N2     | gb                      | 30          | 30 |
-         | N3     | gb                      | 30          | 30 |
+         | object | country_code | rank_search | rank_address |
+         | N1     | gb           | 30          | 0 |
+         | N2     | gb           | 30          | 0 |
 
     Scenario: search and address rank for DE postcodes correctly assigned
         Given the places
 
     Scenario: search and address rank for DE postcodes correctly assigned
         Given the places
@@ -114,11 +94,11 @@ Feature: Import into placex
          | N4  | place | postcode | 564276   | country:de |
         When importing
         Then placex contains
          | N4  | place | postcode | 564276   | country:de |
         When importing
         Then placex contains
-         | object | calculated_country_code | rank_search | rank_address |
-         | N1     | de                      | 21          | 11 |
-         | N2     | de                      | 30          | 30 |
-         | N3     | de                      | 30          | 30 |
-         | N4     | de                      | 30          | 30 |
+         | object | country_code | rank_search | rank_address |
+         | N1     | de           | 21          | 0 |
+         | N2     | de           | 30          | 0 |
+         | N3     | de           | 30          | 0 |
+         | N4     | de           | 30          | 0 |
 
     Scenario: search and address rank for other postcodes are correctly assigned
         Given the places
 
     Scenario: search and address rank for other postcodes are correctly assigned
         Given the places
@@ -134,89 +114,16 @@ Feature: Import into placex
          | N9  | place | postcode | A1:bc10  | country:ca |
         When importing
         Then placex contains
          | N9  | place | postcode | A1:bc10  | country:ca |
         When importing
         Then placex contains
-         | object | calculated_country_code | rank_search | rank_address |
-         | N1     | ca                      | 21          | 11 |
-         | N2     | ca                      | 21          | 11 |
-         | N3     | ca                      | 21          | 11 |
-         | N4     | ca                      | 21          | 11 |
-         | N5     | ca                      | 21          | 11 |
-         | N6     | ca                      | 21          | 11 |
-         | N7     | ca                      | 25          | 11 |
-         | N8     | ca                      | 25          | 11 |
-         | N9     | ca                      | 25          | 11 |
-
-    Scenario: search and address ranks for places are correctly assigned
-        Given the named places
-          | osm  | class     | type      |
-          | N1   | foo       | bar       |
-          | N11  | place     | Continent |
-          | N12  | place     | continent |
-          | N13  | place     | sea       |
-          | N14  | place     | country   |
-          | N15  | place     | state     |
-          | N16  | place     | region    |
-          | N17  | place     | county    |
-          | N18  | place     | city      |
-          | N19  | place     | island    |
-          | N20  | place     | town      |
-          | N21  | place     | village   |
-          | N22  | place     | hamlet    |
-          | N23  | place     | municipality |
-          | N24  | place     | district     |
-          | N25  | place     | unincorporated_area |
-          | N26  | place     | borough             |
-          | N27  | place     | suburb              |
-          | N28  | place     | croft               |
-          | N29  | place     | subdivision         |
-          | N30  | place     | isolated_dwelling   |
-          | N31  | place     | farm                |
-          | N32  | place     | locality            |
-          | N33  | place     | islet               |
-          | N34  | place     | mountain_pass       |
-          | N35  | place     | neighbourhood       |
-          | N36  | place     | house               |
-          | N37  | place     | building            |
-          | N38  | place     | houses              |
-        And the named places
-          | osm  | class     | type      | extra+locality |
-          | N100 | place     | locality  | townland |
-        And the named places
-          | osm  | class     | type      | extra+capital |
-          | N101 | place     | city      | yes |
-        When importing
-        Then placex contains
-          | object | rank_search | rank_address |
-          | N1     | 30          | 30 |
-          | N11    | 30          | 30 |
-          | N12    | 2           | 2 |
-          | N13    | 2           | 0 |
-          | N14    | 4           | 4 |
-          | N15    | 8           | 8 |
-          | N16    | 18          | 0 |
-          | N17    | 12          | 12 |
-          | N18    | 16          | 16 |
-          | N19    | 17          | 0 |
-          | N20    | 18          | 16 |
-          | N21    | 19          | 16 |
-          | N22    | 19          | 16 |
-          | N23    | 19          | 16 |
-          | N24    | 19          | 16 |
-          | N25    | 19          | 16 |
-          | N26    | 19          | 16 |
-          | N27    | 20          | 20 |
-          | N28    | 20          | 20 |
-          | N29    | 20          | 20 |
-          | N30    | 20          | 20 |
-          | N31    | 20          | 0 |
-          | N32    | 20          | 0 |
-          | N33    | 20          | 0 |
-          | N34    | 20          | 0 |
-          | N100   | 20          | 20 |
-          | N101   | 15          | 16 |
-          | N35    | 22          | 22 |
-          | N36    | 30          | 30 |
-          | N37    | 30          | 30 |
-          | N38    | 28          | 0 |
+         | object | country_code | rank_search | rank_address |
+         | N1     | ca           | 21          | 0 |
+         | N2     | ca           | 21          | 0 |
+         | N3     | ca           | 21          | 0 |
+         | N4     | ca           | 21          | 0 |
+         | N5     | ca           | 21          | 0 |
+         | N6     | ca           | 21          | 0 |
+         | N7     | ca           | 25          | 0 |
+         | N8     | ca           | 25          | 0 |
+         | N9     | ca           | 25          | 0 |
 
     Scenario: search and address ranks for boundaries are correctly assigned
         Given the named places
 
     Scenario: search and address ranks for boundaries are correctly assigned
         Given the named places
@@ -231,6 +138,10 @@ Feature: Import into placex
           | 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
@@ -238,8 +149,10 @@ Feature: Import into placex
           | object | rank_search | rank_address |
           | R20    | 4           | 4 |
           | R21    | 30          | 30 |
           | object | rank_search | rank_address |
           | R20    | 4           | 4 |
           | R21    | 30          | 30 |
-          | R22    | 12          | 0 |
-          | R23    | 20          | 0 |
+          | R22    | 30          | 30 |
+          | R23    | 30          | 30 |
+          | R40    | 4           | 0 |
+          | R41    | 8           | 0 |
 
     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
@@ -257,7 +170,7 @@ Feature: Import into placex
         When importing
         Then placex contains
           | object | rank_search | rank_address |
         When importing
         Then placex contains
           | object | rank_search | rank_address |
-          | N1     | 30          | 30 |
+          | N1     | 30          |  0 |
           | W1     | 26          | 26 |
           | W2     | 26          | 26 |
           | W3     | 26          | 26 |
           | W1     | 26          | 26 |
           | W2     | 26          | 26 |
           | W3     | 26          | 26 |
@@ -278,11 +191,11 @@ Feature: Import into placex
         When importing
         Then placex contains
           | object | rank_search | rank_address |
         When importing
         Then placex contains
           | object | rank_search | rank_address |
-          | N2     | 30          | 30 |
-          | W2     | 30          | 30 |
+          | N2     | 30          |  0 |
+          | W2     | 30          |  0 |
           | W4     | 22          | 22 |
           | R2     | 22          | 22 |
           | W4     | 22          | 22 |
           | R2     | 22          | 22 |
-          | R3     | 22          | 0 |
+          | R3     | 22          |  0 |
 
     Scenario: rank and inclusion of naturals
        Given the named places
 
     Scenario: rank and inclusion of naturals
        Given the named places
@@ -306,8 +219,27 @@ Feature: Import into placex
           | N5     | 30          | 30 |
           | W2     | 18          | 0 |
           | R3     | 18          | 0 |
           | N5     | 30          | 30 |
           | W2     | 18          | 0 |
           | R3     | 18          | 0 |
-          | R4     | 22          | 0 |
-          | R5     | 4           | 4 |
-          | R6     | 4           | 4 |
+          | R4     | 30          | 30 |
+          | R5     | 4           | 0 |
+          | R6     | 4           | 0 |
           | W3     | 30          | 30 |
 
           | W3     | 30          | 30 |
 
+    Scenario: boundary ways for countries and states are ignored
+        Given the named places
+          | osm | class    | type           | admin | geometry |
+          | W4  | boundary | administrative | 2     | poly-area:0.1 |
+          | R4  | boundary | administrative | 2     | poly-area:0.1 |
+          | W5  | boundary | administrative | 3     | poly-area:0.1 |
+          | R5  | boundary | administrative | 3     | poly-area:0.1 |
+          | W6  | boundary | administrative | 4     | poly-area:0.1 |
+          | R6  | boundary | administrative | 4     | poly-area:0.1 |
+          | W7  | boundary | administrative | 5     | poly-area:0.1 |
+          | R7  | boundary | administrative | 5     | poly-area:0.1 |
+       When importing
+       Then placex contains exactly
+           | object |
+           | R4     |
+           | R5     |
+           | R6     |
+           | W7     |
+           | R7     |