コード例 #1
0
ファイル: reverse.php プロジェクト: a4x/Nominatim
}
// 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';
コード例 #2
0
ファイル: warm.php プロジェクト: leforestier/Nominatim
#!/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";