SQL SERVER 根据地图经纬度计算距离函数

SQL SERVER 根据地图经纬度计算距离函数,第1张

概述SQL SERVER 根据地图经纬度计算距离函数

下面是内存溢出 jb51.cc 通过网络收集整理的代码片段。

内存溢出小编现在分享给大家,也给大家做个参考。

    --计算地球上两个坐标点(经度,纬度)之间距离sql函数      --作者:lordbaby      --整理:www.aspbc.com       CREATE FUNCTION [dbo].[fnGetdistance](@LatBegin REAL,@LngBegin REAL,@LatEnd REAL,@LngEnd REAL) RETURNS float        AS      BEGIN        --距离(千米)        DECLARE @distance REAL        DECLARE @EARTH_RADIUS REAL        SET @EARTH_RADIUS = 6378.137          DECLARE @RadLatBegin REAL,@RadLatEnd REAL,@RadLatDiff REAL,@RadLngDiff REAL        SET @RadLatBegin = @LatBegin *PI()/180.0          SET @RadLatEnd = @LatEnd *PI()/180.0          SET @RadLatDiff = @RadLatBegin - @RadLatEnd          SET @RadLngDiff = @LngBegin *PI()/180.0 - @LngEnd *PI()/180.0           SET @distance = 2 *ASIN(SQRT(POWER(SIN(@RadLatDiff/2),2)+COS(@RadLatBegin)*COS(@RadLatEnd)*POWER(SIN(@RadLngDiff/2),2)))        SET @distance = @distance * @EARTH_RADIUS          --SET @distance = Round(@distance * 10000) / 10000          RETURN @distance      END  

    --跟坐标距离小于5公里的数据      SELECT * FROM 商家表名 WHERE dbo.fnGetdistance(121.4625,31.220937,longitude,latitude) < 5  

这里的longitude,latitude分别是酒店的经度和纬度字段,而121.4625,31.220937是手机得到的当前客户所在的经度,后面的5表示5公里范围之内。

以上是内存溢出(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

总结

以上是内存溢出为你收集整理的SQL SERVER 根据地图经纬度计算距离函数全部内容,希望文章能够帮你解决SQL SERVER 根据地图经纬度计算距离函数所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1164435.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-01
下一篇 2022-06-01

发表评论

登录后才能评论

评论列表(0条)

保存