首先,我要感谢你花时间阅读我的问题。
我的计划是在dynamodb中为我的人员记录添加纬度和经度记录,然后使用geo库(最好用nodejs编写)来计算给定半径内的附近人员。因此,例如,该计划仅从50英里半径返回人员。
到目前为止,我尝试的唯一地理库允许我将lat和long传递给它并确认它是否在给定的半径范围内。这个问题是我必须循环我的整个dynamodb表来获得结果。有没有相反的功能,我将一个latlong点和半径传递给geo库然后geo库传递了一些lat和long边界,这样我就可以很容易地将它查询到dynamodb(例如(lat<: latboundary1 AND lat>:latboundary 2)AND(long<:longboundary1 AND long&gt ;:longboundary 2))
答案 0 :(得分:6)
This nodejs library提供了一个基于点和半径计算边界框的函数。您可以使用返回的SW和NE点进行查询。
.boundingCoordinates(distance,radius,inKilometers):计算距离点的距离的边界坐标,并返回带有边界框的SW和NE点的数组。如果未提供半径,则将使用地球的半径。除非inKilometers为真,否则距离以英里为单位计算