计算两个GPS坐标的距离

PHP计算两个GPS点之间的距离

调用方法:

 

Mysql计算两GPS坐标的距离

@ localhost FUNCTION getDistance(
lng1 float(10,7)
,lat1 float(10,7)
,lng2 float(10,7)
,lat2 float(10,7)
) RETURNS double
begin
declare d double;
declare radius int;
set radius = 6378140; #假设地球为正球形,直径为6378140米
set d = (2*ATAN2(SQRT(SIN((lat1-lat2)*PI()/180/2)
*SIN((lat1-lat2)*PI()/180/2)+
COS(lat2*PI()/180)*COS(lat1*PI()/180)
*SIN((lng1-lng2)*PI()/180/2)
*SIN((lng1-lng2)*PI()/180/2)),
SQRT(1-SIN((lat1-lat2)*PI()/180/2)
*SIN((lat1-lat2)*PI()/180/2)
+COS(lat2*PI()/180)*COS(lat1*PI()/180)
*SIN((lng1-lng2)*PI()/180/2)
*SIN((lng1-lng2)*PI()/180/2))))*radius;
return d;
end
$$
DELIMITER ;
select getDistance(116.3899,39.91578,116.3904,39.91576); #调用函数

Mysql计算两GPS坐标的距离SQL语句:

错误及解决方法:

在创建函数前报如下错误:

解决方法:

在创建函数前执行下面SQL语句:

或者修改my.cnf文件并重启mysqld服务:

Javascript计算两个GPS坐标的距离

 

浏览量: 11

latpisin