Sql server中计算两个百度坐标之间的距离 正确的方法
之前网上有很多方法 但是用了之后实际相差很多
所以自己写了一个
1 CREATE FUNCTION [dbo].[F_GetFar](@A REAL, @B REAL, @C REAL, @D REAL) 2 RETURNS MONEY 3 AS 4 BEGIN 5 --距离(千米) 6 DECLARE @Distance REAL 7 select @A = @A *PI()/180.0 ,@B= @B*PI()/180.0 ,@C = @C *PI()/180.0 ,@D= @D*PI()/180.0 8 SET @Distance =6370.99681*ACos(SIN(@B)*SIN(@D)+COS(@B)*COS(@D)*COS(@C-@A)) 9 RETURN @Distance 10 END 11 GO
北京(116.48374,39.919176)-深圳(113.943634,22.524485) 两点之间的距离
调用方法 select dbo.F_GetFar(116.48374,39.919176,113.943634,22.524485)
返回1948.9799 公里
浙公网安备 33010602011771号