查找空间索引中的所有重叠圆圈

时间:2012-05-14 08:55:09

标签: database location geospatial

手机报告的位置是近似的 - 它们包含一个点(长,纬度)和半径 - 也就是说,手机不知道它在哪里,但确实知道它在某个点的某个距离内。

如何将其存储在数据库中?如何在某个其他点的某个半径范围内检索所有这些手机?

(我已经看过MySQL的点类型,但MySQL似乎不喜欢圈子,似乎没有DISTANCE函数;还有其他数据库可以很好地做到这一点吗?)< / p>

1 个答案:

答案 0 :(得分:1)

我建议您将手机存放在Quadtree中。然后,当你想查询一个点时,你可以只对附近的手机进行详尽的搜索,并通过不考虑那些太远的那些来节省时间。我不知道任何正常的数据库应用程序会为你做这件事,但实现起来应该不会太难。