]> git.openstreetmap.org Git - nominatim.git/blobdiff - tests/features/db/import/interpolation.feature
Merge pull request #436 from lonvia/remove-location-property-tables
[nominatim.git] / tests / features / db / import / interpolation.feature
index d70bf18adc55715c2166d5b8512c74a74824daf6..195cbfdf27cff359654e5ac88776d468ccdcf8ec 100644 (file)
@@ -229,8 +229,8 @@ Feature: Import of address interpolations
         Given the place nodes
           | osm_id | class | type  | housenumber | geometry
           | 1      | place | house | 2           | 1 1
-          | 2      | place | house |           | 1.001 1.001
-          | 3      | place | house |           | 1 1.001
+          | 2      | place | house | 14          | 1.001 1.001
+          | 3      | place | house | 10          | 1 1.001
         And the place ways
           | osm_id | class | type   | housenumber | geometry
           | 1      | place | houses | even        | 1 1, 1 1.001, 1.001 1.001
@@ -240,7 +240,52 @@ Feature: Import of address interpolations
         When importing
         Then way 1 expands to housenumbers
           | housenumber | centroid
-          | 6           | 1.0005,1.001
+          | 4           | 1,1.00025
+          | 6           | 1,1.0005
+          | 8           | 1,1.00075
+          | 12          | 1.0005,1.001
+
+     Scenario: Simple even four point interpolation
+        Given the place nodes
+          | osm_id | class | type  | housenumber | geometry
+          | 1      | place | house | 2           | 1 1
+          | 2      | place | house | 14          | 1.001 1.001
+          | 3      | place | house | 10          | 1 1.001
+          | 4      | place | house | 18          | 1.001 1.002
+        And the place ways
+          | osm_id | class | type   | housenumber | geometry
+          | 1      | place | houses | even        | 1 1, 1 1.001, 1.001 1.001, 1.001 1.002
+        And the ways
+          | id | nodes
+          | 1  | 1,3,2,4
+        When importing
+        Then way 1 expands to housenumbers
+          | housenumber | centroid
+          | 4           | 1,1.00025
+          | 6           | 1,1.0005
+          | 8           | 1,1.00075
+          | 12          | 1.0005,1.001
+          | 16          | 1.001,1.0015
+
+    Scenario: Reverse simple even three point interpolation
+        Given the place nodes
+          | osm_id | class | type  | housenumber | geometry
+          | 1      | place | house | 2           | 1 1
+          | 2      | place | house | 14          | 1.001 1.001
+          | 3      | place | house | 10          | 1 1.001
+        And the place ways
+          | osm_id | class | type   | housenumber | geometry
+          | 1      | place | houses | even        | 1.001 1.001, 1 1.001, 1 1
+        And the ways
+          | id | nodes
+          | 1  | 2,3,1
+        When importing
+        Then way 1 expands to housenumbers
+          | housenumber | centroid
+          | 4           | 1,1.00025
+          | 6           | 1,1.0005
+          | 8           | 1,1.00075
+          | 12          | 1.0005,1.001
 
     Scenario: Even three point interpolation with odd center point
         Given the place nodes
@@ -359,4 +404,38 @@ Feature: Import of address interpolations
        And way 10 expands exactly to housenumbers 4
        And way 11 expands exactly to housenumbers 14
 
+    Scenario: Geometry of points and way don't match (github #253)
+        Given the place nodes
+          | osm_id | class | type   | housenumber | geometry
+          | 1      | place | house  | 10          | 144.9632341 -37.76163
+          | 2      | place | house  | 6           | 144.9630541 -37.7628174
+          | 3      | shop  | supermarket | 2      | 144.9629794 -37.7630755
+        And the place ways
+          | osm_id | class | type   | housenumber | geometry
+          | 1      | place | houses | even        | 144.9632341 -37.76163,144.9630541 -37.7628172,144.9629794 -37.7630755
+        And the ways
+          | id | nodes
+          | 1  | 1,2,3
+        When importing
+        Then way 1 expands to housenumbers
+          | housenumber  | centroid
+          | 4            | 144.963016723312,-37.7629464422819+-0.000005
+          | 8            | 144.9631440856,-37.762223694978+-0.000005
 
+    Scenario: Place with missing address information
+        Given the place nodes
+          | osm_id | class   | type   | housenumber | geometry
+          | 1      | place   | house  | 23          | 0.0001 0.0001
+          | 2      | amenity | school |             | 0.0001 0.0002
+          | 3      | place   | house  | 29          | 0.0001 0.0004
+        And the place ways
+          | osm_id | class | type   | housenumber | geometry
+          | 1      | place | houses | odd         | 0.0001 0.0001,0.0001 0.0002,0.0001 0.0004
+        And the ways
+          | id | nodes
+          | 1  | 1,2,3
+        When importing
+        Then way 1 expands to housenumbers
+          | housenumber | centroid
+          | 25          | 0.0001,0.0002
+          | 27          | 0.0001,0.0003