Example #1
0
 /**
  * @param float $lng
  * @param float $lat
  * @return OrtGeo
  */
 public static function findClosest($lng, $lat)
 {
     // SQRT(POW(69.1 * (fld_lat - ( $lat )), 2) + POW(69.1 * (($lon) - fld_lon) * COS(fld_lat / 57.3 ), 2 )) AS distance
     $lat = FloatVal($lat);
     $lng = FloatVal($lng);
     $result = Yii::app()->db->createCommand("SELECT *, SQRT(POW(69.1 * (lat - ( " . $lat . ")), 2) + POW(69.1 * (({$lng}) - lon) * COS(lat / 57.3 ), 2 )) AS distance FROM orte_geo ORDER BY distance ASC LIMIT 0,1")->queryAll();
     $res = new OrtGeo();
     $res->setAttributes($result[0]);
     return $res;
 }