]> git.openstreetmap.org Git - nominatim.git/blobdiff - test/bdd/db/import/interpolation.feature
Merge remote-tracking branch 'upstream/master'
[nominatim.git] / test / bdd / db / import / interpolation.feature
index 8c136d076ad63b9ed7de92fa44be03f0d7c8bbe4..3c67d652e42fa59bc01a658b4b820b784c1891c1 100644 (file)
@@ -29,14 +29,14 @@ Feature: Import of address interpolations
           | N2  | place | house  | 8       |
         And the places
           | osm | class | type   | addr+interpolation | geometry |
           | N2  | place | house  | 8       |
         And the places
           | osm | class | type   | addr+interpolation | geometry |
-          | W1  | place | houses | even    | 1,2 |
+          | W1  | place | houses | even               | 2,1      |
         And the ways
           | id | nodes |
           | 1  | 2,1 |
         When importing
         Then W1 expands to interpolation
           | start | end | geometry |
         And the ways
           | id | nodes |
           | 1  | 2,1 |
         When importing
         Then W1 expands to interpolation
           | start | end | geometry |
-          | 4     | 6   | 8,9 |
+          | 4     | 6   | 9,8      |
 
     Scenario: Simple odd two point interpolation
         Given the grid with origin 1,1
 
     Scenario: Simple odd two point interpolation
         Given the grid with origin 1,1
@@ -273,12 +273,12 @@ Feature: Import of address interpolations
           | W3              | 14    | 14 |
         When sending search query "16 Cloud Street"
         Then results contain
           | W3              | 14    | 14 |
         When sending search query "16 Cloud Street"
         Then results contain
-         | ID | osm_type | osm_id |
-         | 0  | N        | 4 |
+         | ID | osm |
+         | 0  | N |
         When sending search query "14 Cloud Street"
         Then results contain
         When sending search query "14 Cloud Street"
         Then results contain
-         | ID | osm_type | osm_id |
-         | 0  | W        | 11 |
+         | ID | osm |
+         | 0  | W11 |
 
     Scenario: addr:street on housenumber way
         Given the grid
 
     Scenario: addr:street on housenumber way
         Given the grid
@@ -318,12 +318,12 @@ Feature: Import of address interpolations
           | W3              | 14    | 14 |
         When sending search query "16 Cloud Street"
         Then results contain
           | W3              | 14    | 14 |
         When sending search query "16 Cloud Street"
         Then results contain
-         | ID | osm_type | osm_id |
-         | 0  | N        | 4 |
+         | ID | osm |
+         | 0  | N |
         When sending search query "14 Cloud Street"
         Then results contain
         When sending search query "14 Cloud Street"
         Then results contain
-         | ID | osm_type | osm_id |
-         | 0  | W        | 11 |
+         | ID | osm |
+         | 0  | W11 |
 
     Scenario: Geometry of points and way don't match (github #253)
         Given the places
 
     Scenario: Geometry of points and way don't match (github #253)
         Given the places
@@ -341,7 +341,7 @@ Feature: Import of address interpolations
         Then W1 expands to interpolation
           | start | end | geometry |
           | 4     | 4   | 144.963016 -37.762946 |
         Then W1 expands to interpolation
           | start | end | geometry |
           | 4     | 4   | 144.963016 -37.762946 |
-          | 8     | 8   | 144.963144 -37.7622237 |
+          | 8     | 8   | 144.96314407 -37.762223692 |
 
     Scenario: Place with missing address information
         Given the grid
 
     Scenario: Place with missing address information
         Given the grid
@@ -399,7 +399,126 @@ Feature: Import of address interpolations
         Then W1 expands to interpolation
           | start | end | geometry |
           | 2     | 8   | 10,11 |
         Then W1 expands to interpolation
           | start | end | geometry |
           | 2     | 8   | 10,11 |
-        When sending jsonv2 reverse coordinates 1,1
+        When sending v1/reverse at 1,1
         Then results contain
         Then results contain
-          | ID | osm_type | osm_id | type  | display_name |
-          | 0  | node     | 1      | house | 0 |
+          | ID | osm | type  | display_name |
+          | 0  | N1  | house | 0 |
+
+    Scenario: Parenting of interpolation with additional tags
+        Given the grid
+          | 1 |   |   |   |   |   |
+          |   |   |   |   |   |   |
+          |   | 8 |   |   | 9 |   |
+          |   |   |   |   |   |   |
+          | 2 |   |   |   |   | 3 |
+        Given the places
+          | osm | class | type  | housenr | addr+street |
+          | N8  | place | house | 10      | Horiz St    |
+          | N9  | place | house | 16      | Horiz St    |
+        And the places
+          | osm | class   | type        | name     | geometry |
+          | W1  | highway | residential | Vert St  | 1,2      |
+          | W2  | highway | residential | Horiz St | 2,3      |
+        And the places
+          | osm | class | type   | addr+interpolation | addr+inclusion | geometry |
+          | W10 | place | houses | even               | actual         | 8,9      |
+        And the ways
+          | id | nodes |
+          | 10 | 8,9   |
+        When importing
+        Then placex contains
+          | object | parent_place_id |
+          | N8     | W2              |
+          | N9     | W2              |
+        And W10 expands to interpolation
+          | start | end | parent_place_id |
+          | 12    | 14  | W2              |
+
+
+    Scenario Outline: Bad interpolation values are ignored
+        Given the grid with origin 1,1
+          | 1 |  | 9 |  | 2 |
+        Given the places
+          | osm | class | type   | housenr |
+          | N1  | place | house  | 2       |
+          | N2  | place | house  | 6       |
+        And the places
+          | osm | class | type   | addr+interpolation | geometry |
+          | W1  | place | houses | <value>            | 1,2      |
+        And the ways
+          | id | nodes |
+          | 1  | 1,2 |
+        When importing
+        Then W1 expands to no interpolation
+
+        Examples:
+          | value |
+          | foo   |
+          | x     |
+          | 12-2  |
+
+
+    Scenario: Interpolation line where points have been moved (Github #3022)
+        Given the 0.00001 grid
+         | 1 | | | | | | | | 2 | 3 | 9 | | | | | | | | 4 |
+        Given the places
+          | osm | class | type   | housenr | geometry |
+          | N1  | place | house  | 2       | 1 |
+          | N2  | place | house  | 18      | 3 |
+          | N3  | place | house  | 24      | 9 |
+          | N4  | place | house  | 42      | 4 |
+        And the places
+          | osm | class | type   | addr+interpolation | geometry |
+          | W1  | place | houses | even               | 1,2,3,4  |
+        And the ways
+          | id | nodes   |
+          | 1  | 1,2,3,4 |
+        When importing
+        Then W1 expands to interpolation
+          | start | end |
+          | 4     | 16  |
+          | 20    | 22  |
+          | 26    | 40  |
+
+
+    Scenario: Interpolation line with duplicated points
+        Given the grid
+          | 7 | 10 | 8 | 11 | 9 |
+        Given the places
+          | osm | class | type   | housenr | geometry |
+          | N1  | place | house  | 2       | 7 |
+          | N2  | place | house  | 6       | 8 |
+          | N3  | place | house  | 10      | 8 |
+          | N4  | place | house  | 14      | 9 |
+        And the places
+          | osm | class | type   | addr+interpolation | geometry |
+          | W1  | place | houses | even               | 7,8,8,9  |
+        And the ways
+          | id | nodes   |
+          | 1  | 1,2,3,4 |
+        When importing
+        Then W1 expands to interpolation
+          | start | end | geometry |
+          | 4     | 4   | 10       |
+          | 12    | 12  | 11       |
+
+
+    Scenario: Interpolaton line with broken way geometry (Github #2986)
+        Given the grid
+          | 1 | 8 | 10 | 11 | 9 | 2 | 3 | 4 |
+        Given the places
+          | osm | class | type   | housenr |
+          | N1  | place | house  | 2       |
+          | N2  | place | house  | 8       |
+          | N3  | place | house  | 12      |
+          | N4  | place | house  | 14      |
+        And the places
+          | osm | class | type   | addr+interpolation | geometry |
+          | W1  | place | houses | even               | 8,9      |
+        And the ways
+          | id | nodes       |
+          | 1  | 1,8,9,2,3,4 |
+        When importing
+        Then W1 expands to interpolation
+          | start | end | geometry |
+          | 4     | 6   | 10,11    |