首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >比较数据库中获取邻近GeoPoints或GeoLocations的有效方法

比较数据库中获取邻近GeoPoints或GeoLocations的有效方法
EN

Stack Overflow用户
提问于 2014-06-29 23:23:02
回答 1查看 263关注 0票数 0

比较在数据库中获取附近GeoPoints或GeoLocations的有效方法。

假设我有超过100万个用户的Geo点,其各自的纬度和经度存储在一个以十进制形式存储的数据库中。我想知道,考虑到我存储了这么多Geo点,这两种方法对于在给定半径内获取用户附近的位置是否同样有效。

方法1:我读到我可以使用空间数据库,但从未使用过。(我能方便地执行CRUD操作吗?)

方法2:(这是我希望做的,因为我从来没有使用过空间数据库),我希望使用nosql数据库存储100多万不同用户的纬度和经度,以小数表示。

然后在给定位置周围获取边界圆或矩形,然后在边界圆中查询数据库中的GeoPoints。请参考这个。

然后根据距离中心地理点的距离计算和排序地理点。

另外,我也很高兴知道:我正在开发一个android应用程序,比如uber或其他出租车服务,让用户可以在附近找到出租车的位置。现在,我希望将所有用户位置存储在数据库中,并使用上述任何一种方法获得附近的用户。如果有更好的办法,请告诉我。谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-06-29 23:29:11

您的标签非常离题,因为数据库很可能位于服务器上,而不是应用程序中。

Postgresql允许您在坐标上构建索引,这些坐标是根据给定点的距离来优化查找的。其他变量可能也允许这样做。其他数据库也可能允许这样做。这很简单也很有效率。

否则,您确实可以将您的空间分割成正方形,并查看正确的正方形(在大多数情况下是相邻的),以避免每次查看整个数据库。工作要多一点,效率不高。整个困难在于为正方形(或矩形)找到合适的大小。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24481147

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档