X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/1c85edbda976ff0b06b21ee31973eecafc181231..f5cbe0e6babf9b4649eb2e00717d21474052b08e:/utils/warm.php diff --git a/utils/warm.php b/utils/warm.php index 96372aec..5476eae0 100644 --- a/utils/warm.php +++ b/utils/warm.php @@ -18,10 +18,24 @@ require_once(CONST_BasePath.'/lib/Geocode.php'); require_once(CONST_BasePath.'/lib/PlaceLookup.php'); require_once(CONST_BasePath.'/lib/ReverseGeocode.php'); -$oDB =& getDB(); +$oDB = new Nominatim\DB(); +$oDB->connect(); $bVerbose = $aResult['verbose']; +function print_results($aResults, $bVerbose) +{ + if ($bVerbose) { + if ($aResults && count($aResults)) { + echo $aResults[0]['langaddress']."\n"; + } else { + echo "\n"; + } + } else { + echo '.'; + } +} + if (!$aResult['search-only']) { $oReverseGeocode = new Nominatim\ReverseGeocode($oDB); $oReverseGeocode->setZoom(20); @@ -35,13 +49,10 @@ if (!$aResult['search-only']) { $fLat = rand(-9000, 9000) / 100; $fLon = rand(-18000, 18000) / 100; if ($bVerbose) echo "$fLat, $fLon = "; + $oLookup = $oReverseGeocode->lookup($fLat, $fLon); - if ($oLookup) { - $aDetails = $oPlaceLookup->lookup(array($oLookup->iId => $oLookup)); - if ($bVerbose) echo $aDetails['langaddress']."\n"; - } else { - echo '.'; - } + $aSearchResults = $oLookup ? $oPlaceLookup->lookup(array($oLookup->iId => $oLookup)) : null; + print_results($aSearchResults, $bVerbose); } echo "\n"; } @@ -51,13 +62,14 @@ if (!$aResult['reverse-only']) { echo 'Warm search: '; if ($bVerbose) echo "\n"; - $sSQL = 'select word from word where word is not null order by search_name_count desc limit 1000'; + $sSQL = 'SELECT word FROM word WHERE word is not null ORDER BY search_name_count DESC LIMIT 1000'; foreach ($oDB->getCol($sSQL) as $sWord) { if ($bVerbose) echo "$sWord = "; + $oGeocode->setLanguagePreference(array('en')); $oGeocode->setQuery($sWord); $aSearchResults = $oGeocode->lookup(); - if ($bVerbose) echo $aSearchResults[0]['langaddress']."\n"; - else echo '.'; + print_results($aSearchResults, $bVerbose); } + echo "\n"; }