adapt BDD tests for new interpolation style

This commit is contained in:
Sarah Hoffmann
2022-01-26 15:24:06 +01:00
parent fea4dbba50
commit 4b28b4fed4
3 changed files with 64 additions and 62 deletions

View File

@@ -53,9 +53,13 @@ BEGIN
IF parent_place_id is null THEN IF parent_place_id is null THEN
FOR location IN SELECT place_id FROM placex FOR location IN SELECT place_id FROM placex
WHERE ST_DWithin(geom, placex.geometry, 0.001) and placex.rank_search = 26 WHERE ST_DWithin(geom, placex.geometry, 0.001) and placex.rank_search = 26
ORDER BY (ST_distance(placex.geometry, ST_LineInterpolatePoint(geom,0))+ ORDER BY CASE WHEN ST_GeometryType(geom) = 'ST_Line' THEN
(ST_distance(placex.geometry, ST_LineInterpolatePoint(geom,0))+
ST_distance(placex.geometry, ST_LineInterpolatePoint(geom,0.5))+ ST_distance(placex.geometry, ST_LineInterpolatePoint(geom,0.5))+
ST_distance(placex.geometry, ST_LineInterpolatePoint(geom,1))) ASC limit 1 ST_distance(placex.geometry, ST_LineInterpolatePoint(geom,1)))
ELSE ST_distance(placex.geometry, geom) END
ASC
LIMIT 1
LOOP LOOP
parent_place_id := location.place_id; parent_place_id := location.place_id;
END LOOP; END LOOP;

View File

@@ -16,23 +16,23 @@ Feature: Import of address interpolations
When importing When importing
Then W1 expands to interpolation Then W1 expands to interpolation
| start | end | geometry | | start | end | geometry |
| 2 | 6 | 1 1, 1 1.001 | | 4 | 4 | 1 1.0005 |
Scenario: Backwards even two point interpolation line Scenario: Backwards even two point interpolation line
Given the places Given the places
| osm | class | type | housenr | geometry | | osm | class | type | housenr | geometry |
| N1 | place | house | 2 | 1 1 | | N1 | place | house | 2 | 1 1 |
| N2 | place | house | 6 | 1 1.001 | | N2 | place | house | 8 | 1 1.003 |
And the places And the places
| osm | class | type | addr+interpolation | geometry | | osm | class | type | addr+interpolation | geometry |
| W1 | place | houses | even | 1 1.001, 1 1 | | W1 | place | houses | even | 1 1.003, 1 1 |
And the ways And the ways
| id | nodes | | id | nodes |
| 1 | 2,1 | | 1 | 2,1 |
When importing When importing
Then W1 expands to interpolation Then W1 expands to interpolation
| start | end | geometry | | start | end | geometry |
| 2 | 6 | 1 1, 1 1.001 | | 4 | 6 | 1 1.001, 1 1.002 |
Scenario: Simple odd two point interpolation Scenario: Simple odd two point interpolation
Given the places Given the places
@@ -48,23 +48,23 @@ Feature: Import of address interpolations
When importing When importing
Then W1 expands to interpolation Then W1 expands to interpolation
| start | end | geometry | | start | end | geometry |
| 1 | 11 | 1 1, 1 1.001 | | 3 | 9 | 1 1.0002, 1 1.0008 |
Scenario: Simple all two point interpolation Scenario: Simple all two point interpolation
Given the places Given the places
| osm | class | type | housenr | geometry | | osm | class | type | housenr | geometry |
| N1 | place | house | 1 | 1 1 | | N1 | place | house | 1 | 1 1 |
| N2 | place | house | 3 | 1 1.001 | | N2 | place | house | 4 | 1 1.003 |
And the places And the places
| osm | class | type | addr+interpolation | geometry | | osm | class | type | addr+interpolation | geometry |
| W1 | place | houses | all | 1 1, 1 1.001 | | W1 | place | houses | all | 1 1, 1 1.003 |
And the ways And the ways
| id | nodes | | id | nodes |
| 1 | 1,2 | | 1 | 1,2 |
When importing When importing
Then W1 expands to interpolation Then W1 expands to interpolation
| start | end | geometry | | start | end | geometry |
| 1 | 3 | 1 1, 1 1.001 | | 2 | 3 | 1 1.001, 1 1.002 |
Scenario: Even two point interpolation line with intermediate empty node Scenario: Even two point interpolation line with intermediate empty node
Given the places Given the places
@@ -80,7 +80,7 @@ Feature: Import of address interpolations
When importing When importing
Then W1 expands to interpolation Then W1 expands to interpolation
| start | end | geometry | | start | end | geometry |
| 2 | 10 | 1 1, 1 1.001, 1.001 1.001 | | 4 | 8 | 1 1.0005, 1 1.001, 1.0005 1.001 |
Scenario: Even two point interpolation line with intermediate duplicated empty node Scenario: Even two point interpolation line with intermediate duplicated empty node
Given the places Given the places
@@ -96,7 +96,7 @@ Feature: Import of address interpolations
When importing When importing
Then W1 expands to interpolation Then W1 expands to interpolation
| start | end | geometry | | start | end | geometry |
| 2 | 10 | 1 1, 1 1.001, 1.001 1.001 | | 4 | 8 | 1 1.0005, 1 1.001, 1.0005 1.001 |
Scenario: Simple even three point interpolation line Scenario: Simple even three point interpolation line
Given the places Given the places
@@ -113,8 +113,8 @@ Feature: Import of address interpolations
When importing When importing
Then W1 expands to interpolation Then W1 expands to interpolation
| start | end | geometry | | start | end | geometry |
| 2 | 10 | 1 1, 1 1.001 | | 4 | 8 | 1 1.00025, 1 1.00075 |
| 10 | 14 | 1 1.001, 1.001 1.001 | | 12 | 12 | 1.0005 1.001 |
Scenario: Simple even four point interpolation line Scenario: Simple even four point interpolation line
Given the places Given the places
@@ -132,9 +132,9 @@ Feature: Import of address interpolations
When importing When importing
Then W1 expands to interpolation Then W1 expands to interpolation
| start | end | geometry | | start | end | geometry |
| 2 | 10 | 1 1, 1 1.001 | | 4 | 8 | 1 1.00025, 1 1.00075 |
| 10 | 14 | 1 1.001, 1.001 1.001 | | 12 | 12 | 1.0005 1.001 |
| 14 | 18 | 1.001 1.001, 1.001 1.002 | | 16 | 16 | 1.001 1.0015 |
Scenario: Reverse simple even three point interpolation line Scenario: Reverse simple even three point interpolation line
Given the places Given the places
@@ -151,8 +151,8 @@ Feature: Import of address interpolations
When importing When importing
Then W1 expands to interpolation Then W1 expands to interpolation
| start | end | geometry | | start | end | geometry |
| 2 | 10 | 1 1, 1 1.001 | | 4 | 8 | 1 1.00025, 1 1.00075 |
| 10 | 14 | 1 1.001, 1.001 1.001 | | 12 | 12 | 1.0005 1.001 |
Scenario: Even three point interpolation line with odd center point Scenario: Even three point interpolation line with odd center point
Given the places Given the places
@@ -169,8 +169,7 @@ Feature: Import of address interpolations
When importing When importing
Then W1 expands to interpolation Then W1 expands to interpolation
| start | end | geometry | | start | end | geometry |
| 2 | 7 | 1 1, 1 1.001 | | 4 | 6 | 1 1.0004, 1 1.0008 |
| 7 | 8 | 1 1.001, 1.001 1.001 |
Scenario: Interpolation line with self-intersecting way Scenario: Interpolation line with self-intersecting way
Given the places Given the places
@@ -187,9 +186,9 @@ Feature: Import of address interpolations
When importing When importing
Then W1 expands to interpolation Then W1 expands to interpolation
| start | end | geometry | | start | end | geometry |
| 2 | 6 | 0 0, 0 0.001 | | 4 | 4 | 0 0.0005 |
| 6 | 10 | 0 0.001, 0 0.002 | | 8 | 8 | 0 0.0015 |
| 6 | 10 | 0 0.001, 0 0.002 | | 8 | 8 | 0 0.0015 |
Scenario: Interpolation line with self-intersecting way II Scenario: Interpolation line with self-intersecting way II
Given the places Given the places
@@ -205,7 +204,7 @@ Feature: Import of address interpolations
When importing When importing
Then W1 expands to interpolation Then W1 expands to interpolation
| start | end | geometry | | start | end | geometry |
| 2 | 6 | 0 0, 0 0.001 | | 4 | 4 | 0 0.0005 |
Scenario: addr:street on interpolation way Scenario: addr:street on interpolation way
Given the scene parallel-road Given the scene parallel-road
@@ -236,10 +235,10 @@ Feature: Import of address interpolations
| N4 | W3 | | N4 | W3 |
Then W10 expands to interpolation Then W10 expands to interpolation
| parent_place_id | start | end | | parent_place_id | start | end |
| W2 | 2 | 6 | | W2 | 4 | 4 |
Then W11 expands to interpolation Then W11 expands to interpolation
| parent_place_id | start | end | | parent_place_id | start | end |
| W3 | 12 | 16 | | W3 | 14 | 14 |
When sending search query "16 Cloud Street" When sending search query "16 Cloud Street"
Then results contain Then results contain
| ID | osm_type | osm_id | | ID | osm_type | osm_id |
@@ -278,10 +277,10 @@ Feature: Import of address interpolations
| N4 | W3 | | N4 | W3 |
Then W10 expands to interpolation Then W10 expands to interpolation
| parent_place_id | start | end | | parent_place_id | start | end |
| W2 | 2 | 6 | | W2 | 4 | 4 |
Then W11 expands to interpolation Then W11 expands to interpolation
| parent_place_id | start | end | | parent_place_id | start | end |
| W3 | 12 | 16 | | W3 | 14 | 14 |
When sending search query "16 Cloud Street" When sending search query "16 Cloud Street"
Then results contain Then results contain
| ID | osm_type | osm_id | | ID | osm_type | osm_id |
@@ -306,8 +305,8 @@ Feature: Import of address interpolations
When importing When importing
Then W1 expands to interpolation Then W1 expands to interpolation
| start | end | geometry | | start | end | geometry |
| 2 | 6 | 144.9629794 -37.7630755, 144.9630541 -37.7628174 | | 4 | 4 | 144.963016 -37.762946 |
| 6 | 10 | 144.9630541 -37.7628174, 144.9632341 -37.76163 | | 8 | 8 | 144.963144 -37.7622237 |
Scenario: Place with missing address information Scenario: Place with missing address information
Given the grid Given the grid
@@ -326,7 +325,7 @@ Feature: Import of address interpolations
When importing When importing
Then W1 expands to interpolation Then W1 expands to interpolation
| start | end | geometry | | start | end | geometry |
| 23 | 29 | 1,2,3 | | 25 | 27 | 0.000016 0,0.00002 0,0.000033 0 |
Scenario: Ways without node entries are ignored Scenario: Ways without node entries are ignored
Given the places Given the places
@@ -348,7 +347,7 @@ Feature: Import of address interpolations
Given the places Given the places
| osm | class | type | housenr | geometry | | osm | class | type | housenr | geometry |
| N1 | place | house | 0 | 1 1 | | N1 | place | house | 0 | 1 1 |
| N2 | place | house | 2 | 1 1.001 | | N2 | place | house | 8 | 1 1.001 |
And the places And the places
| osm | class | type | addr+interpolation | geometry | | osm | class | type | addr+interpolation | geometry |
| W1 | place | houses | even | 1 1, 1 1.001 | | W1 | place | houses | even | 1 1, 1 1.001 |
@@ -358,9 +357,8 @@ Feature: Import of address interpolations
When importing When importing
Then W1 expands to interpolation Then W1 expands to interpolation
| start | end | geometry | | start | end | geometry |
| 0 | 2 | 1 1, 1 1.001 | | 2 | 6 | 1 0002, 1 1.0008 |
When sending jsonv2 reverse coordinates 1,1 When sending jsonv2 reverse coordinates 1,1
Then results contain Then results contain
| ID | osm_type | osm_id | type | display_name | | ID | osm_type | osm_id | type | display_name |
| 0 | way | 1 | house | 0 | | 0 | way | 1 | house | 0 |

View File

@@ -26,7 +26,7 @@ Feature: Update of address interpolations
| N2 | W2 | | N2 | W2 |
And W10 expands to interpolation And W10 expands to interpolation
| parent_place_id | start | end | | parent_place_id | start | end |
| W2 | 2 | 6 | | W2 | 4 | 4 |
Scenario: addr:street added to interpolation Scenario: addr:street added to interpolation
Given the scene parallel-road Given the scene parallel-road
@@ -51,7 +51,7 @@ Feature: Update of address interpolations
| N2 | W2 | | N2 | W2 |
And W10 expands to interpolation And W10 expands to interpolation
| parent_place_id | start | end | | parent_place_id | start | end |
| W2 | 2 | 6 | | W2 | 4 | 4 |
When updating places When updating places
| osm | class | type | addr+interpolation | street | geometry | | osm | class | type | addr+interpolation | street | geometry |
| W10 | place | houses | even | Cloud Street | :w-middle | | W10 | place | houses | even | Cloud Street | :w-middle |
@@ -61,7 +61,7 @@ Feature: Update of address interpolations
| N2 | W3 | | N2 | W3 |
And W10 expands to interpolation And W10 expands to interpolation
| parent_place_id | start | end | | parent_place_id | start | end |
| W3 | 2 | 6 | | W3 | 4 | 4 |
Scenario: addr:street added to housenumbers Scenario: addr:street added to housenumbers
Given the scene parallel-road Given the scene parallel-road
@@ -86,7 +86,7 @@ Feature: Update of address interpolations
| N2 | W2 | | N2 | W2 |
And W10 expands to interpolation And W10 expands to interpolation
| parent_place_id | start | end | | parent_place_id | start | end |
| W2 | 2 | 6 | | W2 | 4 | 4 |
When updating places When updating places
| osm | class | type | street | housenr | geometry | | osm | class | type | street | housenr | geometry |
| N1 | place | house | Cloud Street| 2 | :n-middle-w | | N1 | place | house | Cloud Street| 2 | :n-middle-w |
@@ -97,7 +97,7 @@ Feature: Update of address interpolations
| N2 | W3 | | N2 | W3 |
And W10 expands to interpolation And W10 expands to interpolation
| parent_place_id | start | end | | parent_place_id | start | end |
| W3 | 2 | 6 | | W3 | 4 | 4 |
Scenario: interpolation tag removed Scenario: interpolation tag removed
Given the scene parallel-road Given the scene parallel-road
@@ -122,7 +122,7 @@ Feature: Update of address interpolations
| N2 | W2 | | N2 | W2 |
And W10 expands to interpolation And W10 expands to interpolation
| parent_place_id | start | end | | parent_place_id | start | end |
| W2 | 2 | 6 | | W2 | 4 | 4 |
When marking for delete W10 When marking for delete W10
Then W10 expands to no interpolation Then W10 expands to no interpolation
And placex contains And placex contains
@@ -152,7 +152,7 @@ Feature: Update of address interpolations
| N2 | W2 | | N2 | W2 |
And W10 expands to interpolation And W10 expands to interpolation
| parent_place_id | start | end | | parent_place_id | start | end |
| W2 | 2 | 6 | | W2 | 4 | 4 |
When updating places When updating places
| osm | class | type | name | geometry | | osm | class | type | name | geometry |
| W3 | highway | unclassified | Cloud Street | :w-south | | W3 | highway | unclassified | Cloud Street | :w-south |
@@ -162,7 +162,7 @@ Feature: Update of address interpolations
| N2 | W3 | | N2 | W3 |
And W10 expands to interpolation And W10 expands to interpolation
| parent_place_id | start | end | | parent_place_id | start | end |
| W3 | 2 | 6 | | W3 | 4 | 4 |
Scenario: referenced road deleted Scenario: referenced road deleted
Given the scene parallel-road Given the scene parallel-road
@@ -187,7 +187,7 @@ Feature: Update of address interpolations
| N2 | W3 | | N2 | W3 |
And W10 expands to interpolation And W10 expands to interpolation
| parent_place_id | start | end | | parent_place_id | start | end |
| W3 | 2 | 6 | | W3 | 4 | 4 |
When marking for delete W3 When marking for delete W3
Then placex contains Then placex contains
| object | parent_place_id | | object | parent_place_id |
@@ -195,7 +195,7 @@ Feature: Update of address interpolations
| N2 | W2 | | N2 | W2 |
And W10 expands to interpolation And W10 expands to interpolation
| parent_place_id | start | end | | parent_place_id | start | end |
| W2 | 2 | 6 | | W2 | 4 | 4 |
Scenario: building becomes interpolation Scenario: building becomes interpolation
Given the scene building-with-parallel-streets Given the scene building-with-parallel-streets
@@ -222,7 +222,7 @@ Feature: Update of address interpolations
Then placex has no entry for W1 Then placex has no entry for W1
And W1 expands to interpolation And W1 expands to interpolation
| parent_place_id | start | end | | parent_place_id | start | end |
| W2 | 2 | 6 | | W2 | 4 | 4 |
Scenario: interpolation becomes building Scenario: interpolation becomes building
Given the scene building-with-parallel-streets Given the scene building-with-parallel-streets
@@ -243,7 +243,7 @@ Feature: Update of address interpolations
Then placex has no entry for W1 Then placex has no entry for W1
And W1 expands to interpolation And W1 expands to interpolation
| parent_place_id | start | end | | parent_place_id | start | end |
| W2 | 2 | 6 | | W2 | 4 | 4 |
When updating places When updating places
| osm | class | type | housenr | geometry | | osm | class | type | housenr | geometry |
| W1 | place | house | 3 | :w-building | | W1 | place | house | 3 | :w-building |
@@ -273,7 +273,7 @@ Feature: Update of address interpolations
| W1 | place | houses | even | Cloud Street| :w-north | | W1 | place | houses | even | Cloud Street| :w-north |
Then W1 expands to interpolation Then W1 expands to interpolation
| parent_place_id | start | end | | parent_place_id | start | end |
| W2 | 2 | 6 | | W2 | 4 | 4 |
Scenario: housenumber added in middle of interpolation Scenario: housenumber added in middle of interpolation
Given the grid Given the grid
@@ -294,15 +294,15 @@ Feature: Update of address interpolations
| N5 | place | house | 10 | | N5 | place | house | 10 |
When importing When importing
Then W2 expands to interpolation Then W2 expands to interpolation
| parent_place_id | start | end | geometry | | parent_place_id | start | end |
| W1 | 2 | 10 | 3,4,5 | | W1 | 4 | 8 |
When updating places When updating places
| osm | class | type | housenr | | osm | class | type | housenr |
| N4 | place | house | 6 | | N4 | place | house | 6 |
Then W2 expands to interpolation Then W2 expands to interpolation
| parent_place_id | start | end | geometry | | parent_place_id | start | end |
| W1 | 2 | 6 | 3,4 | | W1 | 4 | 4 |
| W1 | 6 | 10 | 4,5 | | W1 | 8 | 8 |
@Fail @Fail
Scenario: housenumber removed in middle of interpolation Scenario: housenumber removed in middle of interpolation
@@ -325,13 +325,13 @@ Feature: Update of address interpolations
| N5 | place | house | 10 | | N5 | place | house | 10 |
When importing When importing
Then W2 expands to interpolation Then W2 expands to interpolation
| parent_place_id | start | end | geometry | | parent_place_id | start | end |
| W1 | 2 | 6 | 3,4 | | W1 | 4 | 4 |
| W1 | 6 | 10 | 4,5 | | W1 | 8 | 8 |
When marking for delete N4 When marking for delete N4
Then W2 expands to interpolation Then W2 expands to interpolation
| parent_place_id | start | end | geometry | | parent_place_id | start | end |
| W1 | 2 | 10 | 3,4,5 | | W1 | 4 | 8 |
Scenario: Change the start housenumber Scenario: Change the start housenumber
Given the grid Given the grid
@@ -352,12 +352,12 @@ Feature: Update of address interpolations
| N4 | place | house | 6 | | N4 | place | house | 6 |
When importing When importing
Then W2 expands to interpolation Then W2 expands to interpolation
| parent_place_id | start | end | geometry | | parent_place_id | start | end |
| W1 | 2 | 6 | 3,4 | | W1 | 4 | 4 |
When updating places When updating places
| osm | class | type | housenr | | osm | class | type | housenr |
| N4 | place | house | 8 | | N4 | place | house | 8 |
Then W2 expands to interpolation Then W2 expands to interpolation
| parent_place_id | start | end | geometry | | parent_place_id | start | end |
| W1 | 2 | 8 | 3,4 | | W1 | 4 | 6 |