X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/6fc32d9645f98ec39c8773d6bf01cc2f6d4969de..2aca37f677121831beebf2276d60b8dd7a413c60:/utils/warm.php?ds=sidebyside diff --git a/utils/warm.php b/utils/warm.php index 72eac27a..0ac13c46 100755 --- a/utils/warm.php +++ b/utils/warm.php @@ -1,64 +1,69 @@ #!/usr/bin/php -Cq setZoom(20); + $oPlaceLookup = new Nominatim\PlaceLookup($oDB); + $oPlaceLookup->setIncludeAddressDetails(true); + $oPlaceLookup->setLanguagePreference(array('en')); - $oReverseGeocode = new ReverseGeocode($oDB); - $oReverseGeocode->setIncludeAddressDetails(true); + echo 'Warm reverse: '; + if ($bVerbose) echo "\n"; + 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 '.'; + } + } + echo "\n"; +} - echo "Warm reverse: "; - if ($bVerbose) echo "\n"; - for($i = 0; $i < 1000; $i++) { - $fLat = rand(-9000, 9000) / 100; - $fLon = rand(-18000, 18000) / 100; - if ($bVerbose) echo "$fLat, $fLon = "; - $oReverseGeocode->setLanguagePreference(array('en')); - $oReverseGeocode->setLatLon($fLat, $fLon); - $oReverseGeocode->setZoom(20); - $aDetails = $oReverseGeocode->lookup(); - if ($bVerbose) echo $aDetails['langaddress']."\n"; - else echo "."; - } - echo "\n"; - } - - if (!$aResult['reverse-only']) { - - $oGeocode =& new Geocode($oDB); - - 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) { - if ($bVerbose) echo "$sWord = "; - $oGeocode->setLanguagePreference(array('en')); - $oGeocode->setQuery($sWord); - $aSearchResults = $oGeocode->lookup(); - if ($bVerbose) echo $aSearchResults[0]['langaddress']."\n"; - else echo "."; - } - } +if (!$aResult['reverse-only']) { + $oGeocode = new Nominatim\Geocode($oDB); + 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) { + if ($bVerbose) echo "$sWord = "; + $oGeocode->setLanguagePreference(array('en')); + $oGeocode->setQuery($sWord); + $aSearchResults = $oGeocode->lookup(); + if ($bVerbose) echo $aSearchResults[0]['langaddress']."\n"; + else echo '.'; + } +}