这就是我想解决的问题。
客户端通过Node.js应用程序管理的API发送当前位置。Cloudant数据库存储坐标列表(几千个)。
得到的最佳方法是什么a)所有坐标AND的列表b)每个座标距客户所在位置的距离c)在客户位置X公里半径范围内
已经为这些存储的坐标创建了地理空间索引。
速度和效率是关键,但有时它们可能是相反的品质。如果可能的话,我更喜欢使用Cloudant中的本地函数,而不是自定义代码。
在网站上,看起来已经有一些预先构建的地理空间的东西在cloudant:https://docs.cloudant.com/geo.html geospatial-indexing
在过去的某个时候,我这样做有点不同。我用搜索索引来做:https://docs.cloudant.com/search.html这一指数将使最新的指数消失。液化天然气。然后,要查找距离某个搜索点25英里以内的任何文档,您可以编写一个lucene查询,将lat从[search_lat-25miles, search_lat+25miles]和lng从[search_lat-25miles, search_lat+25miles]绑定。使用这种方法,我可以用原始的lat&&; lng来做到这一点。看起来cloudant还增加了一些新功能,使地理空间搜索更加简单。