sql server 计算两个经纬度点之间的距离

转载 2018年01月13日 17:14:55

这里用到的算法和地球半径等数据均来自网络,此文只作整理记录。

地球半径值采用赤道半径 6378137.0米,这是1980年的国际标准数据。

下面是在数据库中写的自定义函数,传入两个经纬度点的数据,共4个参数,返回以米为单位的两点之间的距离

CREATE FUNCTION [f_GetDistance]
( 
@GPSLng DECIMAL(12,6),
@GPSLat DECIMAL(12,6),
@Lng  DECIMAL(12,6),
@Lat DECIMAL(12,6)
)
RETURNS DECIMAL(12,4)
AS
BEGIN
   DECLARE @result DECIMAL(12,4)
   SELECT @result = 6378137.0*ACOS(SIN(@GPSLat/180*PI())*SIN(@Lat/180*PI())+COS(@GPSLat/180*PI())*COS(@Lat/180*PI())*COS((@GPSLng-@Lng)/180*PI()))
   RETURN @result
END
GO


sql server 性能优化和日常管理维护

课程总结sql server运行过程中对系统资源的使用和由此产生性能问题,介绍数据库规划设计、事务和锁的基本知识,如何处理阻塞和死锁,优化索引和读懂统计信息和执行计划等知识,同时详细介绍SQL 2014新功能特性内存优化表、列存储索引、alwayOn高可用。
  • 2016年04月19日 22:30

sqlserver根据经纬度计算两点间距离

  • 2017年10月10日 16:47
  • 1KB
  • 下载

基于sqlserver 实现查询两个经纬度之间的距离

查询两个经纬度之间的距离,可以实现按照距离排序。 --通过经纬度计算两点之间的距离 ALTER FUNCTION [dbo].[fnGetDistanceNew] --LatBegin ...
  • weixin_37852133
  • weixin_37852133
  • 2017-11-30 10:19:19
  • 87

SQL Server地理位置信息计算两点经纬度距离

计算两点距离,4326是空间引用标识符,也可为0 DECLARE @g geography; DECLARE @h geography; SET @g = geography::STGeomFromT...
  • winnyrain
  • winnyrain
  • 2016-06-07 19:10:08
  • 3672

mysql 下 计算 两点 经纬度 之间的距离 含具体sql语句以及伪列作为查询条件实现

在原文的基础上,我新增了sql语句,方便大家理解 mysql距离计算,单位m,以及排序 lon 经度 lat 纬度 一般地图上显示的坐标顺序为,纬度在前(范围-90~90),经度在后...
  • chenyulancn
  • chenyulancn
  • 2017-08-18 15:39:46
  • 420

Java计算两个经纬度点之间距离算法

  • 2015年02月25日 17:52
  • 519B
  • 下载

Sql中根据经纬度计算两点的距离

SqlServer中根据经纬度计算两点之间的距离
  • xiaouncle
  • xiaouncle
  • 2017-02-25 16:54:57
  • 2146

SQL自定义函数--计算两个坐标点间距离

根据经纬度计算地球上两点之间的距离的Sql Server函数,单位是千米。  CREATE FUNCTION dbo.fnGetDistance   (       @LatBegin REAL...
  • tlammon
  • tlammon
  • 2016-04-05 16:39:48
  • 1027

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

前些天客户提出一个这样的要求:一个手机订餐网,查询当前所在位置的5公里范围的酒店,然后客户好去吃饭。 拿到这个请求后,不知道如何下手,静静地想了一下,在酒店的表中增加两个字段,用来存储酒店所在的经度和...
  • smartsmile2012
  • smartsmile2012
  • 2015-04-28 17:52:57
  • 4341

Android_通过两个点的经纬度计算距离

这些经纬线是怎样定出来的呢?地球是在不停地绕地轴旋转(地轴是一根通过地球南北两极和地球中心的假想线),在地球中腰画一个与地轴垂直的大圆圈,使圈上的每一点都和南北两极的距离相等,这个圆圈就叫作“赤道”。...
  • strawberry2013
  • strawberry2013
  • 2013-11-16 14:10:37
  • 4488
收藏助手
不良信息举报
您举报文章:sql server 计算两个经纬度点之间的距离
举报原因:
原因补充:

(最多只允许输入30个字)