]> git.openstreetmap.org Git - nominatim.git/commitdiff
update osm2pgsql (bug in relation update)
authorSarah Hoffmann <lonvia@denofr.de>
Wed, 11 Feb 2015 21:31:30 +0000 (22:31 +0100)
committerSarah Hoffmann <lonvia@denofr.de>
Wed, 11 Feb 2015 21:31:30 +0000 (22:31 +0100)
osm2pgsql
tests/features/osm2pgsql/update/relation.feature

index accc3eff0ef8799a116d3d2b46be204de8b60e19..10c274f851b63547d8e1a194231a67f8f0f8aed6 160000 (submodule)
--- a/osm2pgsql
+++ b/osm2pgsql
@@ -1 +1 @@
-Subproject commit accc3eff0ef8799a116d3d2b46be204de8b60e19
+Subproject commit 10c274f851b63547d8e1a194231a67f8f0f8aed6
index 2e6f9d8add192389cd1a2080e688cacae5f70e90..f7bf53aa2e7c4a80aede9211328e1e263ed30cf8 100644 (file)
@@ -28,3 +28,125 @@ Scenario: Remove all members of a relation
           When updating osm data
         Then table place has no entry for R1
 
+
+Scenario: Change type of a relation
+        Given the osm nodes:
+          | id  | geometry
+          | 200 | 0 0
+          | 201 | 0 0.0001
+          | 202 | 0.0001 0.0001
+          | 203 | 0.0001 0
+        Given the osm ways:
+          | id | tags                             | nodes
+          | 2  | 'ref' : '45'                     | 200 201 202 203 200
+        Given the osm relations:
+          | id | tags                                                        | members
+          | 1  | 'type' : 'multipolygon', 'tourism' : 'hotel', 'name' : 'XZ' | W2
+        When loading osm data
+        Then table place contains
+          | object | class   | type   | name
+          | R1     | tourism | hotel  | 'name' : 'XZ'
+        Given the osm relations:
+          | action | id | tags                                                        | members
+          | M      | 1  | 'type' : 'multipolygon', 'amenity' : 'prison', 'name' : 'XZ' | W2
+          When updating osm data
+        Then table place has no entry for R1:tourism
+        And table place contains
+          | object | class   | type   | name
+          | R1     | amenity | prison | 'name' : 'XZ'
+
+Scenario: Change name of a relation
+        Given the osm nodes:
+          | id  | geometry
+          | 200 | 0 0
+          | 201 | 0 0.0001
+          | 202 | 0.0001 0.0001
+          | 203 | 0.0001 0
+        Given the osm ways:
+          | id | tags                             | nodes
+          | 2  | 'ref' : '45'                     | 200 201 202 203 200
+        Given the osm relations:
+          | id | tags                                                        | members
+          | 1  | 'type' : 'multipolygon', 'tourism' : 'hotel', 'name' : 'AB' | W2
+        When loading osm data
+        Then table place contains
+          | object | class   | type   | name
+          | R1     | tourism | hotel  | 'name' : 'AB'
+        Given the osm relations:
+          | action | id | tags                                                        | members
+          | M      | 1  | 'type' : 'multipolygon', 'tourism' : 'hotel', 'name' : 'XZ' | W2
+        When updating osm data
+        Then table place contains
+          | object | class   | type   | name
+          | R1     | tourism | hotel  | 'name' : 'XZ'
+
+
+Scenario: Change type of a relation into something unknown
+        Given the osm nodes:
+          | id  | geometry
+          | 200 | 0 0
+          | 201 | 0 0.0001
+          | 202 | 0.0001 0.0001
+          | 203 | 0.0001 0
+        Given the osm ways:
+          | id | tags                             | nodes
+          | 2  | 'ref' : '45'                     | 200 201 202 203 200
+        Given the osm relations:
+          | id | tags                                                        | members
+          | 1  | 'type' : 'multipolygon', 'tourism' : 'hotel', 'name' : 'XZ' | W2
+        When loading osm data
+        Then table place contains
+          | object | class   | type   | name
+          | R1     | tourism | hotel  | 'name' : 'XZ'
+        Given the osm relations:
+          | action | id | tags                                                        | members
+          | M      | 1  | 'type' : 'multipolygon', 'amenities' : 'prison', 'name' : 'XZ' | W2
+          When updating osm data
+        Then table place has no entry for R1
+
+Scenario: Type tag is removed
+        Given the osm nodes:
+          | id  | geometry
+          | 200 | 0 0
+          | 201 | 0 0.0001
+          | 202 | 0.0001 0.0001
+          | 203 | 0.0001 0
+        Given the osm ways:
+          | id | tags                             | nodes
+          | 2  | 'ref' : '45'                     | 200 201 202 203 200
+        Given the osm relations:
+          | id | tags                                                        | members
+          | 1  | 'type' : 'multipolygon', 'tourism' : 'hotel', 'name' : 'XZ' | W2
+        When loading osm data
+        Then table place contains
+          | object | class   | type   | name
+          | R1     | tourism | hotel  | 'name' : 'XZ'
+        Given the osm relations:
+          | action | id | tags                               | members
+          | M      | 1  | 'tourism' : 'hotel', 'name' : 'XZ' | W2
+          When updating osm data
+        Then table place has no entry for R1
+
+Scenario: Type tag is renamed to something unknown
+        Given the osm nodes:
+          | id  | geometry
+          | 200 | 0 0
+          | 201 | 0 0.0001
+          | 202 | 0.0001 0.0001
+          | 203 | 0.0001 0
+        Given the osm ways:
+          | id | tags                             | nodes
+          | 2  | 'ref' : '45'                     | 200 201 202 203 200
+        Given the osm relations:
+          | id | tags                                                        | members
+          | 1  | 'type' : 'multipolygon', 'tourism' : 'hotel', 'name' : 'XZ' | W2
+        When loading osm data
+        Then table place contains
+          | object | class   | type   | name
+          | R1     | tourism | hotel  | 'name' : 'XZ'
+        Given the osm relations:
+          | action | id | tags                               | members
+          | M      | 1  | 'type' : 'multipolygonn', 'tourism' : 'hotel', 'name' : 'XZ' | W2
+          When updating osm data
+        Then table place has no entry for R1
+