]> git.openstreetmap.org Git - nominatim.git/commitdiff
Merge pull request #1972 from lonvia/exclude-unnamed-highway-areas
authorSarah Hoffmann <lonvia@denofr.de>
Wed, 23 Sep 2020 07:20:16 +0000 (09:20 +0200)
committerGitHub <noreply@github.com>
Wed, 23 Sep 2020 07:20:16 +0000 (09:20 +0200)
Exclude unnamed highway areas

settings/import-address.style
settings/import-full.style
settings/import-street.style
sql/functions/placex_triggers.sql

index 16f2e929b311d11e15b78432c94cf0bb54295119..a2708086a1a2ee22dc490f530a7e3ea0da7e4398 100644 (file)
@@ -5,7 +5,7 @@
         "no" : "skip"
     }
 },
-{   "keys" : ["wikipedia", "wikipedia:*", "wikidata"],
+{   "keys" : ["wikipedia", "wikipedia:*", "wikidata", "area"],
     "values" : {
         "" : "extra"
     }
index c57c2c3a82ce6444398deb97c6bdf7d8ee14be8a..8660090173e5a2705f33ef0232a0028816542ec3 100644 (file)
               "population", "description", "image", "attribution", "fax",
               "email", "url", "website", "phone", "real_ale", "smoking",
               "food", "camera", "brewery", "locality", "wikipedia",
-              "wikipedia:*", "access:*", "contact:*", "drink:*", "toll:*"],
+              "wikipedia:*", "access:*", "contact:*", "drink:*", "toll:*",
+              "area"],
     "values" : {
         "" : "extra"
     }
index d2f0ae65c45e4938debb34bbc8d334fd144763f7..7f0c03b9739acc6d93ca586552503ffbd186f251 100644 (file)
@@ -1,5 +1,5 @@
 [
-{   "keys" : ["wikipedia", "wikipedia:*", "wikidata"],
+{   "keys" : ["wikipedia", "wikipedia:*", "wikidata", "area"],
     "values" : {
         "" : "extra"
     }
index d6a8f76228b0c77d201dcf291ed141dffb428aa8..0faa80201f4bf5ee6092236f851602e301c99349 100644 (file)
@@ -426,7 +426,12 @@ BEGIN
 
       NEW.name := hstore('ref', NEW.address->'postcode');
 
-    ELSEIF NEW.class = 'boundary' AND NOT is_area THEN
+    ELSEIF NEW.class = 'highway' AND is_area AND NEW.name is null
+           AND NEW.extratags ? 'area' AND NEW.extratags->'area' = 'yes'
+    THEN
+        RETURN NULL;
+    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'