计算距离两个经度和纬度之间的戈兰尼和PHP的方法
郎的版本:
复制代码代码如下:包主
进口(
格式化
数学
)
函数主(){
中:= 29.490295
lng1:= 106.486654
LAT2:= 29.615467
lng2:= 106.581515
FMT。Println(earthdistance(LAT1、LAT2,lng1,lng2))
}
返回值单位m
Func EarthDistance(LAT1、LAT2,lng1,lng2 float64)float64 {
float64半径:=(6371000)/ 6378137
RAD:=数学。pi 180
LAT1 = LAT1 * RAD
lng1 = lng1 * RAD
LAT2 = LAT2 * RAD
lng2 = lng2 * RAD
θ:= lng2 - lng1
距离:=数学。Acos(math.sin(LAT1)*数学。罪(LAT2)+数学。因为(LAT1)*数学。因为(LAT2)*数学。cos(θ))
返回距离×半径
}
PHP版:
< PHP
返回值单位m
功能pc_sphere_distance($ LAT1、LAT2 Lon1美元,美元,美元,美元Lon2,半径= 6371000){
$拉德= doubleval(m_pi / 180);
美元doubleval LAT1 =($ LAT1)* $拉德;
分别为doubleval美元($ LON1)* $拉德;
$ LAT2 = doubleval($ LAT2)* $拉德;
美元($ Lon2 Lon2 = doubleval)* $拉德;
美元美元美元Lon1 Lon2θ=;
美元区= ACOS(罪($ LAT1)*罪($ LAT2)+ cos($ LAT1)* cos($ LAT2)* cos($θ));
返回的距离为半径×1000;
}
LAT1 = 29.490295美元;
Lon1 = 106.486654美元;
LAT2 = 29.615467美元;
Lon2 = 106.581515美元;
回声pc_sphere_distance($ LAT1、LAT2 Lon1美元,美元,美元Lon2);
希望本文能帮助您设计语言程序。