码迷,mamicode.com
首页 > 数据库 > 详细

在数据库中根据经纬度查找数据中所有附近的经纬度点

时间:2015-08-16 21:02:33      阅读:386      评论:0      收藏:0      [点我收藏+]

标签:

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

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

SELECT *,dbo.GetDistance(某一点的经度,某一点的纬度,数据库中经度,数据库中纬度)AS dis FROM 表名   dis<5

转载:http://blog.csdn.net/ecdyf1989/article/details/8077943/

在数据库中根据经纬度查找数据中所有附近的经纬度点

标签:

原文地址:http://www.cnblogs.com/zhulinfeng/p/4734835.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!