These are used to mark large paved areas. Sometimes they exists
together with named regular streets. In such cases the unnamed
area may overshadow the actual street when computing the address
parent. As unnamed highways are not very useful anyway, we
simply remove them from the database.
-{ "keys" : ["wikipedia", "wikipedia:*", "wikidata"],
+{ "keys" : ["wikipedia", "wikipedia:*", "wikidata", "area"],
"values" : {
"" : "extra"
}
"values" : {
"" : "extra"
}
"population", "description", "image", "attribution", "fax",
"email", "url", "website", "phone", "real_ale", "smoking",
"food", "camera", "brewery", "locality", "wikipedia",
"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"
}
"values" : {
"" : "extra"
}
-{ "keys" : ["wikipedia", "wikipedia:*", "wikidata"],
+{ "keys" : ["wikipedia", "wikipedia:*", "wikidata", "area"],
"values" : {
"" : "extra"
}
"values" : {
"" : "extra"
}
NEW.name := hstore('ref', NEW.address->'postcode');
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'
RETURN NULL;
ELSEIF NEW.class = 'boundary' AND NEW.type = 'administrative'
AND NEW.admin_level <= 4 AND NEW.osm_type = 'W'