Redis数据类型geospatial

geospatial地理位置

朋友的定位。附近的人,打车距离计算?

这个功能可以推算地理位置的信息,两地之间的距离,方圆几里的人

getadd命令

#getadd 添加地理位置

#规则:两级无法直接添加。我们一般会下载城市数据,直接通过java程序-“次性导入!

#有效的经度从-180度到180度。

#有效的绑度从-85.05112878度到85. 05112878度。

#当坐标位置超出上述指定范围时。该命令将会返目一个错误。

#参数key值()

127.0.0.1:6379> geoadd china:city 116.40 39.90 beijing

(integer) 1

127 0.0.1:6379> geoadd china:city 121.47 31.23 shanghai

(integer) 1

127.0.0. 1:6379> geoadd china:city 106.50 29.53 chongqi 114.05 22. 52 shengzhen

(integer) 2

127.0.0.1:6379> geoadd china:city 120.16 30.24 hangzhou 108.96 34.26 xian

(integer) 2

getpos

127.0.0. 1:6379> GEOPOS china:city beijing # 获取指定的城市的经度和纬度!

1) 1) "116 .3999896287918091"

2) "39 , 000009167092543"

127.0.0. 1:6379> GEOPOS china:city beijing chongqi

1) 1) "116 .39999896287918091"

2) "39 。9000009167092543"

2) 1) "106. 49999767541885376"

2) "29. 52999957900659211”

GEODIST

两人之间的距离!

单位:

●m表示单位为米。

●km表示单位为干米。

●mi表示单位为英里。

●ft表示单位为英尺。

127.0.0. 1:6379> GECOIST china:city beijing shanghai km # 查看上海到北京的直线距离

"1067. 3788”

127.0.0. 1:6379> GECOIST china:city beifing chongqi km中 查看重河北京的直线距离

“1464.0708"

georadius 以给定的经纬度为中心,找出某一半径内的元素

我附近的人? (获得所有附近的人的地址,定位! )通过半径来查询!

获得指定数量的人, 200

所有数据应该都录入: china:city ,才会让结果更加请求!

127.0.0. 1:6379> GEORADIUS china:city 110 30 1000 km萨 以110. 30 这个经纬度为中心,寻找方网1000km内的城市

1) "chongqi"

2) "xian"

3) "shengzhen"

4) "hangzhou"

127.0. 0.1:6379> GEORADIUS china:city 110 30 500 km

1) "chongqi"

2) "xian"

127.0.0.1:6379> GEORADIUS china:city 110 30 500 km wi thdist

1) 1) "chongqi"

2) “341.9374"

2) 1) "xian"

2) "483. 8340"

127.0.0. 1:6379> GEORADIUS china:city 110 30 500 km withcoord

1) 1) "chongqi"

2) 1) " 106. 4999767541885376"

2) "29. 52999957900659211"

2) 1) "xian"

2) 1)“108 . 6000176668167114"

2)“34. 25999964418929977"

127.0.0.1:6379> GEORADIUS china:city 110 30 500 km withdist withcoord count 1 #筛选出指定的结果!

1) 1) "chongqi"

2)“341.9374"

3) 1)“106 .49999767541885376"

2) "29. 52999957900659211"

127.0.0.1:6379> GEORADIUS china:city 110 30 500 km withdist withcoord count 2

1) 1) "chongqi"

2) "341. 9374"

3) 1) "106. 49999767541885376"

2)“29. 52999957900659211”

2) 1) "xian"

2)“483. 8340"

3) 1) "108. 96000176668167114"

2)“34. 25999964418929977"

GEORADIUSBYMEMBER

#找出位于指定元素周团的其他元素!

127.0. 0.1;6379> GEORADIUSBYNENBER china:city beijing 1000 km

1) "beijing"

2) "xian"

127.0. 0.1:6379> GEORADIUSBYNEMBER china:city shanghai 400 km

1) "hangzhou"

2) "shanghai"

GEOHASH命令。 返回一个或多个位置元素的Geohash表示

该命令将返回11个字符的Geohash字符串!

#并将二维的经纬度转换为一维的字符串

127.0.0.1:6379> geohash china:city beijing chongqi

1) "wx4fbxxfke0"

2) "wm5xzrybtyO"

GEO底层的实现原理其实就是Zset !我们可以使用Zset命令来操作geo !

127. 0.0.1:6379> ZRANGE china:city 0 -1 #查看地图中全部的元素

1) "chongqi"

2) "xian"

3) "shengzhen"

4) "hangzhou"

5) "shanghai"

6) "beijing"

127. 0.0.1:6379> zrem china:city beijing #移除指定元素!|

Cinteger) 1

127.0.0.1:6379> ZRANGE china:city 0 -1

1) "chongqi”

2) "xian"

3) "shengzhen"

4) "hangzhou"

5) "shanghai"

版权声明:
作者:lichengxin
链接:https://www.techfm.club/p/89800.html
来源:TechFM
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>