这是我想要解决的问题。
客户端通过Node.js应用程序管理的API发送当前位置。Cloudant数据库存储一个坐标列表(几千个)。
获得a)所有坐标的列表和b)每个坐标与客户位置之间的距离( c)位于客户位置的X公里范围内的最佳方法是什么?
已经为这些存储的坐标创建了地理空间索引。
速度和效率是关键,但有时这些可能是相反的品质。如果可能的话,我更愿意在Cloudant中使用本机函数,而不是使用自定义代码。
发布于 2016-06-29 21:52:10
在这个站点上,看起来已经有一些在cloudant中预先构建的地理空间内容:https://docs.cloudant.com/geo.html#geospatial-indexing。
在过去的某个时候,我做了一些不同的事情。我做了一个搜索索引:https://docs.cloudant.com/search.html,这个索引将推出lat & lng。然后,要找到距离某个搜索点25英里以内的任何文档,您可以编写一个lucene查询,将lat从search _lt-25英里、search_lat+25miles和lng从search_ln-25英里、search_lat+25miles限定为lat。使用这种方法,我能够用原始的lat&lng来完成这个任务。看起来cloudant有一些新的功能,使得地理空间搜索也变得更加简单了。
https://stackoverflow.com/questions/38108836
复制相似问题