mirror of
https://github.com/osm-search/Nominatim.git
synced 2024-11-24 14:32:29 +03:00
add more tests for interpolations (mostly updating)
This commit is contained in:
parent
30f087b168
commit
9d9745b378
@ -14,13 +14,9 @@ Feature: Import of address interpolations
|
||||
| id | nodes
|
||||
| 1 | 1,2
|
||||
When importing
|
||||
Then node 1 expands to housenumbers
|
||||
Then way 1 expands to housenumbers
|
||||
| housenumber | centroid
|
||||
| 2 | 1,1
|
||||
| 4 | 1,1.0005
|
||||
And node 2 expands to housenumbers
|
||||
| housenumber | centroid
|
||||
| 6 | 1,1.001
|
||||
|
||||
Scenario: Simple even two point interpolation with zero beginning
|
||||
Given the place nodes
|
||||
@ -34,15 +30,11 @@ Feature: Import of address interpolations
|
||||
| id | nodes
|
||||
| 1 | 1,2
|
||||
When importing
|
||||
Then node 1 expands to housenumbers
|
||||
Then way 1 expands to housenumbers
|
||||
| housenumber | centroid
|
||||
| 0 | 1,1
|
||||
| 2 | 1,1.00025
|
||||
| 4 | 1,1.0005
|
||||
| 6 | 1,1.00075
|
||||
And node 2 expands to housenumbers
|
||||
| housenumber | centroid
|
||||
| 8 | 1,1.001
|
||||
|
||||
Scenario: Backwards even two point interpolation
|
||||
Given the place nodes
|
||||
@ -56,13 +48,9 @@ Feature: Import of address interpolations
|
||||
| id | nodes
|
||||
| 1 | 2,1
|
||||
When importing
|
||||
Then node 1 expands to housenumbers
|
||||
| housenumber | centroid
|
||||
| 2 | 1,1
|
||||
And node 2 expands to housenumbers
|
||||
Then way 1 expands to housenumbers
|
||||
| housenumber | centroid
|
||||
| 4 | 1,1.0005
|
||||
| 6 | 1,1.001
|
||||
|
||||
Scenario: Even two point interpolation with odd beginning
|
||||
Given the place nodes
|
||||
@ -76,14 +64,10 @@ Feature: Import of address interpolations
|
||||
| id | nodes
|
||||
| 1 | 1,2
|
||||
When importing
|
||||
Then node 1 expands to housenumbers
|
||||
Then way 1 expands to housenumbers
|
||||
| housenumber | centroid
|
||||
| 11 | 1,1
|
||||
| 12 | 1,1.0002
|
||||
| 14 | 1,1.0006
|
||||
And node 2 expands to housenumbers
|
||||
| housenumber | centroid
|
||||
| 16 | 1,1.001
|
||||
|
||||
Scenario: Even two point interpolation with odd end
|
||||
Given the place nodes
|
||||
@ -97,14 +81,10 @@ Feature: Import of address interpolations
|
||||
| id | nodes
|
||||
| 1 | 1,2
|
||||
When importing
|
||||
Then node 1 expands to housenumbers
|
||||
Then way 1 expands to housenumbers
|
||||
| housenumber | centroid
|
||||
| 10 | 1,1
|
||||
| 12 | 1,1.0004
|
||||
| 14 | 1,1.0008
|
||||
And node 2 expands to housenumbers
|
||||
| housenumber | centroid
|
||||
| 15 | 1,1.001
|
||||
|
||||
Scenario: Reverse even two point interpolation with odd beginning
|
||||
Given the place nodes
|
||||
@ -118,14 +98,10 @@ Feature: Import of address interpolations
|
||||
| id | nodes
|
||||
| 1 | 2,1
|
||||
When importing
|
||||
Then node 1 expands to housenumbers
|
||||
| housenumber | centroid
|
||||
| 11 | 1,1
|
||||
And node 2 expands to housenumbers
|
||||
Then way 1 expands to housenumbers
|
||||
| housenumber | centroid
|
||||
| 12 | 1,1.0002
|
||||
| 14 | 1,1.0006
|
||||
| 16 | 1,1.001
|
||||
|
||||
Scenario: Reverse even two point interpolation with odd end
|
||||
Given the place nodes
|
||||
@ -139,14 +115,10 @@ Feature: Import of address interpolations
|
||||
| id | nodes
|
||||
| 1 | 2,1
|
||||
When importing
|
||||
Then node 1 expands to housenumbers
|
||||
| housenumber | centroid
|
||||
| 10 | 1,1
|
||||
And node 2 expands to housenumbers
|
||||
Then way 1 expands to housenumbers
|
||||
| housenumber | centroid
|
||||
| 12 | 1,1.0004
|
||||
| 14 | 1,1.0008
|
||||
| 15 | 1,1.001
|
||||
|
||||
Scenario: Simple odd two point interpolation
|
||||
Given the place nodes
|
||||
@ -160,16 +132,12 @@ Feature: Import of address interpolations
|
||||
| id | nodes
|
||||
| 1 | 1,2
|
||||
When importing
|
||||
Then node 1 expands to housenumbers
|
||||
Then way 1 expands to housenumbers
|
||||
| housenumber | centroid
|
||||
| 1 | 1,1
|
||||
| 3 | 1,1.0002
|
||||
| 5 | 1,1.0004
|
||||
| 7 | 1,1.0006
|
||||
| 9 | 1,1.0008
|
||||
And node 2 expands to housenumbers
|
||||
| housenumber | centroid
|
||||
| 11 | 1,1.001
|
||||
|
||||
Scenario: Odd two point interpolation with even beginning
|
||||
Given the place nodes
|
||||
@ -183,14 +151,10 @@ Feature: Import of address interpolations
|
||||
| id | nodes
|
||||
| 1 | 1,2
|
||||
When importing
|
||||
Then node 1 expands to housenumbers
|
||||
Then way 1 expands to housenumbers
|
||||
| housenumber | centroid
|
||||
| 2 | 1,1
|
||||
| 3 | 1,1.0002
|
||||
| 5 | 1,1.0006
|
||||
And node 2 expands to housenumbers
|
||||
| housenumber | centroid
|
||||
| 7 | 1,1.001
|
||||
|
||||
Scenario: Simple all two point interpolation
|
||||
Given the place nodes
|
||||
@ -204,13 +168,9 @@ Feature: Import of address interpolations
|
||||
| id | nodes
|
||||
| 1 | 1,2
|
||||
When importing
|
||||
Then node 1 expands to housenumbers
|
||||
Then way 1 expands to housenumbers
|
||||
| housenumber | centroid
|
||||
| 1 | 1,1
|
||||
| 2 | 1,1.0005
|
||||
And node 2 expands to housenumbers
|
||||
| housenumber | centroid
|
||||
| 3 | 1,1.001
|
||||
|
||||
Scenario: Simple numbered two point interpolation
|
||||
Given the place nodes
|
||||
@ -224,13 +184,9 @@ Feature: Import of address interpolations
|
||||
| id | nodes
|
||||
| 1 | 1,2
|
||||
When importing
|
||||
Then node 1 expands to housenumbers
|
||||
Then way 1 expands to housenumbers
|
||||
| housenumber | centroid
|
||||
| 3 | 1,1
|
||||
| 6 | 1,1.0005
|
||||
And node 2 expands to housenumbers
|
||||
| housenumber | centroid
|
||||
| 9 | 1,1.001
|
||||
|
||||
Scenario: Even two point interpolation with intermediate empty node
|
||||
Given the place nodes
|
||||
@ -244,15 +200,11 @@ Feature: Import of address interpolations
|
||||
| id | nodes
|
||||
| 1 | 1,3,2
|
||||
When importing
|
||||
Then node 1 expands to housenumbers
|
||||
Then way 1 expands to housenumbers
|
||||
| housenumber | centroid
|
||||
| 2 | 1,1
|
||||
| 4 | 1,1.0005
|
||||
| 6 | 1,1.001
|
||||
| 8 | 1.0005,1.001
|
||||
And node 2 expands to housenumbers
|
||||
| housenumber | centroid
|
||||
| 10 | 1.001,1.001
|
||||
|
||||
|
||||
Scenario: Even two point interpolation with intermediate duplicated empty node
|
||||
@ -267,15 +219,11 @@ Feature: Import of address interpolations
|
||||
| id | nodes
|
||||
| 1 | 1,3,3,2
|
||||
When importing
|
||||
Then node 1 expands to housenumbers
|
||||
Then way 1 expands to housenumbers
|
||||
| housenumber | centroid
|
||||
| 2 | 1,1
|
||||
| 4 | 1,1.0005
|
||||
| 6 | 1,1.001
|
||||
| 8 | 1.0005,1.001
|
||||
And node 2 expands to housenumbers
|
||||
| housenumber | centroid
|
||||
| 10 | 1.001,1.001
|
||||
|
||||
Scenario: Simple even three point interpolation
|
||||
Given the place nodes
|
||||
@ -290,16 +238,9 @@ Feature: Import of address interpolations
|
||||
| id | nodes
|
||||
| 1 | 1,3,2
|
||||
When importing
|
||||
Then node 1 expands to housenumbers
|
||||
Then way 1 expands to housenumbers
|
||||
| housenumber | centroid
|
||||
| 2 | 1,1
|
||||
Then node 3 expands to housenumbers
|
||||
| housenumber | centroid
|
||||
| 4 | 1,1.001
|
||||
| 6 | 1.0005,1.001
|
||||
And node 2 expands to housenumbers
|
||||
| housenumber | centroid
|
||||
| 8 | 1.001,1.001
|
||||
|
||||
Scenario: Even three point interpolation with odd center point
|
||||
Given the place nodes
|
||||
@ -314,17 +255,10 @@ Feature: Import of address interpolations
|
||||
| id | nodes
|
||||
| 1 | 1,3,2
|
||||
When importing
|
||||
Then node 1 expands to housenumbers
|
||||
Then way 1 expands to housenumbers
|
||||
| housenumber | centroid
|
||||
| 2 | 1,1
|
||||
| 4 | 1,1.0004
|
||||
| 6 | 1,1.0008
|
||||
Then node 3 expands to housenumbers
|
||||
| housenumber | centroid
|
||||
| 7 | 1,1.001
|
||||
And node 2 expands to housenumbers
|
||||
| housenumber | centroid
|
||||
| 8 | 1.001,1.001
|
||||
|
||||
Scenario: Interpolation on self-intersecting way
|
||||
Given the place nodes
|
||||
@ -339,17 +273,9 @@ Feature: Import of address interpolations
|
||||
| id | nodes
|
||||
| 1 | 1,2,3,2
|
||||
When importing
|
||||
Then node 1 expands to housenumbers
|
||||
Then way 1 expands to housenumbers
|
||||
| housenumber | centroid
|
||||
| 2 | 0,0
|
||||
| 4 | 0,0.0005
|
||||
Then node 2 expands to housenumbers
|
||||
| housenumber | centroid
|
||||
| 6 | 0,0.001
|
||||
| 8 | 0,0.0015
|
||||
Then node 3 expands to housenumbers
|
||||
| housenumber | centroid
|
||||
| 10 | 0,0.002
|
||||
| 8 | 0,0.0015
|
||||
|
||||
Scenario: Interpolation on self-intersecting way II
|
||||
@ -364,12 +290,73 @@ Feature: Import of address interpolations
|
||||
| id | nodes
|
||||
| 1 | 1,2,3,2
|
||||
When importing
|
||||
Then node 1 expands to housenumbers
|
||||
Then way 1 expands to housenumbers
|
||||
| housenumber | centroid
|
||||
| 2 | 0,0
|
||||
| 4 | 0,0.0005
|
||||
Then node 2 expands to housenumbers
|
||||
| housenumber | centroid
|
||||
| 6 | 0,0.001
|
||||
|
||||
|
||||
Scenario: addr:street on interpolation way
|
||||
Given the scene parallel-road
|
||||
And the place nodes
|
||||
| osm_id | class | type | housenumber | geometry
|
||||
| 1 | place | house | 2 | :n-middle-w
|
||||
| 2 | place | house | 6 | :n-middle-e
|
||||
| 3 | place | house | 12 | :n-middle-w
|
||||
| 4 | place | house | 16 | :n-middle-e
|
||||
And the place ways
|
||||
| osm_id | class | type | housenumber | street | geometry
|
||||
| 10 | place | houses | even | | :w-middle
|
||||
| 11 | place | houses | even | Cloud Street | :w-middle
|
||||
And the place ways
|
||||
| osm_id | class | type | name | geometry
|
||||
| 2 | highway | tertiary | 'name' : 'Sun Way' | :w-north
|
||||
| 3 | highway | tertiary | 'name' : 'Cloud Street' | :w-south
|
||||
And the ways
|
||||
| id | nodes
|
||||
| 10 | 1,100,101,102,2
|
||||
| 11 | 3,200,201,202,4
|
||||
When importing
|
||||
Then table placex contains
|
||||
| object | parent_place_id
|
||||
| N1 | W2
|
||||
| N2 | W2
|
||||
| N3 | W3
|
||||
| N4 | W3
|
||||
| W10 | W2
|
||||
| W11 | W3
|
||||
And way 10 expands exactly to housenumbers 4
|
||||
And way 11 expands exactly to housenumbers 14
|
||||
|
||||
Scenario: addr:street on housenumber way
|
||||
Given the scene parallel-road
|
||||
And the place nodes
|
||||
| osm_id | class | type | housenumber | street | geometry
|
||||
| 1 | place | house | 2 | | :n-middle-w
|
||||
| 2 | place | house | 6 | | :n-middle-e
|
||||
| 3 | place | house | 12 | Cloud Street | :n-middle-w
|
||||
| 4 | place | house | 16 | Cloud Street | :n-middle-e
|
||||
And the place ways
|
||||
| osm_id | class | type | housenumber | geometry
|
||||
| 10 | place | houses | even | :w-middle
|
||||
| 11 | place | houses | even | :w-middle
|
||||
And the place ways
|
||||
| osm_id | class | type | name | geometry
|
||||
| 2 | highway | tertiary | 'name' : 'Sun Way' | :w-north
|
||||
| 3 | highway | tertiary | 'name' : 'Cloud Street' | :w-south
|
||||
And the ways
|
||||
| id | nodes
|
||||
| 10 | 1,100,101,102,2
|
||||
| 11 | 3,200,201,202,4
|
||||
When importing
|
||||
Then table placex contains
|
||||
| object | parent_place_id
|
||||
| N1 | W2
|
||||
| N2 | W2
|
||||
| N3 | W3
|
||||
| N4 | W3
|
||||
| W10 | W2
|
||||
| W11 | W3
|
||||
And way 10 expands exactly to housenumbers 4
|
||||
And way 11 expands exactly to housenumbers 14
|
||||
|
||||
|
||||
|
167
tests/features/db/update/interpolation.feature
Normal file
167
tests/features/db/update/interpolation.feature
Normal file
@ -0,0 +1,167 @@
|
||||
@DB
|
||||
Feature: Update of address interpolations
|
||||
Test the interpolated address are updated correctly
|
||||
|
||||
Scenario: addr:street added to interpolation
|
||||
Given the scene parallel-road
|
||||
And the place nodes
|
||||
| osm_id | class | type | housenumber | geometry
|
||||
| 1 | place | house | 2 | :n-middle-w
|
||||
| 2 | place | house | 6 | :n-middle-e
|
||||
And the place ways
|
||||
| osm_id | class | type | housenumber | geometry
|
||||
| 10 | place | houses | even | :w-middle
|
||||
And the place ways
|
||||
| osm_id | class | type | name | geometry
|
||||
| 2 | highway | unclassified | 'name' : 'Sun Way' | :w-north
|
||||
| 3 | highway | unclassified | 'name' : 'Cloud Street' | :w-south
|
||||
And the ways
|
||||
| id | nodes
|
||||
| 10 | 1,100,101,102,2
|
||||
When importing
|
||||
Then table placex contains
|
||||
| object | parent_place_id
|
||||
| N1 | W2
|
||||
| N2 | W2
|
||||
| W10 | W2
|
||||
And way 10 expands exactly to housenumbers 4
|
||||
When updating place ways
|
||||
| osm_id | class | type | housenumber | street | geometry
|
||||
| 10 | place | houses | even | Cloud Street | :w-middle
|
||||
Then way 10 expands exactly to housenumbers 4
|
||||
And table placex contains
|
||||
| object | parent_place_id
|
||||
| N1 | W3
|
||||
| N2 | W3
|
||||
| W10 | W3
|
||||
|
||||
@Fail
|
||||
Scenario: addr:street added to housenumbers
|
||||
Given the scene parallel-road
|
||||
And the place nodes
|
||||
| osm_id | class | type | housenumber | geometry
|
||||
| 1 | place | house | 2 | :n-middle-w
|
||||
| 2 | place | house | 6 | :n-middle-e
|
||||
And the place ways
|
||||
| osm_id | class | type | housenumber | geometry
|
||||
| 10 | place | houses | even | :w-middle
|
||||
And the place ways
|
||||
| osm_id | class | type | name | geometry
|
||||
| 2 | highway | unclassified | 'name' : 'Sun Way' | :w-north
|
||||
| 3 | highway | unclassified | 'name' : 'Cloud Street' | :w-south
|
||||
And the ways
|
||||
| id | nodes
|
||||
| 10 | 1,100,101,102,2
|
||||
When importing
|
||||
Then table placex contains
|
||||
| object | parent_place_id
|
||||
| N1 | W2
|
||||
| N2 | W2
|
||||
| W10 | W2
|
||||
And way 10 expands exactly to housenumbers 4
|
||||
When updating place nodes
|
||||
| osm_id | class | type | street | housenumber | geometry
|
||||
| 1 | place | house | Cloud Street| 2 | :n-middle-w
|
||||
| 2 | place | house | Cloud Street| 6 | :n-middle-e
|
||||
Then way 10 expands exactly to housenumbers 4
|
||||
And table placex contains
|
||||
| object | parent_place_id
|
||||
| N1 | W3
|
||||
| N2 | W3
|
||||
| W10 | W3
|
||||
|
||||
|
||||
Scenario: interpolation tag removed
|
||||
Given the scene parallel-road
|
||||
And the place nodes
|
||||
| osm_id | class | type | housenumber | geometry
|
||||
| 1 | place | house | 2 | :n-middle-w
|
||||
| 2 | place | house | 6 | :n-middle-e
|
||||
And the place ways
|
||||
| osm_id | class | type | housenumber | geometry
|
||||
| 10 | place | houses | even | :w-middle
|
||||
And the place ways
|
||||
| osm_id | class | type | name | geometry
|
||||
| 2 | highway | unclassified | 'name' : 'Sun Way' | :w-north
|
||||
| 3 | highway | unclassified | 'name' : 'Cloud Street' | :w-south
|
||||
And the ways
|
||||
| id | nodes
|
||||
| 10 | 1,100,101,102,2
|
||||
When importing
|
||||
Then table placex contains
|
||||
| object | parent_place_id
|
||||
| N1 | W2
|
||||
| N2 | W2
|
||||
| W10 | W2
|
||||
And way 10 expands exactly to housenumbers 4
|
||||
When marking for delete W10
|
||||
Then way 10 expands to no housenumbers
|
||||
And table placex contains
|
||||
| object | parent_place_id
|
||||
| N1 | W2
|
||||
| N2 | W2
|
||||
|
||||
|
||||
Scenario: referenced road added
|
||||
Given the scene parallel-road
|
||||
And the place nodes
|
||||
| osm_id | class | type | housenumber | geometry
|
||||
| 1 | place | house | 2 | :n-middle-w
|
||||
| 2 | place | house | 6 | :n-middle-e
|
||||
And the place ways
|
||||
| osm_id | class | type | housenumber | street | geometry
|
||||
| 10 | place | houses | even | Cloud Street| :w-middle
|
||||
And the place ways
|
||||
| osm_id | class | type | name | geometry
|
||||
| 2 | highway | unclassified | 'name' : 'Sun Way' | :w-north
|
||||
And the ways
|
||||
| id | nodes
|
||||
| 10 | 1,100,101,102,2
|
||||
When importing
|
||||
Then table placex contains
|
||||
| object | parent_place_id
|
||||
| N1 | W2
|
||||
| N2 | W2
|
||||
| W10 | W2
|
||||
And way 10 expands exactly to housenumbers 4
|
||||
When updating place ways
|
||||
| osm_id | class | type | name | geometry
|
||||
| 3 | highway | unclassified | 'name' : 'Cloud Street' | :w-south
|
||||
Then way 10 expands exactly to housenumbers 4
|
||||
And table placex contains
|
||||
| object | parent_place_id
|
||||
| N1 | W3
|
||||
| N2 | W3
|
||||
| W10 | W3
|
||||
|
||||
|
||||
Scenario: referenced road deleted
|
||||
Given the scene parallel-road
|
||||
And the place nodes
|
||||
| osm_id | class | type | housenumber | geometry
|
||||
| 1 | place | house | 2 | :n-middle-w
|
||||
| 2 | place | house | 6 | :n-middle-e
|
||||
And the place ways
|
||||
| osm_id | class | type | housenumber | street | geometry
|
||||
| 10 | place | houses | even | Cloud Street| :w-middle
|
||||
And the place ways
|
||||
| osm_id | class | type | name | geometry
|
||||
| 2 | highway | unclassified | 'name' : 'Sun Way' | :w-north
|
||||
| 3 | highway | unclassified | 'name' : 'Cloud Street' | :w-south
|
||||
And the ways
|
||||
| id | nodes
|
||||
| 10 | 1,100,101,102,2
|
||||
When importing
|
||||
Then table placex contains
|
||||
| object | parent_place_id
|
||||
| N1 | W3
|
||||
| N2 | W3
|
||||
| W10 | W3
|
||||
And way 10 expands exactly to housenumbers 4
|
||||
When marking for delete W3
|
||||
Then way 10 expands exactly to housenumbers 4
|
||||
And table placex contains
|
||||
| object | parent_place_id
|
||||
| N1 | W2
|
||||
| N2 | W2
|
||||
| W10 | W2
|
5
tests/scenes/data/parallel-road.wkt
Normal file
5
tests/scenes/data/parallel-road.wkt
Normal file
@ -0,0 +1,5 @@
|
||||
n-middle-w | POINT(1.0065316 2.0003381)
|
||||
n-middle-e | POINT(1.007236 2.0003408)
|
||||
w-south | LINESTRING(1.0065324 2.0001892,1.006676 2.0002786,1.0068195 2.0002786,1.0069171 2.0002515,1.0070417 2.0001892,1.0072422 2.000173)
|
||||
w-middle | LINESTRING(1.0065316 2.0003381,1.006686 2.0004248,1.0069 2.0004167,1.007236 2.0003408)
|
||||
w-north | LINESTRING(1.0065397 2.000418,1.0066833 2.0005074,1.0068269 2.0005074,1.0069244 2.0004803,1.007049 2.000418,1.0072495 2.0004018)
|
@ -1,294 +1,347 @@
|
||||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<osm version='0.6' upload='false' generator='JOSM'>
|
||||
<node id='-204' action='modify' visible='true' lat='2.000651586300547' lon='1.005746444902722'>
|
||||
<node id='-197' action='modify' visible='true' lat='2.0006515863' lon='1.0057464449'>
|
||||
<tag k='name' v='split-road' />
|
||||
</node>
|
||||
<node id='-189' action='modify' visible='true' lat='2.0005350827634585' lon='1.0057490943252971' />
|
||||
<node id='-187' action='modify' visible='true' lat='2.0005430261867043' lon='1.0058974619895207' />
|
||||
<node id='-185' action='modify' visible='true' lat='2.0005430261867043' lon='1.0060511284988949' />
|
||||
<node id='-183' action='modify' visible='true' lat='2.0005324349557014' lon='1.0061306111761574' />
|
||||
<node id='-174' action='modify' visible='true' lat='2.0005244915324045' lon='1.00551064629351' />
|
||||
<node id='-172' action='modify' visible='true' lat='2.0005668564562127' lon='1.0056086749288005' />
|
||||
<node id='-170' action='modify' visible='true' lat='2.000561560840796' lon='1.0056855081834875' />
|
||||
<node id='-168' action='modify' visible='true' lat='2.0005006612622807' lon='1.0057358472124205' />
|
||||
<node id='-166' action='modify' visible='true' lat='2.000505956877894' lon='1.0059107091023978' />
|
||||
<node id='-164' action='modify' visible='true' lat='2.0005112524934896' lon='1.0060537779214704' />
|
||||
<node id='-162' action='modify' visible='true' lat='2.0004953656466506' lon='1.006135910021308' />
|
||||
<node id='-160' action='modify' visible='true' lat='2.000513900301281' lon='1.0062842776855314' />
|
||||
<node id='-158' action='modify' visible='true' lat='2.000471535376104' lon='1.0063717086305204' />
|
||||
<node id='-156' action='modify' visible='true' lat='2.000296780048186' lon='1.0063584615176433' />
|
||||
<node id='-154' action='modify' visible='true' lat='2.000262358542008' lon='1.006281628262956' />
|
||||
<node id='-152' action='modify' visible='true' lat='2.000339144977876' lon='1.0061994961631182' />
|
||||
<node id='-150' action='modify' visible='true' lat='2.0003576796342712' lon='1.0061041169504032' />
|
||||
<node id='-148' action='modify' visible='true' lat='2.0003497362101275' lon='1.0060034388925374' />
|
||||
<node id='-146' action='modify' visible='true' lat='2.000325905937466' lon='1.0058868642992191' />
|
||||
<node id='-144' action='modify' visible='true' lat='2.000280893199271' lon='1.0057941345090795' />
|
||||
<node id='-142' action='modify' visible='true' lat='2.0002782453911037' lon='1.0056351691545544' />
|
||||
<node id='-141' action='modify' visible='true' lat='2.0003603274423103' lon='1.005470904954879' />
|
||||
<node id='-139' action='modify' visible='true' lat='2.0007265421773432' lon='1.0047054313390744'>
|
||||
<node id='-195' action='modify' visible='true' lat='2.00053508276' lon='1.00574909433' />
|
||||
<node id='-193' action='modify' visible='true' lat='2.00054302619' lon='1.00589746199' />
|
||||
<node id='-191' action='modify' visible='true' lat='2.00054302619' lon='1.0060511285' />
|
||||
<node id='-189' action='modify' visible='true' lat='2.00053243496' lon='1.00613061118' />
|
||||
<node id='-187' action='modify' visible='true' lat='2.00052449153' lon='1.00551064629' />
|
||||
<node id='-185' action='modify' visible='true' lat='2.00056685646' lon='1.00560867493' />
|
||||
<node id='-183' action='modify' visible='true' lat='2.00056156084' lon='1.00568550818' />
|
||||
<node id='-181' action='modify' visible='true' lat='2.00050066126' lon='1.00573584721' />
|
||||
<node id='-179' action='modify' visible='true' lat='2.00050595688' lon='1.0059107091' />
|
||||
<node id='-177' action='modify' visible='true' lat='2.00051125249' lon='1.00605377792' />
|
||||
<node id='-175' action='modify' visible='true' lat='2.00049536565' lon='1.00613591002' />
|
||||
<node id='-173' action='modify' visible='true' lat='2.0005139003' lon='1.00628427769' />
|
||||
<node id='-171' action='modify' visible='true' lat='2.00047153538' lon='1.00637170863' />
|
||||
<node id='-169' action='modify' visible='true' lat='2.00029678005' lon='1.00635846152' />
|
||||
<node id='-167' action='modify' visible='true' lat='2.00026235854' lon='1.00628162826' />
|
||||
<node id='-165' action='modify' visible='true' lat='2.00033914498' lon='1.00619949616' />
|
||||
<node id='-163' action='modify' visible='true' lat='2.00035767963' lon='1.00610411695' />
|
||||
<node id='-161' action='modify' visible='true' lat='2.00034973621' lon='1.00600343889' />
|
||||
<node id='-159' action='modify' visible='true' lat='2.00032590594' lon='1.0058868643' />
|
||||
<node id='-157' action='modify' visible='true' lat='2.0002808932' lon='1.00579413451' />
|
||||
<node id='-155' action='modify' visible='true' lat='2.00027824539' lon='1.00563516915' />
|
||||
<node id='-153' action='modify' visible='true' lat='2.00036032744' lon='1.00547090495' />
|
||||
<node id='-151' action='modify' visible='true' lat='2.00072654218' lon='1.00470543134'>
|
||||
<tag k='name' v='points-on-road' />
|
||||
</node>
|
||||
<node id='-112' action='modify' visible='true' lat='2.0005155253763816' lon='1.0049220138358423' />
|
||||
<node id='-110' action='modify' visible='true' lat='2.0005155253763816' lon='1.0049220138358423'>
|
||||
<node id='-149' action='modify' visible='true' lat='2.00051552538' lon='1.00492201384' />
|
||||
<node id='-147' action='modify' visible='true' lat='2.00051552538' lon='1.00492201384'>
|
||||
<tag k='test:id' v='n-N-unglued' />
|
||||
<tag k='test:section' v='points-on-roads' />
|
||||
</node>
|
||||
<node id='-108' action='modify' visible='true' lat='2.0002948553437463' lon='1.0046258759080025'>
|
||||
<node id='-145' action='modify' visible='true' lat='2.00029485534' lon='1.00462587591'>
|
||||
<tag k='test:id' v='n-S-unglued' />
|
||||
<tag k='test:section' v='points-on-roads' />
|
||||
</node>
|
||||
<node id='-106' action='modify' visible='true' lat='2.0002948553437463' lon='1.0046258759080025' />
|
||||
<node id='-104' action='modify' visible='true' lat='2.0006117740392657' lon='1.0050661381425037'>
|
||||
<node id='-143' action='modify' visible='true' lat='2.00029485534' lon='1.00462587591' />
|
||||
<node id='-141' action='modify' visible='true' lat='2.00061177404' lon='1.00506613814'>
|
||||
<tag k='test:id' v='n-NE' />
|
||||
<tag k='test:section' v='points-on-roads' />
|
||||
</node>
|
||||
<node id='-102' action='modify' visible='true' lat='2.000334854794143' lon='1.0051338707939657'>
|
||||
<node id='-139' action='modify' visible='true' lat='2.00033485479' lon='1.00513387079'>
|
||||
<tag k='test:id' v='n-SE' />
|
||||
<tag k='test:section' v='points-on-roads' />
|
||||
</node>
|
||||
<node id='-100' action='modify' visible='true' lat='2.0006240815601832' lon='1.0053155174501582' />
|
||||
<node id='-98' action='modify' visible='true' lat='2.0004086999307416' lon='1.0047582624540412'>
|
||||
<node id='-137' action='modify' visible='true' lat='2.00062408156' lon='1.00531551745' />
|
||||
<node id='-135' action='modify' visible='true' lat='2.00040869993' lon='1.00475826245'>
|
||||
<tag k='test:id' v='n-NW' />
|
||||
<tag k='test:section' v='points-on-roads' />
|
||||
</node>
|
||||
<node id='-96' action='modify' visible='true' lat='2.0003840848855767' lon='1.0046258759080025' />
|
||||
<node id='-94' action='modify' visible='true' lat='2.0004302380949586' lon='1.004499646875733' />
|
||||
<node id='-92' action='modify' visible='true' lat='2.0003687004821606' lon='1.0053278324776966' />
|
||||
<node id='-90' action='modify' visible='true' lat='2.0002640865351053' lon='1.0049368303533495' />
|
||||
<node id='-88' action='modify' visible='true' lat='2.000291778462916' lon='1.004825995105503' />
|
||||
<node id='-86' action='modify' visible='true' lat='2.0003563929593238' lon='1.004727474885195'>
|
||||
<node id='-133' action='modify' visible='true' lat='2.00038408489' lon='1.00462587591' />
|
||||
<node id='-131' action='modify' visible='true' lat='2.00043023809' lon='1.00449964688' />
|
||||
<node id='-129' action='modify' visible='true' lat='2.00036870048' lon='1.00532783248' />
|
||||
<node id='-127' action='modify' visible='true' lat='2.00026408654' lon='1.00493683035' />
|
||||
<node id='-125' action='modify' visible='true' lat='2.00029177846' lon='1.00482599511' />
|
||||
<node id='-123' action='modify' visible='true' lat='2.00035639296' lon='1.00472747489'>
|
||||
<tag k='test:id' v='n-SW' />
|
||||
<tag k='test:section' v='points-on-roads' />
|
||||
</node>
|
||||
<node id='-84' action='modify' visible='true' lat='2.0002240870829975' lon='1.00452427693081' />
|
||||
<node id='-82' action='modify' visible='true' lat='2.000715618411992' lon='1.0018322734314236'>
|
||||
<node id='-121' action='modify' visible='true' lat='2.00022408708' lon='1.00452427693' />
|
||||
<node id='-119' action='modify' visible='true' lat='2.00071561841' lon='1.00183227343'>
|
||||
<tag k='name' v='road-with-alley' />
|
||||
</node>
|
||||
<node id='-80' action='modify' visible='true' lat='2.0007286441385155' lon='1.0004669962874884'>
|
||||
<node id='-117' action='modify' visible='true' lat='2.00072864414' lon='1.00046699629'>
|
||||
<tag k='name' v='roads-with-pois' />
|
||||
</node>
|
||||
<node id='-78' action='modify' visible='true' lat='2.000354154459697' lon='1.002448114434296'>
|
||||
<node id='-115' action='modify' visible='true' lat='2.00035415446' lon='1.00244811443'>
|
||||
<tag k='test:id' v='n-main-east' />
|
||||
<tag k='test:section' v='road-with-alley' />
|
||||
</node>
|
||||
<node id='-76' action='modify' visible='true' lat='2.000266230783582' lon='1.0015520494830263'>
|
||||
<node id='-113' action='modify' visible='true' lat='2.00026623078' lon='1.00155204948'>
|
||||
<tag k='test:id' v='n-main-west' />
|
||||
<tag k='test:section' v='road-with-alley' />
|
||||
</node>
|
||||
<node id='-74' action='modify' visible='true' lat='2.000546283957771' lon='1.0019235091355527'>
|
||||
<node id='-111' action='modify' visible='true' lat='2.00054628396' lon='1.00192350914'>
|
||||
<tag k='test:id' v='n-alley' />
|
||||
<tag k='test:section' v='road-with-alley' />
|
||||
</node>
|
||||
<node id='-72' action='modify' visible='true' lat='2.000354154459697' lon='1.0019235091355527'>
|
||||
<node id='-109' action='modify' visible='true' lat='2.00035415446' lon='1.00192350914'>
|
||||
<tag k='test:id' v='n-corner' />
|
||||
<tag k='test:section' v='road-with-alley' />
|
||||
</node>
|
||||
<node id='-70' action='modify' visible='true' lat='2.0005755918453296' lon='1.0019593517336036' />
|
||||
<node id='-68' action='modify' visible='true' lat='2.000298795108618' lon='1.0026077769165225' />
|
||||
<node id='-66' action='modify' visible='true' lat='2.000311820838452' lon='1.0023699124021854' />
|
||||
<node id='-64' action='modify' visible='true' lat='2.0003150772708946' lon='1.0021255310518389' />
|
||||
<node id='-62' action='modify' visible='true' lat='2.0003085644060037' lon='1.0019593517336036' />
|
||||
<node id='-60' action='modify' visible='true' lat='2.000305307973548' lon='1.0016758693672019' />
|
||||
<node id='-58' action='modify' visible='true' lat='2.000311820838452' lon='1.0013435107307307' />
|
||||
<node id='-56' action='modify' visible='true' lat='2.0004054696330322' lon='1.0001173628501097'>
|
||||
<node id='-107' action='modify' visible='true' lat='2.00057559185' lon='1.00195935173' />
|
||||
<node id='-105' action='modify' visible='true' lat='2.00029879511' lon='1.00260777692' />
|
||||
<node id='-103' action='modify' visible='true' lat='2.00031182084' lon='1.0023699124' />
|
||||
<node id='-101' action='modify' visible='true' lat='2.00031507727' lon='1.00212553105' />
|
||||
<node id='-99' action='modify' visible='true' lat='2.00030856441' lon='1.00195935173' />
|
||||
<node id='-97' action='modify' visible='true' lat='2.00030530797' lon='1.00167586937' />
|
||||
<node id='-95' action='modify' visible='true' lat='2.00031182084' lon='1.00134351073' />
|
||||
<node id='-93' action='modify' visible='true' lat='2.00040546963' lon='1.00011736285'>
|
||||
<tag k='test:section' v='roads-with-pois' />
|
||||
</node>
|
||||
<node id='-54' action='modify' visible='true' lat='2.000397598928471' lon='1.0004297578433892'>
|
||||
<node id='-91' action='modify' visible='true' lat='2.00039759893' lon='1.00042975784'>
|
||||
<tag k='test:section' v='roads-with-pois' />
|
||||
</node>
|
||||
<node id='-52' action='modify' visible='true' lat='2.0004579409958114' lon='1.0006607726283354'>
|
||||
<node id='-89' action='modify' visible='true' lat='2.000457941' lon='1.00066077263'>
|
||||
<tag k='test:section' v='roads-with-pois' />
|
||||
</node>
|
||||
<node id='-50' action='modify' visible='true' lat='2.0005418951727663' lon='1.0010624233339804'>
|
||||
<node id='-87' action='modify' visible='true' lat='2.00054189517' lon='1.00106242333'>
|
||||
<tag k='test:section' v='roads-with-pois' />
|
||||
</node>
|
||||
<node id='-48' action='modify' visible='true' lat='2.000190337028091' lon='1.0001383641941959'>
|
||||
<node id='-85' action='modify' visible='true' lat='2.00019033703' lon='1.00013836419'>
|
||||
<tag k='test:section' v='roads-with-pois' />
|
||||
</node>
|
||||
<node id='-46' action='modify' visible='true' lat='2.000198207733647' lon='1.000721151492583'>
|
||||
<node id='-83' action='modify' visible='true' lat='2.00019820773' lon='1.00072115149'>
|
||||
<tag k='test:section' v='roads-with-pois' />
|
||||
</node>
|
||||
<node id='-44' action='modify' visible='true' lat='2.000219196281612' lon='1.0010676736700022'>
|
||||
<node id='-81' action='modify' visible='true' lat='2.00021919628' lon='1.00106767367'>
|
||||
<tag k='test:section' v='roads-with-pois' />
|
||||
</node>
|
||||
<node id='-42' action='modify' visible='true' lat='2.000339880427198' lon='1.000390380323228'>
|
||||
<node id='-79' action='modify' visible='true' lat='2.00033988043' lon='1.00039038032'>
|
||||
<tag k='test:id' v='p-N2' />
|
||||
<tag k='test:section' v='roads-with-pois' />
|
||||
</node>
|
||||
<node id='-40' action='modify' visible='true' lat='2.000292656197374' lon='1.0008104072049482'>
|
||||
<node id='-77' action='modify' visible='true' lat='2.0002926562' lon='1.0008104072'>
|
||||
<tag k='test:id' v='p-S1' />
|
||||
<tag k='test:section' v='roads-with-pois' />
|
||||
</node>
|
||||
<node id='-38' action='modify' visible='true' lat='2.0005287773329004' lon='1.0005321393958087'>
|
||||
<node id='-75' action='modify' visible='true' lat='2.00052877733' lon='1.0005321394'>
|
||||
<tag k='test:id' v='p-N1' />
|
||||
<tag k='test:section' v='roads-with-pois' />
|
||||
</node>
|
||||
<node id='-36' action='modify' visible='true' lat='2.000106382833144' lon='1.0006397712842492'>
|
||||
<node id='-73' action='modify' visible='true' lat='2.00010638283' lon='1.00063977128'>
|
||||
<tag k='test:id' v='p-S2' />
|
||||
<tag k='test:section' v='roads-with-pois' />
|
||||
</node>
|
||||
<node id='-34' action='modify' visible='true' lat='2.0007211692424525' lon='1.0035828658185688'>
|
||||
<node id='-71' action='modify' visible='true' lat='2.00072116924' lon='1.00358286582'>
|
||||
<tag k='name' v='building-on-street-corner' />
|
||||
</node>
|
||||
<node id='-32' action='modify' visible='true' lat='2.000231635335803' lon='1.0031759205058477' />
|
||||
<node id='-30' action='modify' visible='true' lat='2.000221087674047' lon='1.0040360790429201' />
|
||||
<node id='-28' action='modify' visible='true' lat='2.0002263615049336' lon='1.0042735461237067' />
|
||||
<node id='-26' action='modify' visible='true' lat='2.000105063390253' lon='1.0040413560891597' />
|
||||
<node id='-24' action='modify' visible='true' lat='2.0006377202618473' lon='1.0040363991494512' />
|
||||
<node id='-22' action='modify' visible='true' lat='2.0004388569487612' lon='1.0039042871025967' />
|
||||
<node id='-20' action='modify' visible='true' lat='2.0004385547672516' lon='1.0040022536164286' />
|
||||
<node id='-18' action='modify' visible='true' lat='2.0002343878022306' lon='1.0040016230872442' />
|
||||
<node id='-16' action='modify' visible='true' lat='2.000234689983778' lon='1.0039036565734125' />
|
||||
<node id='-14' action='modify' visible='true' lat='2.0003240388594246' lon='1.0040018999567464'>
|
||||
<node id='-69' action='modify' visible='true' lat='2.00023163534' lon='1.00317592051' />
|
||||
<node id='-67' action='modify' visible='true' lat='2.00022108767' lon='1.00403607904' />
|
||||
<node id='-65' action='modify' visible='true' lat='2.0002263615' lon='1.00427354612' />
|
||||
<node id='-63' action='modify' visible='true' lat='2.00010506339' lon='1.00404135609' />
|
||||
<node id='-61' action='modify' visible='true' lat='2.00063772026' lon='1.00403639915' />
|
||||
<node id='-59' action='modify' visible='true' lat='2.00043885695' lon='1.0039042871' />
|
||||
<node id='-57' action='modify' visible='true' lat='2.00043855477' lon='1.00400225362' />
|
||||
<node id='-55' action='modify' visible='true' lat='2.0002343878' lon='1.00400162309' />
|
||||
<node id='-53' action='modify' visible='true' lat='2.00023468998' lon='1.00390365657' />
|
||||
<node id='-51' action='modify' visible='true' lat='2.00032403886' lon='1.00400189996'>
|
||||
<tag k='test:id' v='n-edge-NS' />
|
||||
<tag k='test:section' v='building-on-street-corner' />
|
||||
</node>
|
||||
<node id='-12' action='modify' visible='true' lat='2.000354798021768' lon='1.0039384858598128'>
|
||||
<node id='-49' action='modify' visible='true' lat='2.00035479802' lon='1.00393848586'>
|
||||
<tag k='test:id' v='n-inner' />
|
||||
<tag k='test:section' v='building-on-street-corner' />
|
||||
</node>
|
||||
<node id='-10' action='modify' visible='true' lat='2.0004676051467527' lon='1.0039478144477645'>
|
||||
<node id='-47' action='modify' visible='true' lat='2.00046760515' lon='1.00394781445'>
|
||||
<tag k='test:id' v='n-outer' />
|
||||
<tag k='test:section' v='building-on-street-corner' />
|
||||
</node>
|
||||
<node id='-8' action='modify' visible='true' lat='2.000234516370527' lon='1.0039599415620857'>
|
||||
<node id='-45' action='modify' visible='true' lat='2.00023451637' lon='1.00395994156'>
|
||||
<tag k='test:id' v='n-edge-WE' />
|
||||
<tag k='test:section' v='building-on-street-corner' />
|
||||
</node>
|
||||
<node id='-43' action='modify' visible='true' lat='2.0001892102' lon='1.00653236169' />
|
||||
<node id='-41' action='modify' visible='true' lat='2.00027856164' lon='1.00667595302' />
|
||||
<node id='-39' action='modify' visible='true' lat='2.00027856164' lon='1.00681954435' />
|
||||
<node id='-37' action='modify' visible='true' lat='2.00025148545' lon='1.00691707809' />
|
||||
<node id='-35' action='modify' visible='true' lat='2.0001892102' lon='1.00704170453' />
|
||||
<node id='-33' action='modify' visible='true' lat='2.00017296448' lon='1.00724219054' />
|
||||
<node id='-31' action='modify' visible='true' lat='2.00062243814' lon='1.00685396461'>
|
||||
<tag k='name' v='parallel-road' />
|
||||
</node>
|
||||
<node id='-29' action='modify' visible='true' lat='2.00033813812' lon='1.00653156143'>
|
||||
<tag k='test:id' v='n-middle-w' />
|
||||
<tag k='test:section' v='parallel-road' />
|
||||
</node>
|
||||
<node id='-27' action='modify' visible='true' lat='2.00042478194' lon='1.00668598984' />
|
||||
<node id='-25' action='modify' visible='true' lat='2.00041665908' lon='1.00690002221' />
|
||||
<node id='-23' action='modify' visible='true' lat='2.00034084574' lon='1.00723597174'>
|
||||
<tag k='test:id' v='n-middle-e' />
|
||||
<tag k='test:section' v='parallel-road' />
|
||||
</node>
|
||||
<node id='-21' action='modify' visible='true' lat='2.00041801289' lon='1.00653968924' />
|
||||
<node id='-19' action='modify' visible='true' lat='2.00050736432' lon='1.00668328057' />
|
||||
<node id='-17' action='modify' visible='true' lat='2.00050736432' lon='1.00682687191' />
|
||||
<node id='-15' action='modify' visible='true' lat='2.00048028813' lon='1.00692440564' />
|
||||
<node id='-13' action='modify' visible='true' lat='2.00041801289' lon='1.00704903208' />
|
||||
<node id='-11' action='modify' visible='true' lat='2.00040176717' lon='1.00724951809' />
|
||||
<node id='100000' timestamp='2014-01-01T00:00:00Z' uid='1' user='test' visible='true' version='1' changeset='1' lat='2.0' lon='1.0' />
|
||||
<node id='100001' timestamp='2014-01-01T00:00:00Z' uid='1' user='test' visible='true' version='1' changeset='1' lat='3.0' lon='1.0' />
|
||||
<node id='100002' timestamp='2014-01-01T00:00:00Z' uid='1' user='test' visible='true' version='1' changeset='1' lat='3.0' lon='2.0' />
|
||||
<node id='100003' timestamp='2014-01-01T00:00:00Z' uid='1' user='test' visible='true' version='1' changeset='1' lat='2.0' lon='2.0' />
|
||||
<way id='-195' action='modify' visible='true'>
|
||||
<nd ref='-170' />
|
||||
<nd ref='-172' />
|
||||
<nd ref='-174' />
|
||||
<tag k='test:id' v='w-5' />
|
||||
<tag k='test:section' v='split-road' />
|
||||
</way>
|
||||
<way id='-194' action='modify' visible='true'>
|
||||
<nd ref='-160' />
|
||||
<nd ref='-162' />
|
||||
<nd ref='-164' />
|
||||
<nd ref='-166' />
|
||||
<nd ref='-168' />
|
||||
<nd ref='-170' />
|
||||
<tag k='test:id' v='w-4a' />
|
||||
<tag k='test:section' v='split-road' />
|
||||
</way>
|
||||
<way id='-193' action='modify' visible='true'>
|
||||
<nd ref='-152' />
|
||||
<nd ref='-154' />
|
||||
<nd ref='-156' />
|
||||
<nd ref='-158' />
|
||||
<nd ref='-160' />
|
||||
<tag k='test:id' v='w-3' />
|
||||
<tag k='test:section' v='split-road' />
|
||||
</way>
|
||||
<way id='-192' action='modify' visible='true'>
|
||||
<nd ref='-144' />
|
||||
<nd ref='-146' />
|
||||
<nd ref='-148' />
|
||||
<nd ref='-150' />
|
||||
<nd ref='-152' />
|
||||
<tag k='test:id' v='w-2' />
|
||||
<tag k='test:section' v='split-road' />
|
||||
</way>
|
||||
<way id='-184' action='modify' visible='true'>
|
||||
<nd ref='-160' />
|
||||
<way id='-237' action='modify' visible='true'>
|
||||
<nd ref='-183' />
|
||||
<nd ref='-185' />
|
||||
<nd ref='-187' />
|
||||
<tag k='test:id' v='w-5' />
|
||||
<tag k='test:section' v='split-road' />
|
||||
</way>
|
||||
<way id='-235' action='modify' visible='true'>
|
||||
<nd ref='-173' />
|
||||
<nd ref='-175' />
|
||||
<nd ref='-177' />
|
||||
<nd ref='-179' />
|
||||
<nd ref='-181' />
|
||||
<nd ref='-183' />
|
||||
<tag k='test:id' v='w-4a' />
|
||||
<tag k='test:section' v='split-road' />
|
||||
</way>
|
||||
<way id='-233' action='modify' visible='true'>
|
||||
<nd ref='-165' />
|
||||
<nd ref='-167' />
|
||||
<nd ref='-169' />
|
||||
<nd ref='-171' />
|
||||
<nd ref='-173' />
|
||||
<tag k='test:id' v='w-3' />
|
||||
<tag k='test:section' v='split-road' />
|
||||
</way>
|
||||
<way id='-231' action='modify' visible='true'>
|
||||
<nd ref='-157' />
|
||||
<nd ref='-159' />
|
||||
<nd ref='-161' />
|
||||
<nd ref='-163' />
|
||||
<nd ref='-165' />
|
||||
<tag k='test:id' v='w-2' />
|
||||
<tag k='test:section' v='split-road' />
|
||||
</way>
|
||||
<way id='-229' action='modify' visible='true'>
|
||||
<nd ref='-173' />
|
||||
<nd ref='-189' />
|
||||
<nd ref='-170' />
|
||||
<nd ref='-191' />
|
||||
<nd ref='-193' />
|
||||
<nd ref='-195' />
|
||||
<nd ref='-183' />
|
||||
<tag k='test:id' v='w-4b' />
|
||||
<tag k='test:section' v='split-road' />
|
||||
</way>
|
||||
<way id='-143' action='modify' visible='true'>
|
||||
<nd ref='-141' />
|
||||
<nd ref='-142' />
|
||||
<nd ref='-144' />
|
||||
<way id='-227' action='modify' visible='true'>
|
||||
<nd ref='-153' />
|
||||
<nd ref='-155' />
|
||||
<nd ref='-157' />
|
||||
<tag k='test:id' v='w-1' />
|
||||
<tag k='test:section' v='split-road' />
|
||||
</way>
|
||||
<way id='-134' action='modify' visible='true'>
|
||||
<nd ref='-94' />
|
||||
<nd ref='-96' />
|
||||
<nd ref='-98' />
|
||||
<nd ref='-112' />
|
||||
<nd ref='-104' />
|
||||
<nd ref='-100' />
|
||||
<way id='-225' action='modify' visible='true'>
|
||||
<nd ref='-131' />
|
||||
<nd ref='-133' />
|
||||
<nd ref='-135' />
|
||||
<nd ref='-149' />
|
||||
<nd ref='-141' />
|
||||
<nd ref='-137' />
|
||||
<tag k='test:id' v='w-north' />
|
||||
<tag k='test:section' v='points-on-roads' />
|
||||
</way>
|
||||
<way id='-132' action='modify' visible='true'>
|
||||
<nd ref='-84' />
|
||||
<nd ref='-106' />
|
||||
<nd ref='-86' />
|
||||
<nd ref='-88' />
|
||||
<nd ref='-90' />
|
||||
<nd ref='-102' />
|
||||
<nd ref='-92' />
|
||||
<way id='-223' action='modify' visible='true'>
|
||||
<nd ref='-121' />
|
||||
<nd ref='-143' />
|
||||
<nd ref='-123' />
|
||||
<nd ref='-125' />
|
||||
<nd ref='-127' />
|
||||
<nd ref='-139' />
|
||||
<nd ref='-129' />
|
||||
<tag k='test:id' v='w-south' />
|
||||
<tag k='test:section' v='points-on-roads' />
|
||||
</way>
|
||||
<way id='-130' action='modify' visible='true'>
|
||||
<nd ref='-62' />
|
||||
<nd ref='-70' />
|
||||
<way id='-221' action='modify' visible='true'>
|
||||
<nd ref='-99' />
|
||||
<nd ref='-107' />
|
||||
<tag k='test:id' v='w-alley' />
|
||||
<tag k='test:section' v='road-with-alley' />
|
||||
</way>
|
||||
<way id='-128' action='modify' visible='true'>
|
||||
<nd ref='-58' />
|
||||
<nd ref='-60' />
|
||||
<nd ref='-62' />
|
||||
<nd ref='-64' />
|
||||
<nd ref='-66' />
|
||||
<nd ref='-68' />
|
||||
<way id='-219' action='modify' visible='true'>
|
||||
<nd ref='-95' />
|
||||
<nd ref='-97' />
|
||||
<nd ref='-99' />
|
||||
<nd ref='-101' />
|
||||
<nd ref='-103' />
|
||||
<nd ref='-105' />
|
||||
<tag k='test:id' v='w-main' />
|
||||
<tag k='test:section' v='road-with-alley' />
|
||||
</way>
|
||||
<way id='-126' action='modify' visible='true'>
|
||||
<nd ref='-56' />
|
||||
<nd ref='-54' />
|
||||
<nd ref='-52' />
|
||||
<nd ref='-50' />
|
||||
<way id='-217' action='modify' visible='true'>
|
||||
<nd ref='-93' />
|
||||
<nd ref='-91' />
|
||||
<nd ref='-89' />
|
||||
<nd ref='-87' />
|
||||
<tag k='test:id' v='w-north' />
|
||||
<tag k='test:section' v='roads-with-pois' />
|
||||
</way>
|
||||
<way id='-124' action='modify' visible='true'>
|
||||
<nd ref='-48' />
|
||||
<nd ref='-46' />
|
||||
<nd ref='-44' />
|
||||
<way id='-215' action='modify' visible='true'>
|
||||
<nd ref='-85' />
|
||||
<nd ref='-83' />
|
||||
<nd ref='-81' />
|
||||
<tag k='test:id' v='w-south' />
|
||||
<tag k='test:section' v='roads-with-pois' />
|
||||
</way>
|
||||
<way id='-122' action='modify' visible='true'>
|
||||
<nd ref='-32' />
|
||||
<nd ref='-30' />
|
||||
<nd ref='-28' />
|
||||
<way id='-213' action='modify' visible='true'>
|
||||
<nd ref='-69' />
|
||||
<nd ref='-67' />
|
||||
<nd ref='-65' />
|
||||
<tag k='test:id' v='w-WE' />
|
||||
<tag k='test:section' v='building-on-street-corner' />
|
||||
</way>
|
||||
<way id='-120' action='modify' visible='true'>
|
||||
<nd ref='-26' />
|
||||
<nd ref='-30' />
|
||||
<nd ref='-24' />
|
||||
<way id='-211' action='modify' visible='true'>
|
||||
<nd ref='-63' />
|
||||
<nd ref='-67' />
|
||||
<nd ref='-61' />
|
||||
<tag k='test:id' v='w-NS' />
|
||||
<tag k='test:section' v='building-on-street-corner' />
|
||||
</way>
|
||||
<way id='-118' action='modify' visible='true'>
|
||||
<nd ref='-22' />
|
||||
<nd ref='-20' />
|
||||
<nd ref='-14' />
|
||||
<nd ref='-18' />
|
||||
<nd ref='-8' />
|
||||
<nd ref='-16' />
|
||||
<nd ref='-22' />
|
||||
<way id='-209' action='modify' visible='true'>
|
||||
<nd ref='-59' />
|
||||
<nd ref='-57' />
|
||||
<nd ref='-51' />
|
||||
<nd ref='-55' />
|
||||
<nd ref='-45' />
|
||||
<nd ref='-53' />
|
||||
<nd ref='-59' />
|
||||
<tag k='area' v='yes' />
|
||||
<tag k='test:id' v='w-building' />
|
||||
<tag k='test:section' v='building-on-street-corner' />
|
||||
</way>
|
||||
<way id='-207' action='modify' visible='true'>
|
||||
<nd ref='-43' />
|
||||
<nd ref='-41' />
|
||||
<nd ref='-39' />
|
||||
<nd ref='-37' />
|
||||
<nd ref='-35' />
|
||||
<nd ref='-33' />
|
||||
<tag k='test:id' v='w-south' />
|
||||
<tag k='test:section' v='parallel-road' />
|
||||
</way>
|
||||
<way id='-205' action='modify' visible='true'>
|
||||
<nd ref='-29' />
|
||||
<nd ref='-27' />
|
||||
<nd ref='-25' />
|
||||
<nd ref='-23' />
|
||||
<tag k='test:id' v='w-middle' />
|
||||
<tag k='test:section' v='parallel-road' />
|
||||
</way>
|
||||
<way id='-203' action='modify' visible='true'>
|
||||
<nd ref='-21' />
|
||||
<nd ref='-19' />
|
||||
<nd ref='-17' />
|
||||
<nd ref='-15' />
|
||||
<nd ref='-13' />
|
||||
<nd ref='-11' />
|
||||
<tag k='test:id' v='w-north' />
|
||||
<tag k='test:section' v='parallel-road' />
|
||||
</way>
|
||||
<way id='100000' timestamp='2014-01-01T00:00:00Z' uid='1' user='test' visible='true' version='1' changeset='1'>
|
||||
<nd ref='100000' />
|
||||
<nd ref='100001' />
|
||||
|
@ -119,10 +119,10 @@ def check_search_name_content(step):
|
||||
else:
|
||||
raise Exception("Cannot handle field %s in search_name table" % (k, ))
|
||||
|
||||
@step(u'node (\d+) expands to housenumbers')
|
||||
@step(u'way (\d+) expands to housenumbers')
|
||||
def check_interpolated_housenumbers(step, nodeid):
|
||||
"""Check that the exact set of housenumbers has been entered in
|
||||
placex for the given source node. Expected are tow columns:
|
||||
placex for the given source node. Expected are two columns:
|
||||
housenumber and centroid
|
||||
"""
|
||||
numbers = {}
|
||||
@ -132,7 +132,8 @@ def check_interpolated_housenumbers(step, nodeid):
|
||||
cur = world.conn.cursor(cursor_factory=psycopg2.extras.DictCursor)
|
||||
cur.execute("""SELECT DISTINCT housenumber,
|
||||
ST_X(centroid) as clat, ST_Y(centroid) as clon
|
||||
FROM placex WHERE osm_type = 'N' and osm_id = %s""",
|
||||
FROM placex WHERE osm_type = 'W' and osm_id = %s
|
||||
and class = 'place' and type = 'address'""",
|
||||
(int(nodeid),))
|
||||
assert_equals(len(numbers), cur.rowcount)
|
||||
for r in cur:
|
||||
@ -140,6 +141,32 @@ def check_interpolated_housenumbers(step, nodeid):
|
||||
world.match_geometry((r['clat'], r['clon']), numbers[r["housenumber"]])
|
||||
del numbers[r["housenumber"]]
|
||||
|
||||
@step(u'way (\d+) expands exactly to housenumbers ([0-9,]*)')
|
||||
def check_interpolated_housenumber_list(step, nodeid, numberlist):
|
||||
""" Checks that the interpolated house numbers corresponds
|
||||
to the given list.
|
||||
"""
|
||||
expected = numberlist.split(',');
|
||||
cur = world.conn.cursor()
|
||||
cur.execute("""SELECT housenumber FROM placex
|
||||
WHERE osm_type = 'W' and osm_id = %s
|
||||
and class = 'place' and type = 'address'""", (int(nodeid),))
|
||||
for r in cur:
|
||||
assert_in(r[0], expected, "Unexpected house number %s for node %s." % (r[0], nodeid))
|
||||
expected.remove(r[0])
|
||||
assert_equals(0, len(expected), "Missing house numbers for way %s: %s" % (nodeid, expected))
|
||||
|
||||
@step(u'way (\d+) expands to no housenumbers')
|
||||
def check_no_interpolated_housenumber_list(step, nodeid):
|
||||
""" Checks that the interpolated house numbers corresponds
|
||||
to the given list.
|
||||
"""
|
||||
cur = world.conn.cursor()
|
||||
cur.execute("""SELECT housenumber FROM placex
|
||||
WHERE osm_type = 'W' and osm_id = %s
|
||||
and class = 'place' and type = 'address'""", (int(nodeid),))
|
||||
res = [r[0] for r in cur]
|
||||
assert_equals(0, len(res), "Unexpected house numbers for way %s: %s" % (nodeid, res))
|
||||
|
||||
@step(u'table search_name has no entry for (.*)')
|
||||
def check_placex_missing(step, osmid):
|
||||
|
@ -213,8 +213,8 @@ def import_database(step):
|
||||
world.run_nominatim_script('setup', 'create-functions', 'create-partition-functions')
|
||||
cur = world.conn.cursor()
|
||||
cur.execute("""insert into placex (osm_type, osm_id, class, type, name, admin_level,
|
||||
housenumber, street, addr_place, isin, postcode, country_code, extratags,
|
||||
geometry) select * from place""")
|
||||
housenumber, street, addr_place, isin, postcode, country_code, extratags,
|
||||
geometry) select * from place""")
|
||||
world.conn.commit()
|
||||
world.run_nominatim_script('setup', 'index', 'index-noanalyse')
|
||||
#world.db_dump_table('placex')
|
||||
|
@ -94,7 +94,7 @@ def get_placeid(oid):
|
||||
q = 'SELECT place_id FROM placex where osm_type = %s and osm_id = %s and class = %s'
|
||||
params = (osmtype, osmid, cls)
|
||||
cur.execute(q, params)
|
||||
assert_equals (cur.rowcount, 1)
|
||||
assert_equals(cur.rowcount, 1, "%d rows found for place %s" % (cur.rowcount, oid))
|
||||
return cur.fetchone()[0]
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user