Redis GREORADIUS:包括高度?

时间:2017-12-14 01:57:42

标签: database search redis geolocation altitude

我希望使用Redis'GEORADIUS命令。

但是,此命令仅在给定经度和纬度周围的二维圆的范围内搜索。我还需要用海拔搜索,从而在三维球体的范围内找到结果。

我如何在Redis中实现这一目标?

1 个答案:

答案 0 :(得分:4)

我相信你真正想要做的就是在3D圆柱体内进行搜索(或者如果你考虑到地球的球形性质,可以搜索某种圆锥体)。

海拔搜索并不包含在Redis'中。地理空间索引,但您可以将该属性存储在其自己的排序集中作为分数。然后,您可以对海拔高度执行范围搜索(ZRANGEBYSCORE)并将结果与​​半径查询中的结果进行交叉(ZINTER(提示:使用临时密钥到STORE结果)

供您参考,这是我对xyzsets in geo.lua采用的方法。