/**
* 计算两点之间距离 有少许可以忽略的误差
* 两点不能差距太远 * 适用于 附近商家 附近的人 等距离计算
* @author tony (*****************)
* @param $lat1
* @param $lng1
* @param $lat2
* @param $lng2
* @return string
*/
function pointDistance($lat1, $lng1, $lat2, $lng2)
{
//地球半径
$r = 6367000;
$diffLat = bcsub($lat1, $lat2, 5);
$diffLng = bcsub($lng1, $lng2, 5);
$averageLat = bcdiv(($lat1 + $lat2), 2, 5);
$WEDistance = bcmul(bcmul(deg2rad($diffLng), $r, 5),cos(deg2rad($averageLat)), 5);
$NSDistance = bcmul($r, deg2rad($diffLat), 5);
return bcadd(sqrt($WEDistance * $WEDistance + $NSDistance * $NSDistance), 0, 2);
}
两点之间距离 PHP版(美团技术博客算法)
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 这两天真是应验了“火象星座水逆期”的说法,丧到不行。具体表现就是什么都不想干,如废柴一般;再想想自己过去的30年光...