} // Show address breakdown $bShowAddressDetails = true; if (isset($_GET['addressdetails'])) { $bShowAddressDetails = (bool) $_GET['addressdetails']; } // Preferred language $aLangPrefOrder = getPreferredLanguages(); $hLog = logStart($oDB, 'reverse', $_SERVER['QUERY_STRING'], $aLangPrefOrder); if (isset($_GET['osm_type']) && isset($_GET['osm_id']) && (int) $_GET['osm_id'] && ($_GET['osm_type'] == 'N' || $_GET['osm_type'] == 'W' || $_GET['osm_type'] == 'R')) { $oPlaceLookup = new PlaceLookup($oDB); $oPlaceLookup->setLanguagePreference($aLangPrefOrder); $oPlaceLookup->setIncludeAddressDetails($bShowAddressDetails); $oPlaceLookup->setOSMID($_GET['osm_type'], $_GET['osm_id']); $aPlace = $oPlaceLookup->lookup(); } else { if (isset($_GET['lat']) && isset($_GET['lon']) && preg_match('/^[+-]?[0-9]*\\.?[0-9]+$/', $_GET['lat']) && preg_match('/^[+-]?[0-9]*\\.?[0-9]+$/', $_GET['lon'])) { $oReverseGeocode = new ReverseGeocode($oDB); $oReverseGeocode->setLanguagePreference($aLangPrefOrder); $oReverseGeocode->setIncludeAddressDetails($bShowAddressDetails); $oReverseGeocode->setLatLon($_GET['lat'], $_GET['lon']); $oReverseGeocode->setZoom(@$_GET['zoom']); $aPlace = $oReverseGeocode->lookup(); } else { $aPlace = null; } } if (CONST_Debug) { exit; } include CONST_BasePath . '/lib/template/address-' . $sOutputFormat . '.php';
#!/usr/bin/php -Cq <?php require_once dirname(dirname(__FILE__)) . '/lib/init-cmd.php'; ini_set('memory_limit', '800M'); $aCMDOptions = array("Tools to warm nominatim db", 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('reverse-only', '', 0, 1, 0, 0, 'bool', 'Warm reverse only'), array('search-only', '', 0, 1, 0, 0, 'bool', 'Warm reverse only')); getCmdOpt($_SERVER['argv'], $aCMDOptions, $aResult, true, true); require_once CONST_BasePath . '/lib/log.php'; require_once CONST_BasePath . '/lib/Geocode.php'; require_once CONST_BasePath . '/lib/PlaceLookup.php'; require_once CONST_BasePath . '/lib/ReverseGeocode.php'; $oDB =& getDB(); $bVerbose = $aResult['verbose']; if (!$aResult['search-only']) { $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} = "; } $oReverseGeocode->setLanguagePreference(array('en')); $oReverseGeocode->setLatLon($fLat, $fLon); $oReverseGeocode->setZoom(20); $aDetails = $oReverseGeocode->lookup(); if ($bVerbose) { echo $aDetails['langaddress'] . "\n";