node.js - Cloudant 中的距离计算

标签 node.js mapreduce geospatial cloudant euclidean-distance

这是我试图解决的问题。

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

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

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

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

最佳答案

在网站上查看,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_lng-25miles, search_lat+25miles]。 使用这种方法,我能够使用原始纬度和经度来做到这一点。看起来 cloudant 有一些新功能可以使地理空间搜索变得更加简单。

关于node.js - Cloudant 中的距离计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38108836/

相关文章:

node.js - 如何在没有管理员的情况下在 Mac 上下载 Node.js

node.js - Discord 斜杠命令的交互失败

node.js - 得到意想不到的token,求解释

r - 如何在Rhadoop中的rmr map reduce中捕获R后台代码

hadoop - 集群中多个文件的并行处理

javascript - 在node.js中获取http状态码

java - Java中泛型这 block 怎么理解?

python - 带有 python 和 matplotlib 中线条的地理数据图/ map

javascript - 检查一个多边形是否与 Turf.js 中的另一个多边形相交

iphone - 用于确定纬度/经度坐标集合的最小边界矩形的算法