计算距离

-1 php gis html5 distance geospatial

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

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

2)在任何一天的工作候选人范围内计算客户?

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

你可以看到我需要以两种主要方式计算距离1)半径2)随着乌鸦飞行,我宁愿准确的距离,但第一个会做.我知道我可以集成谷歌地图或其他一些基于网络的映射,但我希望系统独立,这样它可以在没有互联网连接的情况下运行.系统将有一个HTML5前端,后端是在Mysql和PHP中.

谢谢biagio

gru*_*unk 7

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

6371*acos(cos(LatitudeA)*cos(LatitudeB)*cos(longitudeB-longitudeA)+sin(LatitudeA)*sin(latitudeB))
Run Code Online (Sandbox Code Playgroud)

当然这是Km中的"乌鸦飞行"近似值.

可以通过以下方式翻译成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 ;
Run Code Online (Sandbox Code Playgroud)

通过它,您可以计算两个点(人)之间的距离,当然还可以确定一个点是否在另一个点的半径内.