]> git.openstreetmap.org Git - nominatim.git/commitdiff
merge postcodes from address objects
authorSarah Hoffmann <lonvia@denofr.de>
Sun, 15 Dec 2013 23:00:06 +0000 (00:00 +0100)
committerSarah Hoffmann <lonvia@denofr.de>
Sun, 15 Dec 2013 23:00:06 +0000 (00:00 +0100)
Take the postcode from the first address object that
has one tagged and use that as display postcode.

sql/functions.sql

index 73aa4feefbba5b3b1c4e739c0ddcc3c88b4ded7a..1883d99867f08008c103a48c92793bfccd24ef6c 100644 (file)
@@ -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;