码迷,mamicode.com
首页 > 数据库 > 详细

附近的人计算方法-----使用mysql脚本计算方法

时间:2014-08-13 18:46:17      阅读:222      评论:0      收藏:0      [点我收藏+]

标签:blog   使用   os   io   ar   2014   cti   log   

附近的人计算方法
drop  function if exists getDistance;
DELIMITER $$  
CREATE DEFINER=`root`@`localhost` FUNCTION `getDistance`(
     lon1 float(10,7) 
    ,lat1 float(10,7)
    ,lon2 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((lon1-lon2)*PI()/180/2)   
        *SIN((lon1-lon2)*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((lon1-lon2)*PI()/180/2)   
        *SIN((lon1-lon2)*PI()/180/2))))*radius;
    return d;
end
$$
DELIMITER ; 
select getDistance(116.3899,39.91578,116.3904,39.91576);

附近的人计算方法-----使用mysql脚本计算方法,布布扣,bubuko.com

附近的人计算方法-----使用mysql脚本计算方法

标签:blog   使用   os   io   ar   2014   cti   log   

原文地址:http://blog.csdn.net/hfmbook/article/details/38540669

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!