]> git.openstreetmap.org Git - nominatim.git/commitdiff
ignore admin boundary ways for countries and states
authorSarah Hoffmann <lonvia@denofr.de>
Sat, 26 Jan 2019 12:34:28 +0000 (13:34 +0100)
committerSarah Hoffmann <lonvia@denofr.de>
Sat, 26 Jan 2019 12:37:10 +0000 (13:37 +0100)
Countries and states are mapped world-wide as relations by now.

Fixes #543 and #1291.

sql/functions.sql
test/bdd/db/import/placex.feature

index e45062a8768c0827014f7ad20ea91743c691f6c2..89c1f936529e41493d1b3a33693f0a22e8c72616 100644 (file)
@@ -853,6 +853,9 @@ BEGIN
       END IF;
     ELSEIF NEW.class = 'boundary' AND NOT is_area THEN
         return NULL;
+    ELSEIF NEW.class = 'boundary' AND NEW.type = 'administrative'
+           AND NEW.admin_level <= 4 AND NEW.osm_type = 'W' THEN
+        return NULL;
     ELSEIF NEW.class = 'railway' AND NEW.type in ('rail') THEN
         return NULL;
     ELSEIF NEW.osm_type = 'N' AND NEW.class = 'highway' THEN
index cc3569b0016240dfcf33c13d7bb47d9dadc7058f..0284736b8a022e0fc4128cb8c483b2932f3f9f9d 100644 (file)
@@ -293,3 +293,22 @@ Feature: Import into placex
           | R6     | 4           | 0 |
           | W3     | 30          | 30 |
 
+    Scenario: boundary ways for countries and states are ignored
+        Given the named places
+          | osm | class    | type           | admin | geometry |
+          | W4  | boundary | administrative | 2     | poly-area:0.1 |
+          | R4  | boundary | administrative | 2     | poly-area:0.1 |
+          | W5  | boundary | administrative | 3     | poly-area:0.1 |
+          | R5  | boundary | administrative | 3     | poly-area:0.1 |
+          | W6  | boundary | administrative | 4     | poly-area:0.1 |
+          | R6  | boundary | administrative | 4     | poly-area:0.1 |
+          | W7  | boundary | administrative | 5     | poly-area:0.1 |
+          | R7  | boundary | administrative | 5     | poly-area:0.1 |
+       When importing
+       Then placex contains exactly
+           | object |
+           | R4     |
+           | R5     |
+           | R6     |
+           | W7     |
+           | R7     |