Cloudant中的距离计算

这是我正在努力解决的问题。

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

a)所有坐标列表的最佳方法是什么?b)客户位置的每个坐标的距离(c)落在客户位置半径的X公里范围内

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

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

从网站上看,似乎cloudant中已经有一些预先构build的地理空间信息: https ://docs.cloudant.com/geo.html#geospatial-indexing

在过去的某个时候,我做了一些改变。 我做了一个search索引: https : //docs.cloudant.com/search.html这个索引将推出lat&lng。 然后,要查找距离某个search点25英里以内的任何文档,可以编写一个lucene查询,将[search_lat-25miles,search_lat + 25miles]和lng from [search_lng-25miles,search_lat + 25miles]的纬度范围限定为1。 使用这种方法,我可以用raw lat&lng来做到这一点。 看起来cloudant有一些新的function,使地理空间search更简单一些。

Interesting Posts