免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123下一页
最近访问板块 发新帖
查看: 17962 | 回复: 28
打印 上一主题 下一主题

微信/陌陌 附近的人 是怎么样实现的? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-09-21 15:13 |只看该作者 |正序浏览
数据库菜鸟,今天玩微信的时候,想到一个问题,感觉很有意思,请大家不吝指教~

微信/陌陌 可以通过 附近的人 来找朋友,
那么应该是把GPS数据存放于数据库中?
怎么设计数据库,可以实现 查找附近的人呢?
怎么样会高效点?

先谢谢各位~~

论坛徽章:
0
29 [报告]
发表于 2014-11-11 17:17 |只看该作者
这个问题可以参考下生物学中的各种网络,找最邻近节点。

使用图形数据库,能够比mysql关系数据库快N倍。

见:
http://www.chinapubmed.net/24135261

论坛徽章:
0
28 [报告]
发表于 2014-11-02 20:05 |只看该作者

另外,GPS给出的数据好像是角度值。。。
的确不能直接计算,除非是把地球压平。。。换算出以某一个坐标点为原点的坐标值,然后。。。。
哈哈,不要在意这些细节~
这些都算是常规问题,模型出来了,找数学公式还是比较容易的。。

论坛徽章:
0
27 [报告]
发表于 2014-11-02 19:54 |只看该作者
找了一下地球表面2点距离的计算公式:

A.B两点,
设若角AOB(球心角)为θ,大球的半径为R,则球面距离为Rθ
球面距离计算公式:d(x1,y1,x2,y2)=r*arccos(sin(x1)*sin(x2)+cos(x1)*cos(x2)*cos(y1-y2))
x1,y1是纬度\经度的弧度单位,r为地球半径
而当y1=y2时,公式就变为:
d=r*|x1-x2|

http://baike.baidu.com/view/1013440.htm?fr=aladdin

论坛徽章:
0
26 [报告]
发表于 2014-11-02 19:45 |只看该作者

的确~~
地理没学好啊~因为在我看来,在1KM内,地表是趋近于平面的
这个具体计算公式可以修正,只是说明原理。

回复 25# sfyj


   

论坛徽章:
1
卯兔
日期:2014-08-02 10:41:01
25 [报告]
发表于 2014-11-01 20:52 |只看该作者
回复 24# 大众推荐


++
gps给的是经纬度是球面坐标,你的勾股定理是平面直角坐标,怎么算啊,你就逗吧。


   

论坛徽章:
0
24 [报告]
发表于 2014-10-31 21:09 |只看该作者

一开始,我也是这样认为,
S=((x1-x2)^2 + (y1-y2)^2)^(1/2)
即 勾股定理
但是为了不暴露我是一个初中生。。。。。

不知道现实中,是怎么样做的呢。。。
或者说,什么样的做法,会更加好?

回复 23# sfyj


   

论坛徽章:
1
卯兔
日期:2014-08-02 10:41:01
23 [报告]
发表于 2014-10-31 15:04 |只看该作者
这是高中地理题,http://www.scmyzx.com.cn/Site/Geography/newsone.asp?id=109
楼上扯什么解法、大数据之类的都暴露学历了

论坛徽章:
1
卯兔
日期:2014-08-02 10:41:01
22 [报告]
发表于 2014-10-31 14:40 |只看该作者
这跟大数据有个毛关系呀。gps定位给出两点经纬度直接就可以计算出两点距离

论坛徽章:
8
综合交流区版块每周发帖之星
日期:2015-12-02 15:03:53数据库技术版块每日发帖之星
日期:2015-10-02 06:20:00IT运维版块每日发帖之星
日期:2015-10-02 06:20:00IT运维版块每日发帖之星
日期:2015-09-14 06:20:00金牛座
日期:2014-10-10 11:23:34CU十二周年纪念徽章
日期:2013-10-24 15:41:34酉鸡
日期:2013-10-19 10:17:1315-16赛季CBA联赛之北京
日期:2017-03-06 15:12:44
21 [报告]
发表于 2014-10-17 11:37 |只看该作者
PG、MongoDB、Redis的解法都有
  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP