php-计算距离

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

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 ;

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

上一篇:纬度和经度MySQL字段类型


下一篇:Python测试点是否在矩形中