MySQL中怎么计算两个坐标点的距离

这篇文章给大家介绍MySQL中怎么计算两个坐标点的距离,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

站在用户的角度思考问题,与客户深入沟通,找到荣县网站设计与荣县网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:做网站、成都做网站、企业官网、英文网站、手机端网站、网站推广、域名与空间、雅安服务器托管、企业邮箱。业务覆盖荣县地区。

-- 定义计算距离的函数
delimiter $
drop function if exists earth_distance$
create function earth_distance ( latitude1 float, longitude1 float, latitude2 float, longitude2 float )
returns float
begin
  set @radius = 6371000;
 set @rad = pi()/180.0;
 set @lat1 = latitude1 * @rad;
 set @lng1 = longitude1 * @rad;
 set @lat2 = latitude2 * @rad;
 set @lng2 = longitude2 * @rad;
 set @theta = @lng2 - @lng1;
 set @dist = acos(sin(@lat1) * sin(@lat2) + cos(@lat1) * cos(@lat2) * cos(@theta));
 return @dist * @radius;
end$

关于MySQL中怎么计算两个坐标点的距离就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。


当前文章:MySQL中怎么计算两个坐标点的距离
文章转载:http://hbruida.cn/article/gghcig.html