Sqlserver 计算两坐标距离函数

Posted 天戈朱

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Sqlserver 计算两坐标距离函数相关的知识,希望对你有一定的参考价值。

mark

if exists (select * from dbo.sysobjects where id = object_id(NUF_ETL_GetDistance) and xtype in (NFN, NIF, NTF))
    drop function UF_ETL_GetDistance
GO

CREATE FUNCTION UF_ETL_GetDistance
( 
   @sLng    DECIMAL(12,6),
   @sLat    DECIMAL(12,6),
   @eLng    DECIMAL(12,6),
   @eLat    DECIMAL(12,6)
)
RETURNS DECIMAL(12,4)
AS
BEGIN
   DECLARE @result DECIMAL(12,4)
   SELECT @result = 6378137.0*ACOS(SIN(@sLat/180*PI())*SIN(@eLat/180*PI())+COS(@sLat/180*PI())*COS(@eLat/180*PI())*COS((@sLng-@eLng)/180*PI()))
   RETURN @result/1000
END
go

 

以上是关于Sqlserver 计算两坐标距离函数的主要内容,如果未能解决你的问题,请参考以下文章

如何计算两对坐标(纬度/经度)之间的距离

高德地图计算两坐标之间距离

给定两组坐标,如何计算它们之间的距离?

计算地球上两坐标的距离

怎么计算2个坐标点的距离?

MySQL计算坐标之间距离