Cloudant中的距离计算

时间:2016-06-29 19:48:04

标签: node.js mapreduce geospatial cloudant euclidean-distance

这是我想解决的问题。

客户端通过Node.js应用程序管理的API发送其当前位置。 Cloudant数据库存储一个坐标列表(几千个)。

最佳获得方式是什么? a)所有坐标AND的列表 b)每个坐标距客户位置的距离 c)落在客户位置的X km半径范围内

已为这些存储的坐标创建了地理空间索引。

速度和效率是关键,但有时这些可能是相反的品质。如果可能的话,我更愿意使用Cloudant中的本机函数而不是自定义代码。

1 个答案:

答案 0 :(得分:1)

在网站上看,云托中已经有一些预构建的地理空间内容: https://docs.cloudant.com/geo.html#geospatial-indexing

过去的某个时候,我做的有点不同。我用搜索索引做到了: https://docs.cloudant.com/search.html 该指数将推出lat& LNG。然后,要查找距离某个搜索点25英里范围内的任何文档,您可以编写一个lucene查询,该查询绑定来自[search_lat-25miles,search_lat + 25miles]的lat和来自[search_lng-25miles,search_lat + 25miles]的lng。 使用这种方法,我可以用原始的lat& lng来做到这一点。看起来cloudant有一些新功能可以使地理空间搜索更加直接。