我正在设计一个招聘数据库,我需要它来执行几项任务,这些任务都涉及整合距离计算的方法:
1)计算候选人与客户之间的距离?
2)计算在给定日期可工作的候选人的半径范围内的客户?
3)计算在客户半径范围内具有正确职位空缺资格的候选人的数量.
如您所见,我需要通过2种主要方式来计算距离:1)半径2)乌鸦飞翔时,我希望精确的距离,但第一个会做到.
我知道我可以集成Google地图或其他基于Web的地图,但是我希望该系统独立运行,因此无需互联网即可正常运行.
系统将具有HTML5前端,后端位于MysqL和PHP中.
谢谢比亚焦
解决方法:
两点之间的距离可以使用以下公式计算:
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] 举报,一经查实,本站将立刻删除。