| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 829 人关注过本帖
标题:求救:某经纬度点范围内数据的查询
只看楼主 加入收藏
wak2311
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2012-10-18
结帖率:0
收藏
已结贴  问题点数:20 回复次数:3 
求救:某经纬度点范围内数据的查询
求救:菜鸟想查询一个个数据库内某经纬度点范围2公里的数据,不知道怎么编写查询语句?
搜索更多相关主题的帖子: 经纬度 查询 
2012-11-01 21:41
cnfarer
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:179
帖 子:3330
专家分:21157
注 册:2010-1-19
收藏
得分:20 
得先了解相关表结构,不知逻辑何来查询.

★★★★★为人民服务★★★★★
2012-11-03 08:20
像风儿一样
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2012-11-9
收藏
得分:0 
,用select语句,然后设置查询条件,应该就可以了。

相互交流,共同进步!
2012-11-09 09:19
半杯清茶
Rank: 4
等 级:业余侠客
威 望:6
帖 子:39
专家分:297
注 册:2012-11-13
收藏
得分:0 
用这个函数试试!


ALTER FUNCTION dbo.fnGetDistance  
(  
    @LatBegin REAL  
    , @LngBegin REAL  
    , @LatEnd REAL  
    , @LngEnd REAL  
)  
RETURNS FLOAT  
AS  
BEGIN  
    DECLARE @Distance REAL  
    DECLARE @EARTH_RADIUS REAL  
    SET @EARTH_RADIUS = 6378.137  
      
    DECLARE @RadLatBegin REAL, @RadLatEnd REAL, @RadLatDiff REAL, @RadLngDiff REAL  
    SET @RadLatBegin = @LatBegin * PI() / 180.0  
    SET @RadLatEnd = @LatEnd * PI() / 180.0  
    SET @RadLatDiff = @RadLatBegin - @RadLatEnd  
    SET @RadLngDiff = @LngBegin * PI() / 180.0 - @LngEnd * PI() / 180.0  
      
    SET @Distance = 2 * ASIN(SQRT(POWER(Sin(@RadLatDiff / 2), 2) + COS(@RadLatBegin) * COS(@RadLatEnd) * POWER(SIN(@RadLngDiff/2),2)))  
    SET @Distance = @Distance * @EARTH_RADIUS  
    --SET @Distance = Round(@Distance * 10000) / 10000  
      
    RETURN @Distance  
END
2012-11-13 14:37
快速回复:求救:某经纬度点范围内数据的查询
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.042414 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved