查询数据库以获取附近纬度/经度的最佳方式?

Posted

技术标签:

【中文标题】查询数据库以获取附近纬度/经度的最佳方式?【英文标题】:Best way query a database for nearby lat/longs? 【发布时间】:2011-07-15 15:20:12 【问题描述】:

我有一个存储在数据库中的集合或纬度/经度。我想查询数据库并返回另一个纬度/经度范围内的文档。我知道如何确定两组之间的距离,但我不想为数据库中的每个条目都这样做。实现这一目标的最佳方法是什么?

非常感谢。

【问题讨论】:

【参考方案1】:

也许你可以使用Geospatial Indexing 来实现这个...

如果这不好,我实际上构建了一个 node.js 插件来执行最近邻搜索,称为 node-kdtree。它可用于查找最近的 n 点,并且速度相当快,因为​​它只是底层 C 库的包装器。但听起来这对于您的需求来说是一个糟糕的选择,因为您必须先将所有数据从数据库中提取出来才能处理它。由于我掌握的信息有限,建议您先尝试使用 mongodb 的内置功能。

【讨论】:

以上是关于查询数据库以获取附近纬度/经度的最佳方式?的主要内容,如果未能解决你的问题,请参考以下文章

基于纬度/经度查询附近兴趣点的 SQL 查询 - SQLite

使用经度和纬度查找给定距离内的所有附近客户

MySQL:多个纬度和经度的附近位置

我有带有纬度和经度等的表名,现在我想在 mysql 查询中以半径获取数据?

如何从纬度/经度获取附近的位置?

在节点 js mysql 查询中传递经度和纬度和距离作为参数