X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/effd8e12af440586594a18a04beb33abed260d15..7cc33a839cbd8b42955a9e8d059b67afa22eab59:/utils/warm.php?ds=sidebyside diff --git a/utils/warm.php b/utils/warm.php old mode 100755 new mode 100644 index 55a58559..5476eae0 --- a/utils/warm.php +++ b/utils/warm.php @@ -1,18 +1,16 @@ -#!/usr/bin/php -Cq connect(); $bVerbose = $aResult['verbose']; -if (!$aResult['search-only']) { +function print_results($aResults, $bVerbose) +{ + if ($bVerbose) { + if ($aResults && count($aResults)) { + echo $aResults[0]['langaddress']."\n"; + } else { + echo "\n"; + } + } else { + echo '.'; + } +} - $oReverseGeocode = new ReverseGeocode($oDB); +if (!$aResult['search-only']) { + $oReverseGeocode = new Nominatim\ReverseGeocode($oDB); $oReverseGeocode->setZoom(20); - $oPlaceLookup = new PlaceLookup($oDB); + $oPlaceLookup = new Nominatim\PlaceLookup($oDB); $oPlaceLookup->setIncludeAddressDetails(true); $oPlaceLookup->setLanguagePreference(array('en')); - echo "Warm reverse: "; + echo 'Warm reverse: '; if ($bVerbose) echo "\n"; - for($i = 0; $i < 1000; $i++) { + for ($i = 0; $i < 1000; $i++) { $fLat = rand(-9000, 9000) / 100; $fLon = rand(-18000, 18000) / 100; if ($bVerbose) echo "$fLat, $fLon = "; - $aLookup = $oReverseGeocode->lookup($fLat, $fLon); - if ($aLookup && $aLookup['place_id']) - { - $aDetails = $oPlaceLookup->lookup((int)$aLookup['place_id'], - $aLookup['type'], $aLookup['fraction']); - if ($bVerbose) echo $aDetails['langaddress']."\n"; - } - else echo "."; + + $oLookup = $oReverseGeocode->lookup($fLat, $fLon); + $aSearchResults = $oLookup ? $oPlaceLookup->lookup(array($oLookup->iId => $oLookup)) : null; + print_results($aSearchResults, $bVerbose); } echo "\n"; } if (!$aResult['reverse-only']) { + $oGeocode = new Nominatim\Geocode($oDB); - $oGeocode =& new Geocode($oDB); - - echo "Warm search: "; + 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'; - foreach($oDB->getCol($sSQL) as $sWord) { + $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"; } -