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