X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/fced1172c4a06d1b419ca3629cb6fbee01b1b280..d4f3eda3145539aa2516da2b8e80bb54b3227e95:/test/bdd/db/import/interpolation.feature?ds=sidebyside diff --git a/test/bdd/db/import/interpolation.feature b/test/bdd/db/import/interpolation.feature index 8c136d07..6b784b78 100644 --- a/test/bdd/db/import/interpolation.feature +++ b/test/bdd/db/import/interpolation.feature @@ -2,9 +2,26 @@ Feature: Import of address interpolations Tests that interpolated addresses are added correctly + Scenario: Simple even interpolation line with two points and no street nearby + 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 | even | 1,2 | + And the ways + | id | nodes | + | 1 | 1,2 | + When importing + Then W1 expands to no interpolation + Scenario: Simple even interpolation line with two points Given the grid with origin 1,1 | 1 | | 9 | | 2 | + | 4 | | | | 5 | Given the places | osm | class | type | housenr | | N1 | place | house | 2 | @@ -12,6 +29,9 @@ Feature: Import of address interpolations And the places | osm | class | type | addr+interpolation | geometry | | W1 | place | houses | even | 1,2 | + And the named places + | osm | class | type | geometry | + | W10 | highway | residential | 4,5 | And the ways | id | nodes | | 1 | 1,2 | @@ -23,24 +43,29 @@ Feature: Import of address interpolations Scenario: Backwards even two point interpolation line Given the grid with origin 1,1 | 1 | 8 | 9 | 2 | + | 4 | | | 5 | Given the places | osm | class | type | housenr | | N1 | place | house | 2 | | 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 named places + | osm | class | type | geometry | + | W10 | highway | residential | 4,5 | 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 | 1 | 8 | | | 9 | 2 | + | 4 | | | | 5 | | Given the places | osm | class | type | housenr | | N1 | place | house | 1 | @@ -48,6 +73,9 @@ Feature: Import of address interpolations And the places | osm | class | type | addr+interpolation | geometry | | W1 | place | houses | odd | 1,2 | + And the named places + | osm | class | type | geometry | + | W10 | highway | residential | 4,5 | And the ways | id | nodes | | 1 | 1,2 | @@ -59,6 +87,7 @@ Feature: Import of address interpolations Scenario: Simple all two point interpolation Given the grid with origin 1,1 | 1 | 8 | 9 | 2 | + | 4 | | | 5 | Given the places | osm | class | type | housenr | | N1 | place | house | 1 | @@ -66,6 +95,9 @@ Feature: Import of address interpolations And the places | osm | class | type | addr+interpolation | geometry | | W1 | place | houses | all | 1,2 | + And the named places + | osm | class | type | geometry | + | W10 | highway | residential | 4,5 | And the ways | id | nodes | | 1 | 1,2 | @@ -77,6 +109,7 @@ Feature: Import of address interpolations Scenario: Even two point interpolation line with intermediate empty node Given the grid | 1 | 8 | | 3 | 9 | 2 | + | 4 | | | | 5 | | Given the places | osm | class | type | housenr | | N1 | place | house | 2 | @@ -84,6 +117,9 @@ Feature: Import of address interpolations And the places | osm | class | type | addr+interpolation | geometry | | W1 | place | houses | even | 1,3,2 | + And the named places + | osm | class | type | geometry | + | W10 | highway | residential | 4,5 | And the ways | id | nodes | | 1 | 1,3,2 | @@ -94,6 +130,7 @@ Feature: Import of address interpolations Scenario: Even two point interpolation line with intermediate duplicated empty node Given the grid + | 4 | | | | 5 | | 1 | 8 | 3 | 9 | 2 | Given the places | osm | class | type | housenr | @@ -102,6 +139,9 @@ Feature: Import of address interpolations And the places | osm | class | type | addr+interpolation | geometry | | W1 | place | houses | even | 1,3,2 | + And the named places + | osm | class | type | geometry | + | W10 | highway | residential | 4,5 | And the ways | id | nodes | | 1 | 1,3,3,2 | @@ -112,6 +152,7 @@ Feature: Import of address interpolations Scenario: Simple even three point interpolation line Given the grid + | 4 | | | | | | 5 | | 1 | 8 | | 9 | 3 | 7 | 2 | Given the places | osm | class | type | housenr | @@ -121,6 +162,9 @@ Feature: Import of address interpolations And the places | osm | class | type | addr+interpolation | geometry | | W1 | place | houses | even | 1,3,2 | + And the named places + | osm | class | type | geometry | + | W10 | highway | residential | 4,5 | And the ways | id | nodes | | 1 | 1,3,2 | @@ -144,6 +188,9 @@ Feature: Import of address interpolations And the places | osm | class | type | addr+interpolation | geometry | | W1 | place | houses | even | 1,3,2,4 | + And the named places + | osm | class | type | geometry | + | W10 | highway | residential | 1,3,2,4 | And the ways | id | nodes | | 1 | 1,3,2,4 | @@ -157,6 +204,7 @@ Feature: Import of address interpolations Scenario: Reverse simple even three point interpolation line Given the grid | 1 | 8 | | 9 | 3 | 7 | 2 | + | 4 | | | | | | 5 | Given the places | osm | class | type | housenr | | N1 | place | house | 2 | @@ -165,6 +213,9 @@ Feature: Import of address interpolations And the places | osm | class | type | addr+interpolation | geometry | | W1 | place | houses | even | 2,3,1 | + And the named places + | osm | class | type | geometry | + | W10 | highway | residential | 4,5 | And the ways | id | nodes | | 1 | 2,3,1 | @@ -177,6 +228,7 @@ Feature: Import of address interpolations Scenario: Even three point interpolation line with odd center point Given the grid | 1 | | 10 | | | 11 | 3 | 2 | + | 4 | | | | | | | 5 | Given the places | osm | class | type | housenr | | N1 | place | house | 2 | @@ -185,6 +237,9 @@ Feature: Import of address interpolations And the places | osm | class | type | addr+interpolation | geometry | | W1 | place | houses | even | 1,3,2 | + And the named places + | osm | class | type | geometry | + | W10 | highway | residential | 4,5 | And the ways | id | nodes | | 1 | 1,3,2 | @@ -206,6 +261,9 @@ Feature: Import of address interpolations And the places | osm | class | type | addr+interpolation | geometry | | W1 | place | houses | even | 1,2,3,2 | + And the named places + | osm | class | type | geometry | + | W10 | highway | residential | 1,2,3 | And the ways | id | nodes | | 1 | 1,2,3,2 | @@ -227,6 +285,9 @@ Feature: Import of address interpolations And the places | osm | class | type | addr+interpolation | geometry | | W1 | place | houses | even | 1,2,3,2 | + And the named places + | osm | class | type | geometry | + | W10 | highway | residential | 1,2,3 | And the ways | id | nodes | | 1 | 1,2,3,2 | @@ -273,12 +334,12 @@ Feature: Import of address interpolations | W3 | 14 | 14 | When sending search query "16 Cloud Street" Then results contain - | ID | osm_type | osm_id | - | 0 | N | 4 | + | ID | osm | + | 0 | N4 | 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 @@ -318,12 +379,12 @@ Feature: Import of address interpolations | W3 | 14 | 14 | When sending search query "16 Cloud Street" Then results contain - | ID | osm_type | osm_id | - | 0 | N | 4 | + | ID | osm | + | 0 | N4 | 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 @@ -334,6 +395,9 @@ Feature: Import of address interpolations And the places | osm | class | type | addr+interpolation | geometry | | W1 | place | houses | even | 144.9632341 -37.76163,144.9630541 -37.7628172,144.9629794 -37.7630755 | + And the named places + | osm | class | type | geometry | + | W10 | highway | residential | 144.9632341 -37.76163,144.9629794 -37.7630755 | And the ways | id | nodes | | 1 | 1,2,3 | @@ -341,11 +405,12 @@ Feature: Import of address interpolations 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 | 1 | | 2 | | | 3 | + | 4 | | | | | 5 | And the places | osm | class | type | housenr | | N1 | place | house | 23 | @@ -354,6 +419,9 @@ Feature: Import of address interpolations And the places | osm | class | type | addr+interpolation | geometry | | W1 | place | houses | odd | 1,2,3 | + And the named places + | osm | class | type | geometry | + | W10 | highway | residential | 4,5 | And the ways | id | nodes | | 1 | 1,2,3 | @@ -366,12 +434,16 @@ Feature: Import of address interpolations Given the places | osm | class | type | housenr | geometry | | W1 | place | houses | even | 1 1, 1 1.001 | + And the named places + | osm | class | type | geometry | + | W10 | highway | residential | 1 1, 1 1.001 | When importing Then W1 expands to no interpolation Scenario: Ways with nodes without housenumbers are ignored Given the grid - | 1 | | 2 | + | 1 | | 2 | + | 4 | | 5 | Given the places | osm | class | type | | N1 | place | house | @@ -379,12 +451,16 @@ Feature: Import of address interpolations Given the places | osm | class | type | housenr | geometry | | W1 | place | houses | even | 1,2 | + And the named places + | osm | class | type | geometry | + | W10 | highway | residential | 4,5 | When importing Then W1 expands to no interpolation Scenario: Two point interpolation starting at 0 Given the grid with origin 1,1 | 1 | 10 | | | 11 | 2 | + | 4 | | | | | 5 | Given the places | osm | class | type | housenr | | N1 | place | house | 0 | @@ -392,6 +468,9 @@ Feature: Import of address interpolations And the places | osm | class | type | addr+interpolation | geometry | | W1 | place | houses | even | 1,2 | + And the places + | osm | class | type | name | geometry | + | W10 | highway | residential | London Road |4,5 | And the ways | id | nodes | | 1 | 1,2 | @@ -399,7 +478,140 @@ Feature: Import of address interpolations 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 - | ID | osm_type | osm_id | type | display_name | - | 0 | node | 1 | house | 0 | + | ID | osm | type | display_name | + | 0 | N1 | house | 0, London Road | + + 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 | + | 4 | | | | 5 | + 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 | | 1,2 | + And the named places + | osm | class | type | geometry | + | W10 | highway | residential | 4,5 | + 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 named places + | osm | class | type | geometry | + | W10 | highway | residential | 1,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 | + | 4 | | | | 5 | + 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 named places + | osm | class | type | geometry | + | W10 | highway | residential | 4,5 | + 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 named places + | osm | class | type | geometry | + | W10 | highway | residential | 1,4 | + 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 |