function updateOverpass($limit = false)
{
    $start = microtime();
    //updateOSM();
    $files = scandir('fajlok/tmp');
    /*     * /
          foreach($files as $file)
          if(preg_match('/^osm_/i',$file))
          unlink('fajlok/tmp/'.$file);
          /* */
    $query = "SELECT t.id, g.* FROM templomok t \n                LEFT JOIN osm ON osm.tid = t.id \n                LEFT JOIN terkep_geocode as g ON g.tid = t.id \n                WHERE osm.type IS NULL and ok = 'i' \n                ORDER BY t.id";
    $result = mysql_query($query);
    $c = 0;
    while ($row = mysql_fetch_assoc($result)) {
        set_time_limit(600);
        $around = 60;
        $around2 = 3000;
        $lon = $row['lng'];
        $lat = $row['lat'];
        $query = '[out:json][timeout:6]; ( node["amenity"="place_of_worship"](around:' . $around2 . ',' . $lat . ',' . $lon . '); way["amenity"="place_of_worship"](around:' . $around2 . ',' . $lat . ',' . $lon . '); rel["amenity"="place_of_worship"](around:' . $around2 . ',' . $lat . ',' . $lon . '); ); out body center qt 6;';
        $obj = getOverpass($query);
        if (count((array) $obj->elements) > 5) {
            $query = '[out:json][timeout:6]; ( node["amenity"="place_of_worship"](around:' . $around . ',' . $lat . ',' . $lon . '); way["amenity"="place_of_worship"](around:' . $around . ',' . $lat . ',' . $lon . '); rel["amenity"="place_of_worship"](around:' . $around . ',' . $lat . ',' . $lon . '); ); out body center qt;';
            getOverpass($query);
        }
        $c++;
        if (is_numeric($limit) and $limit > 0 and $limit >= $c) {
            break;
        }
    }
    /* */
    echo $start - microtime() . "s ";
    return true;
}
Exemple #2
0
 $church = getChurch($t);
 //To use uptodate OSM
 //$church['osm'] = getOSMelement($church['osm']['type'],$church['osm']['id']);
 $osm = $church['osm'];
 if ($osm == '') {
     $around = 60;
     $around2 = 3000;
     $lon = $church['lng'];
     $lat = $church['lat'];
     if ($lat == '' or $lon == '') {
     } else {
         $query = '[out:json][timeout:6]; ( node["amenity"="place_of_worship"](around:' . $around2 . ',' . $lat . ',' . $lon . '); way["amenity"="place_of_worship"](around:' . $around2 . ',' . $lat . ',' . $lon . '); rel["amenity"="place_of_worship"](around:' . $around2 . ',' . $lat . ',' . $lon . '); ); out body center qt 6;';
         $obj = getOverpass($query);
         if (count((array) $obj->elements) > 5) {
             $query = '[out:json][timeout:6]; ( node["amenity"="place_of_worship"](around:' . $around . ',' . $lat . ',' . $lon . '); way["amenity"="place_of_worship"](around:' . $around . ',' . $lat . ',' . $lon . '); rel["amenity"="place_of_worship"](around:' . $around . ',' . $lat . ',' . $lon . '); ); out body center qt;';
             $obj = getOverpass($query);
         }
         $k = false;
         $dmisn = $around2 + 1;
         foreach ($obj->elements as $key => $element) {
             if (isset($element->center->lat)) {
                 $element->lat = $element->center->lat;
             }
             if (isset($element->center->lon)) {
                 $element->lon = $element->center->lon;
             }
             $d = Distance($church, (array) $element);
             if ((int) $d < (int) $dmisn) {
                 $k = $key;
                 $dmisn = $d;
             }