Redis之地理坐标

1. geoadd

geoadd locationset longitude latitude name [longitude latitude name]:将给定的一个或多个经纬度坐标存储到位置集合中,并为这些坐标设置相应的名字
在这里插入图片描述

向位置集合添加坐标的时候,如果用户给定的位置在集合中已经有了与之相关联的坐标,相当于更新坐标


2. geopos

geopos locationset name [name]:返回一个数组作为执行结果,数组中的每个项都与用户给定的位置相对应
在这里插入图片描述


3. geodist

geodist locationset name1 name2:计算两个给定位置之间的直线距离
在这里插入图片描述

  • 指定单位
    在这里插入图片描述

4. georadius

georadius locationset longitude latitude radius unit

  • location_set参数用于指定执行查找操作的位置集合
  • longitude参数和latitude参数分别用于指定中心点的经度和纬度
  • radius参数用于指定查找半径
  • unit参数用于指定查找半径的单位

example:
在这里插入图片描述

建立上面6个城市的地理坐标,以肇庆市的地理坐标为中心点:

在这里插入图片描述
在这里插入图片描述

  1. 返回被匹配位置与中心点之间的距离

在这里插入图片描述

  1. 返回被匹配位置的坐标

在这里插入图片描述

  1. 排序查找结果

在这里插入图片描述
在这里插入图片描述

  1. 限制返回数量

在这里插入图片描述


5. GEORADIUSBYMEMBER

georadiusbymember locationset name radius unit:通过选择位置集合中的一个位置作为中心点指定半径范围内的其他位置

georadius命令以给出的经度纬度作为中心点,georadiusbymember以集合中的位置作为中心点,其他作用与georadius一样


6. geohash

geohash locationset name1 name2 name3....:获得这些位置对应的经纬度坐标的Geohash表示

在这里插入图片描述


7. 使用有序集合命令操作GEO数据

当用户调用GEO命令对位置集合进行操作时,这些命令实际上是在操作一个有序集合

当使用geoadd命令时:

  1. 将经纬度转换为Geohash值(分数)
  2. 将Geohash值(分数)和地名(键)加入到有序集合中

在这里插入图片描述

其他应用与有序集合的命令也可以用于地理坐标集合


参考数目:
《Redis使用手册》 黄健宏

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CodePanda@GPF

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值