]> git.openstreetmap.org Git - nominatim.git/blobdiff - sql/functions.sql
Merge remote-tracking branch 'upstream/master'
[nominatim.git] / sql / functions.sql
index dfb6463478d6ada2f9e2d9699b8bd378b1da8400..0d691411eae6e18b06f4f3883ce0c3a2ac032618 100644 (file)
@@ -5,7 +5,6 @@
 --  score integer
 --);
 
 --  score integer
 --);
 
-
 CREATE OR REPLACE FUNCTION getclasstypekey(c text, t text) RETURNS TEXT
   AS $$
 DECLARE
 CREATE OR REPLACE FUNCTION getclasstypekey(c text, t text) RETURNS TEXT
   AS $$
 DECLARE
@@ -1389,6 +1388,9 @@ BEGIN
 
 --RAISE WARNING 'finding street for %', NEW;
 
 
 --RAISE WARNING 'finding street for %', NEW;
 
+      -- We won't get a better centroid, besides these places are too small to care
+      NEW.centroid := place_centroid;
+
       NEW.parent_place_id := null;
 
       -- to do that we have to find our parent road
       NEW.parent_place_id := null;
 
       -- to do that we have to find our parent road
@@ -1707,6 +1709,16 @@ BEGIN
         END LOOP;
       END IF;
     END IF;
         END LOOP;
       END IF;
     END IF;
+
+    -- for the USA we have an additional address table.  Merge in zip codes from there too
+    IF NEW.rank_search = 26 AND NEW.calculated_country_code = 'us' THEN
+      FOR location IN SELECT distinct postcode from location_property_tiger where parent_place_id = NEW.place_id LOOP
+        address_street_word_id := get_name_id(make_standard_name(location.postcode));
+        nameaddress_vector := array_merge(nameaddress_vector, ARRAY[address_street_word_id]);
+        isin_tokens := isin_tokens || address_street_word_id;
+      END LOOP;
+    END IF;
+
 -- RAISE WARNING 'ISIN: %', isin_tokens;
 
     -- Process area matches
 -- RAISE WARNING 'ISIN: %', isin_tokens;
 
     -- Process area matches