]> git.openstreetmap.org Git - nominatim.git/commitdiff
Merge remote-tracking branch 'lonvia/address-order'
authorSarah Hoffmann <lonvia@denofr.de>
Fri, 20 Jul 2012 22:53:53 +0000 (00:53 +0200)
committerSarah Hoffmann <lonvia@denofr.de>
Fri, 20 Jul 2012 22:53:53 +0000 (00:53 +0200)
lib/lib.php
sql/functions.sql
utils/setup.php
utils/specialphrases.php
website/details.php
website/reverse.php
website/search.php

index 5d02ef89a1c530a7f3e0b0fa53accdde394963af..1959ded3d4748738215e4349f3bb35a1aad25267 100644 (file)
@@ -94,7 +94,7 @@
                return ($a['foundorder'] < $b['foundorder']?-1:1);
        }
 
-       function getPrefferedLangauges()
+       function getPreferredLanguages()
        {
                // If we have been provided the value in $_GET it overrides browser value
                if (isset($_GET['accept-language']) && $_GET['accept-language'])
                return false;
 
                /*
-                       $fTotalFac is a suprisingly good indicator of accuracy
+                       $fTotalFac is a surprisingly good indicator of accuracy
                        $iZoom = 18 + round(log($fTotalFac,32));
                        $iZoom = max(13,min(18,$iZoom));
                */
index d242418c061cc7b97c3ff5fdea893ec651b4323d..25769785b8bfd4fe4a1570e81ff92b369b782125 100644 (file)
@@ -769,6 +769,13 @@ BEGIN
           -- null record of right type
           select * from placex where osm_type = 'N' and osm_id = waynodes[nodeidpos]::INTEGER and type = 'house' limit 1 INTO nextnode;
           select ST_SetSRID(ST_Point(lon::float/10000000,lat::float/10000000),4326) from planet_osm_nodes where id = waynodes[nodeidpos] INTO nextnode.geometry;
+          IF nextnode.geometry IS NULL THEN
+            -- we don't have any information about this point, most likely
+            -- because an excerpt was updated and the node never imported
+            -- because the interpolation is outside the region of the excerpt.
+            -- Give up.
+            RETURN newpoints;
+          END IF;
         ELSE
           select * from placex where place_id = search_place_id INTO nextnode;
         END IF;
index 4de5953f7a0e935298e8d760e55ad00a83407be8..07faa2df2a92e4f878be9eba89f6a82d193fdff4 100755 (executable)
@@ -34,7 +34,7 @@
                array('osmosis-init', '', 0, 1, 0, 0, 'bool', 'Generate default osmosis configuration'),
                array('osmosis-init-date', '', 0, 1, 1, 1, 'string', 'Generate default osmosis configuration'),
                array('index', '', 0, 1, 0, 0, 'bool', 'Index the data'),
-               array('index-noanalyse', '', 0, 1, 0, 0, 'bool', 'Do not perform analyse opertions during index (EXPERT)'),
+               array('index-noanalyse', '', 0, 1, 0, 0, 'bool', 'Do not perform analyse operations during index (EXPERT)'),
                array('index-output', '', 0, 1, 1, 1, 'string', 'File to dump index information to'),
                array('create-search-indices', '', 0, 1, 0, 0, 'bool', 'Create additional indices required for search and update'),
                array('create-website', '', 0, 1, 1, 1, 'realpath', 'Create symlinks to setup web directory'),
@@ -43,7 +43,7 @@
 
        $bDidSomething = false;
 
-       // This is a pretty hard core defult - the number of processors in the box - 1
+       // This is a pretty hard core default - the number of processors in the box - 1
        $iInstances = isset($aCMDResult['threads'])?$aCMDResult['threads']:(getProcessorCount()-1);
        if ($iInstances < 1)
        {
        {
                if (!file_exists($sFilename)) fail('unable to find '.$sFilename);
 
-               // Convert database DSN to psql paramaters
+               // Convert database DSN to psql parameters
                $aDSNInfo = DB::parseDSN(CONST_Database_DSN);
                if (!isset($aDSNInfo['port']) || !$aDSNInfo['port']) $aDSNInfo['port'] = 5432;
                $sCMD = 'psql -p '.$aDSNInfo['port'].' -d '.$aDSNInfo['database'].' -f '.$sFilename;
 
        function pgsqlRunScript($sScript)
        {
-               // Convert database DSN to psql paramaters
+               // Convert database DSN to psql parameters
                $aDSNInfo = DB::parseDSN(CONST_Database_DSN);
                if (!isset($aDSNInfo['port']) || !$aDSNInfo['port']) $aDSNInfo['port'] = 5432;
                $sCMD = 'psql -p '.$aDSNInfo['port'].' -d '.$aDSNInfo['database'];
 
        function pgsqlRunRestoreData($sDumpFile)
        {
-               // Convert database DSN to psql paramaters
+               // Convert database DSN to psql parameters
                $aDSNInfo = DB::parseDSN(CONST_Database_DSN);
                if (!isset($aDSNInfo['port']) || !$aDSNInfo['port']) $aDSNInfo['port'] = 5432;
                $sCMD = 'pg_restore -p '.$aDSNInfo['port'].' -d '.$aDSNInfo['database'].' -Fc -a '.$sDumpFile;
 
        function pgsqlRunDropAndRestore($sDumpFile)
        {
-               // Convert database DSN to psql paramaters
+               // Convert database DSN to psql parameters
                $aDSNInfo = DB::parseDSN(CONST_Database_DSN);
                if (!isset($aDSNInfo['port']) || !$aDSNInfo['port']) $aDSNInfo['port'] = 5432;
                $sCMD = 'pg_restore -p '.$aDSNInfo['port'].' -d '.$aDSNInfo['database'].' -Fc --clean '.$sDumpFile;
index 309c5253325693a5c56e499ed00e17952897992b..4381bdfa37b89f6f2f70c7e76c007f11b30773eb 100755 (executable)
@@ -10,7 +10,7 @@
                 array('help', 'h', 0, 1, 0, 0, false, 'Show Help'),
                 array('quiet', 'q', 0, 1, 0, 0, 'bool', 'Quiet output'),
                 array('verbose', 'v', 0, 1, 0, 0, 'bool', 'Verbose output'),
-                array('countries', '', 0, 1, 0, 0, 'bool', 'Create import script for coutry codes and names'),
+                array('countries', '', 0, 1, 0, 0, 'bool', 'Create import script for country codes and names'),
                 array('wiki-import', '', 0, 1, 0, 0, 'bool', 'Create import script for search phrases '),
         );
         getCmdOpt($_SERVER['argv'], $aCMDOptions, $aCMDResult, true, true);
index ff90cd98ba7dd92a5d9e294c3206dabf649139db..b7a38b2d7cc7c1cea3c000835de8e68b8393475a 100755 (executable)
@@ -33,7 +33,7 @@
        $iParentPlaceID = $oDB->getOne('select parent_place_id from location_property_aux where place_id = '.$iPlaceID);
        if ($iParentPlaceID) $iPlaceID = $iParentPlaceID;
 
-       $aLangPrefOrder = getPrefferedLangauges();
+       $aLangPrefOrder = getPreferredLanguages();
        $sLanguagePrefArraySQL = "ARRAY[".join(',',array_map("getDBQuoted",$aLangPrefOrder))."]";
 
        $hLog = logStart($oDB, 'details', $_SERVER['QUERY_STRING'], $aLangPrefOrder);
index 4cd950168c61f8599ea550d77e03a310167e4d73..c155fa573030fa54cb5a71629727b808dc2be972 100755 (executable)
@@ -28,8 +28,8 @@
        $bShowAddressDetails = true;
        if (isset($_GET['addressdetails'])) $bShowAddressDetails = (bool)$_GET['addressdetails'];
 
-        // Prefered language
-        $aLangPrefOrder = getPrefferedLangauges();
+        // Preferred language
+        $aLangPrefOrder = getPreferredLanguages();
         $sLanguagePrefArraySQL = "ARRAY[".join(',',array_map("getDBQuoted",$aLangPrefOrder))."]";
 
        $hLog = logStart($oDB, 'reverse', $_SERVER['QUERY_STRING'], $aLangPrefOrder);
                        $sSQL .= ' ORDER BY ST_distance('.$sPointSQL.', geometry) ASC limit 1';
 //var_dump($sSQL);
                        $aPlace = $oDB->getRow($sSQL);
-                       $iPlaceID = $aPlace['place_id'];
-                       $iParentPlaceID = $aPlace['parent_place_id'];
-                       if (PEAR::IsError($iPlaceID))
+                       if (PEAR::IsError($aPlace))
                        {
                                failInternalError("Could not determine closest place.", $sSQL, $iPlaceID); 
                        }
+                       $iPlaceID = $aPlace['place_id'];
+                       $iParentPlaceID = $aPlace['parent_place_id'];
                }
 
                // The point we found might be too small - use the address to find what it is a child of
index 646eefe6a07fcaff6c0106918e3ee4bed88518a5..5e2ff371efdaa9ec7b0307b39809e0b4112f8970 100755 (executable)
@@ -36,8 +36,8 @@
        // Show address breakdown
        $bShowAddressDetails = isset($_GET['addressdetails']) && $_GET['addressdetails'];
 
-       // Prefered language    
-       $aLangPrefOrder = getPrefferedLangauges();
+       // Preferred language   
+       $aLangPrefOrder = getPreferredLanguages();
        if (isset($aLangPrefOrder['name:de'])) $bReverseInPlan = true;
        if (isset($aLangPrefOrder['name:ru'])) $bReverseInPlan = true;
        if (isset($aLangPrefOrder['name:ja'])) $bReverseInPlan = true;
@@ -53,7 +53,7 @@
                }
        }
 
-  // Only certain ranks of feature
+       // Only certain ranks of feature
        if (isset($_GET['featureType']) && !isset($_GET['featuretype'])) $_GET['featuretype'] = $_GET['featureType'];
 
        if (isset($_GET['featuretype']))
@@ -96,7 +96,7 @@
        {
                $sQuery = substr($_SERVER['PATH_INFO'], 1);
 
-               // reverse order of '/' seperated string
+               // reverse order of '/' separated string
                $aPhrases = explode('/', $sQuery);              
                $aPhrases = array_reverse($aPhrases); 
                $sQuery = join(', ',$aPhrases);
                                                                                        if ($aSearch['sCountryCode'] === false)
                                                                                        {
                                                                                                $aSearch['sCountryCode'] = strtolower($aSearchTerm['country_code']);
-                                                                                               // Country is almost always at the end of the string - increase score for finding it anywhere else (opimisation)
+                                                                                               // Country is almost always at the end of the string - increase score for finding it anywhere else (optimisation)
                                                                                                if ($iWordset+1 != sizeof($aPhrases[$iPhrase]['wordsets']) || $iPhrase+1 != sizeof($aPhrases)) $aSearch['iSearchRank'] += 5;
                                                                                                if ($aSearch['iSearchRank'] < $iMaxRank) $aNewWordsetSearches[] = $aSearch;
                                                                                        }