SQL SERVER 根据地图经纬度计算距离的公式 <div class="codetitle"><a style="CURSOR: pointer" data="85717" class="copybut" id="copybut85717" onclick="doCopy('code85717')"> 代码如下:<div class="codebody" id="code85717"> go --创建经纬度距离计算函数 CREATEFUNCTION [dbo].[fnGetDistance] --LatBegin 开始经度 --LngBegin 开始维度 (@LatBegin REAL,@LngBegin REAL,@LatEnd REAL,@LngEnd REAL) RETURNSFLOAT 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 @Distance的单位为:千米
(编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|