微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php-计算距离

我正在设计一个招聘数据库,我需要它来执行几项任务,这些任务都涉及整合距离计算的方法

1)计算候选人与客户之间的距离?

2)计算在给定日期可工作的候选人的半径范围内的客户?

3)计算在客户半径范围内具有正确职位空缺资格的候选人的数量.

如您所见,我需要通过2种主要方式来计算距离:1)半径2)乌鸦飞翔时,我希望精确的距离,但第一个会做到.
我知道我可以集成Google地图或其他基于Web的地图,但是我希望该系统独立运行,因此无需互联网即可正常运行.
系统将具有HTML5前端,后端位于MysqLPHP中.

谢谢比亚焦

解决方法:

两点之间的距离可以使用以下公式计算:

6371*acos(cos(LatitudeA)*cos(LatitudeB)*cos(longitudeB-longitudeA)+sin(LatitudeA)*sin(latitudeB))

当然,这是以“公里”为单位的近似值.

Wich可以通过以下方式翻译为PHP

$longA     = 2.3458*(M_PI/180); // M_PI is a PHP constant
$latA     = 48.8608*(M_PI/180);
$longB     = 5.0356*(M_PI/180);
$latB     = 47.3225*(M_PI/180);

$subBA       = bcsub ($longB, $longA, 20);
$cosLatA     = cos($latA);
$cosLatB     = cos($latB);
$sinLatA     = sin($latA);
$sinLatB     = sin($latB);

$distance = 6371*acos($cosLatA*$cosLatB*cos($subBA)+$sinLatA*$sinLatB);
echo $distance ;

这样,您可以计算两个点(人)之间的距离,当然可以确定一个点是否在另一个半径范围内.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐