其他分享
首页 > 其他分享> > 2021-05-30

2021-05-30

作者:互联网

Redis——GEO(六)

GEO,可以将用户给定的地理位置信息存储起来。GEO是由于地理位置距离排序算法GeoHash而得名。将二维的经纬度映射到以为的整数,也就是挂载到一条线上,方便计算两点之间的举例。实际的内部结构是zset。

原理:映射算法,将地球看成一个二维平面,划分成一系列正方形方格。所有地图坐标都别放置于唯一的方格中。然后进行整数编码,编码越近的方格越近。

相关的命令:

1、geoadd + key + 经度 + 纬度 + 地名 通过经纬度存储地址,可以存储多个。

2、geodist + key + 地名1 + 地名2 + 距离单位 这里的地名,是上面存储时存入的地名,另外,距离单位支持:m(米)、km(千米)、mi(英里)、ft(英尺)。

3、geopos + key + 地名 查询成员经纬度位置

4、geohash + key + 地名 进行哈希编码,返回编码结果。

5、georadius + key + 中心纬度 + 中心经度 + 半径距离 + 半径单位

以某个经纬度为中心,指定一个半径,画一个圆,返回在圆内的地址单位。地图附近的XXX就是一种实现的方式。

georadius + key + 中心纬度 + 中心经度 + 半径距离 + 半径单位 后面可以添加可选参数,一共是三个:

1)withdist 返回距离

2)withcoord 返回经纬度

3)withhash 返回hash编码

标签:编码,经纬度,05,30,距离,2021,key,半径,地名
来源: https://blog.csdn.net/qq_42251944/article/details/117396710