开发者社区> 问答> 正文

如何为实时性应用存取经纬度?

Hi,现在做的东西需要实时存储用户的经纬度,然后要求能快速得到某个指定经纬度附近的用户的列表。
我的问题是:

以什么形式存储经纬度比较好?
怎么找出数据库里距离某经纬度比较近的其它用户?
需要用redis之类的nosql db么?
PS: 我现在的后台用django写的,数据库用的mysql。

展开
收起
a123456678 2016-06-28 18:14:29 2350 0
1 条回答
写回答
取消 提交回答
  • screenshot


    不需要用到redis作经纬度查询,当然你做缓存除外。实际上我们在黑客马拉松就做过一个类似的项目,它的核心思想就是取出当前用户所在地点附近的用户。

    我们使用的是MongoDB的Geo索引,这里有详细的介绍http://www.mongodb.org/display/DOCS/G...

    但是我注意到你使用的是mysql,虽然MongoDB能够很方便的实现这一目标,但如果你不想迁移数据库的话,也还是有方法来实现的,当然你得有思想准备,此方法可能比较曲折。我以下要说的大部分内容都来自Mysql AB介绍实现geo search的文章。

    首先我们要解决的是把经纬度之差换算成距离之差,这里面涉及到一些角度转换公式,它就是
    screenshot
    screenshot

    2019-07-17 19:48:38
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
HBase2.0重新定义小对象实时存取 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载