使用地理位置确定哪些用户靠近一个用户

时间:2016-03-28 19:44:38

标签: node.js dictionary gps geolocation

我想知道使用地理位置及其GPS坐标来确定和计算哪些用户靠近一个用户的最佳方法是什么。

鉴于主要用户GPS坐标,我知道如何计算一个"边界框"围绕他的位置。我可以为每个用户配置文件在数据库中存储该边界框坐标。但是,如何确定哪些用户靠近发送请求的用户?

是否有任何公式可以让我计算一个"框"在GPS位置周围,给定距离,因此位于THAT框内并应用此公式的每个GPS位置都会呈现相同的框?

这样做可以让我简单地向我的数据库询问哪些用户假装在此框中。

2 个答案:

答案 0 :(得分:1)

您可以在Geospatial Indexes and Queries的帮助下处理地理空间信息。如果我理解正确,$geoWithin 可以帮助你。此运算符选择具有完全在指定形状内的地理空间数据的文档,在您的情况下,它将是用户位置周围的边界框。

答案 1 :(得分:0)

我最终决定使用MongoDB提供的$geoNear广告。 这非常有效,因为我可以设置最小和最大距离。

请注意,在Node.js中使用Mongoose,此功能可通过 Schema.geoNear(...)