2017-12-14 9 views
1

RedisのGEORADIUSコマンドを使用します。Redis GREORADIUS:標高を含んでいますか?

ただし、このコマンドは、指定された経度と緯度を中心とする2次元の円の範囲内を検索するだけです。私は高度でも検索する必要があるので、3次元の球の範囲内で結果を見つける必要があります。

Redisでこれをどのように達成できますか?

答えて

4

私はあなたが実際にやろうとしていることは、3D円柱(または地球の球状の性質を考慮に入れればある種の円錐)内での探索であると信じています。

高度検索は、Redisの地理空間インデックスにネイティブに含まれていませんが、そのプロパティを独自のソートセットにスコアとして格納することができます。次に、高度の範囲検索(ZRANGEBYSCORE)を実行し、結果を半径クエリ(ヒント:STOREの結果に一時的なキーを使用)と交差させることができます(ZINTER)。

参考までに、これはxyzsets in geo.luaで行ったアプローチです。

+0

ああええ、私は円柱が検索範囲をよりよく説明していると思います –

関連する問題