GEOPOS

从地理空间索引返回成员的经度和纬度。

语法

GEOPOS key [member [member ...]]

引入版本:3.2.0

复杂度摘要:O(1)

返回由 关键 处的有序集合表示的地理空间索引的所有指定成员的位置(经度、纬度)。

给定一个表示地理空间索引的有序集合(使用 GEOADD 命令填充),获取指定成员的坐标通常很有用。当通过 GEOADD 填充地理空间索引时,坐标将转换为 52 位 geohash,因此返回的坐标可能不完全是用于添加元素的坐标,但可能会引入小错误。

该命令可以接受可变数量的参数,因此即使指定了单个元素,它也始终返回位置数组。

必需参数

key

保存地理空间索引(有序集合)的键的名称。

member [member ...]

要返回的经度和纬度的一名或多名成员。

示例

redis> GEOADD Sicily 13.361389 38.115556 "Palermo" 15.087269 37.502669 "Catania"
(integer) 2
redis> GEOPOS Sicily Palermo Catania NonExisting
1) 1) "13.361389338970184"
   2) "38.1155563954963"
2) 1) "15.087267458438873"
   2) "37.50266842333162"
3) (nil)

Redis Software 与 Redis Cloud 兼容性

Redis
软件
Redis
Cloud
说明
✅ 标准
✅ 主动-主动
✅ 标准
✅ 主动-主动

返回值

RESP2

数组回复:一个数组,其中每个元素都是两个元素的数组,表示作为参数传递给命令的每个成员名称的经度和纬度 (x,y)。不存在的元素将报告为数组的 无回复 元素。

RESP3

数组回复:一个数组,其中每个元素都是两个元素的数组,表示作为参数传递给命令的每个成员名称的经度和纬度 (x,y)。不存在的元素将报告为数组的 空回复 元素。

资料来源:Redis 官方 GEOPOS 文档;中文内容参考 Redis 文档许可。