指定位置(经纬度)查询一定范围内的经纬度信息

smthhys 2014-07-24 01:15:05
现需要对用户的一些数据进行分析,每个用户都有若干条记录,每条记录中有用户的一个位置,是用经度和纬度表示的。
还有一个给定的数据库,存储的是一些已知地点以及他们的经纬度,内有N多条的数据,现指定一个经纬度数据,怎么高效的查询出一公里范围内的用户出来,在线等待,,谢各位大侠!
...全文
4221 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Tiger_Zhao 2014-07-25
  • 打赏
  • 举报
回复
引用 2 楼 delphi_shy 的回复:
[quote=引用 1 楼 u013226693 的回复:] 计算两点距离很简单啊,逻辑判断一下不就好了? 1、先判断纬度或经度,如果两者的差的绝对值超出1公里就排除,筛选出1公里内的; 2、根据1的结果,计算两点距离
这个方法不可行哦,那个效率太低,我的数据量非常大[/quote] 效率高不高,数据库设计才是关键。 算你一千万位置记录,放在上海市区,平均每平方公里就是几千。 方法1的圆外切正方形筛选绝对有效。 就算上万好了,一万次距离运算能花多少时间?
backsteet2 2014-07-25
  • 打赏
  • 举报
回复
引用 1 楼 u013226693 的回复:
计算两点距离很简单啊,逻辑判断一下不就好了? 1、先判断纬度或经度,如果两者的差的绝对值超出1公里就排除,筛选出1公里内的; 2、根据1的结果,计算两点距离
挺靠谱,感觉是最简单的判断方法了。
俺是大菠萝 2014-07-24
  • 打赏
  • 举报
回复
看看这个;http://msdn.microsoft.com/zh-cn/magazine/dd434647.aspx
smthhys 2014-07-24
  • 打赏
  • 举报
回复
引用 1 楼 u013226693 的回复:
计算两点距离很简单啊,逻辑判断一下不就好了? 1、先判断纬度或经度,如果两者的差的绝对值超出1公里就排除,筛选出1公里内的; 2、根据1的结果,计算两点距离
这个方法不可行哦,那个效率太低,我的数据量非常大
俺是大菠萝 2014-07-24
  • 打赏
  • 举报
回复
计算两点距离很简单啊,逻辑判断一下不就好了? 1、先判断纬度或经度,如果两者的差的绝对值超出1公里就排除,筛选出1公里内的; 2、根据1的结果,计算两点距离

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧