コード例 #1
0
ファイル: class-api-call.php プロジェクト: hay/wherewereyou
 function __construct()
 {
     $method = isset($_GET['method']) ? $_GET['method'] : false;
     if (!$method) {
         $this->error("No method given");
     } else {
         switch ($method) {
             case "tweets":
                 $call = new Tweets();
                 break;
             case "reverse.geocode":
                 $call = new ReverseGeocode();
                 break;
             default:
                 $this->error("Invalid method name");
         }
         if ($call->getResponse()) {
             $this->output($call->getResponse());
         } else {
             $this->error("Error while doing the call");
         }
     }
 }
コード例 #2
0
ファイル: reverse.php プロジェクト: Xevib/Nominatim
}
$oDB =& getDB();
ini_set('memory_limit', '200M');
// Format for output
$sOutputFormat = 'xml';
if (isset($_GET['format']) && ($_GET['format'] == 'html' || $_GET['format'] == 'xml' || $_GET['format'] == 'json' || $_GET['format'] == 'jsonv2')) {
    $sOutputFormat = $_GET['format'];
}
// 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')) {
    $aLookup = array('osm_type' => $_GET['osm_type'], 'osm_id' => $_GET['osm_id']);
} 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->setLatLon($_GET['lat'], $_GET['lon']);
        $oReverseGeocode->setZoom(@$_GET['zoom']);
        $aLookup = $oReverseGeocode->lookup();
        if (CONST_Debug) {
            var_dump($aLookup);
        }
    } else {
        $aLookup = null;
    }
}
if ($aLookup) {
    $oPlaceLookup = new PlaceLookup($oDB);
    $oPlaceLookup->setLanguagePreference($aLangPrefOrder);
    $oPlaceLookup->setIncludeAddressDetails(getParamBool('addressdetails', true));
コード例 #3
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';
コード例 #4
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";