【问题标题】:Redis GREORADIUS: include altitude?Redis GREORADIUS:包括海拔高度?
【发布时间】:2017-12-14 01:57:42
【问题描述】:

我希望使用 Redis 的 GEORADIUS 命令。

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

如何在 Redis 中实现这一点?

【问题讨论】:

    标签: database search redis geolocation altitude


    【解决方案1】:

    我相信您实际尝试做的是在 3D 圆柱体(或某种圆锥体,如果考虑到地球的球形性质的话)内搜索。

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

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

    【讨论】:

    • 哦,好吧,我认为圆柱体更好地描述了搜索范围
    猜你喜欢
    • 2011-06-19
    • 1970-01-01
    • 1970-01-01
    • 2014-12-30
    • 2018-10-03
    • 1970-01-01
    • 2012-04-11
    • 2011-09-13
    • 1970-01-01
    相关资源
    最近更新 更多