From: Sarah Hoffmann Date: Sun, 15 Dec 2013 23:00:06 +0000 (+0100) Subject: merge postcodes from address objects X-Git-Tag: v2.2.0~17^2~1 X-Git-Url: https://git.openstreetmap.org./nominatim.git/commitdiff_plain/10f3a4df2335b7a960a54b7606f1a4bda633fbb6 merge postcodes from address objects Take the postcode from the first address object that has one tagged and use that as display postcode. --- diff --git a/sql/functions.sql b/sql/functions.sql index 73aa4fee..1883d998 100644 --- a/sql/functions.sql +++ b/sql/functions.sql @@ -2481,7 +2481,7 @@ BEGIN CASE WHEN class = 'place' and type = 'postcode' THEN hstore('name', postcode) ELSE name END as name, class, type, admin_level, fromarea, isaddress, CASE WHEN address_place_id = for_place_id AND rank_address = 0 THEN 100 WHEN rank_address = 11 THEN 5 ELSE rank_address END as rank_address, - distance,calculated_country_code + distance,calculated_country_code,postcode from place_addressline join placex on (address_place_id = placex.place_id) where place_addressline.place_id = for_place_id and (cached_rank_address > 0 AND cached_rank_address < searchrankaddress) @@ -2496,6 +2496,9 @@ BEGIN IF searchpostcode IS NOT NULL and location.type = 'postcode' THEN location.isaddress := FALSE; END IF; + IF searchpostcode IS NULL and location.isaddress and location.type != 'postcode' and location.postcode IS NOT NULL THEN + searchpostcode := location.postcode; + END IF; IF location.rank_address = 4 AND location.isaddress THEN hadcountry := true; END IF;