您的位置:首页 > 编程语言 > PHP开发

PHP计算当前坐标3公里内4个角落的最大最小经纬度实例???

2016-12-30 11:58 411 查看
//$lng 、$lat 经纬度    

$half = 6371;

    $distance = 3; //3公里 

    $dlng = 2 * asin(sin($distance / (2 * $half)) / cos(deg2rad($lat)));

    $dlng = rad2deg($dlng);

    $dlat = $distance / $half;

    $dlat = rad2deg($dlat);

    $fourpoint = array(

      'left-top' => array('lat' => $lat + $dlat, 'lng' => $lng - $dlng),

      'right-top' => array('lat' => $lat + $dlat, 'lng' => $lng + $dlng),

      'left-bottom' => array('lat' => $lat - $dlat, 'lng' => $lng - $dlng),

      'right-bottom' => array('lat' => $lat - $dlat, 'lng' => $lng + $dlng)
);

select ROUND(6378.138 * 2 * ASIN(SQRT(POW(SIN(($lat * PI() / 180 - lat * PI() / 180) / 2),2) + COS($lat * PI() / 180) * COS(lat * PI() / 180) * POW(SIN(($lng * PI() / 180 - lng * PI() / 180) / 2),2))) * 1000) AS distance from table;

//根本不知道这是什么,记下笔记而已
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: