SQLSERVER 根据地图经纬度计算距离差示例

网络编程 2025-03-23 23:35www.168986.cn编程入门

SQL SERVER 经纬度距离计算函数

朋友们,想要根据地图经纬度计算距离吗?参考下面的公式和代码吧。

```sql

-- 创建经纬度距离计算函数

CREATE FUNCTION [dbo].[fnCalculateDistance]

(

--LatBegin 开始纬度, LngBegin 开始经度, LatEnd 结束纬度, LngEnd 结束经度

@LatBegin FLOAT,

@LngBegin FLOAT,

@LatEnd FLOAT,

@LngEnd FLOAT

)

RETURNS FLOAT -- 返回距离(单位:千米)

AS

BEGIN

-- 声明变量

DECLARE @Distance FLOAT -- 声明距离变量

DECLARE @EarthRadius FLOAT -- 声明地球半径

SET @EarthRadius = 6378.137 -- 设置地球平均半径(单位:千米)

-- 将角度转为弧度

DECLARE @RadLatBegin FLOAT, @RadLatEnd FLOAT, @RadLngDiff FLOAT

SET @RadLatBegin = @LatBegin PI() / 180.0

SET @RadLatEnd = @LatEnd PI() / 180.0

SET @RadLngDiff = (@LngBegin - @LngEnd) PI() / 180.0

-- 计算纬度差异和经度差异

DECLARE @LatDiff FLOAT = @RadLatBegin - @RadLatEnd

上一篇:ASP万用分页程序 下一篇:没有了

Copyright © 2016-2025 www.168986.cn 狼蚁网络 版权所有 Power by