MSSQL 根据经纬度查询距离

转载 2016年08月31日 12:42:38
ALTER FUNCTION [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=6371.004*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



SELECT *,GetDistance(当期点的经度,当期点的纬度,经度字段,纬度字段) AS dis FROM TABLENAME   WHERE dis<5

查找数据库中5公里内的记录


注:

6371.004  地球半径

6371.004*ACOS(SIN(@GPSLat/180*PI())*SIN(@Lat/180*PI())+COS(@GPSLat/180*PI())*COS(@Lat/180*PI())*COS((@GPSLng-@Lng)/180*PI()))  计算公式 可查球面弧长计算公式的详细解释



原文:http://www.cnblogs.com/drinkoJam/p/3594416.html

相关文章推荐

经纬度距离查询优化实例

最近参与开发一个SNS类型的社交程序,里面要记录用户的经纬度,还要按照某个已知位置查询附近的用户,这类应用在社交类产品里面算最常见的了,起初在网上搜索了一下,没找到同类文章,为了实现根据一个已知位置(...
  • oldworm
  • oldworm
  • 2012年02月21日 00:24
  • 3876

根据经纬度算出距离

  • 2015年01月10日 15:21
  • 3KB
  • 下载

依据地图上的经纬度坐标计算某个点到多边形各边的距离

http://www.th2w.com/article/85 依据地图上的经纬度坐标计算某个点到多边形各边的距离 最近公司有一个需求:依据地图上的经纬度坐标计算某个点到多边...

根据经纬度计算两地距离小程序

  • 2011年02月23日 23:20
  • 12KB
  • 下载

经纬度算距离的小工具

  • 2010年05月24日 18:12
  • 14KB
  • 下载

根据两点间经纬度坐标(double值)计算两点间距离,LBS操作相关工具类

LBS操作相关工具类

经纬度距离计算小工具

  • 2012年07月23日 15:51
  • 3KB
  • 下载

经纬度距离计算器

  • 2015年08月10日 16:40
  • 119KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:MSSQL 根据经纬度查询距离
举报原因:
原因补充:

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