redis的geo在redis3.2版本就退出來了推算地理位置資訊,兩地之間的距離
可以查詢一些測試資料
#引數 key 緯度,經度 ,名稱
127.0.0.1:6379> geoadd china:city 116.397128 39.916527 beijin
(integer) 1127.0.0.1:6379> geoadd china:city 121.48941 31.40527 shanghai
(integer) 1
127.0.0.1:6379> geoadd china:city 106.54041 29.40268 chongqing
(integer) 1
127.0.0.1:6379> geoadd china:city 113.88308 22.55329 shenzhen
(integer) 1
127.0.0.1:6379> geoadd china:city 108.93425 34.23053 xian
(integer) 1
geopos
127.0.0.1:6379> geopos china:city beijin chongqing xian # 獲取指定城市的經度和緯度
1) 1)
"116.39712899923324585"
2)"39.91652647362980844"
2) 1)
"106.54040783643722534"
2)"29.40268053517299762"
3) 1)
"108.93425256013870239"
2)"34.23053097599082406"
127.0.0.1:6379>
geodist
127.0.0.1:6379> geodist china:city beijin shanghai #查詢北京到上海的距離
"1052105.5643"
127.0.0.1:6379> geodist china:city beijin shanghai km #查詢北京到上海的距離 km顯示
"1052.1056"
georadius
# 以110 和 30 經緯度為中心 ,尋找1000km內的城市
127.0.0.1:6379> georadius china:city 110 30 1000 km
1)"chongqing"
2)"xian"
3)"shenzhen"
127.0.0.1:6379> georadius china:city 110 30 500 km
1)"chongqing"
2)"xian"
127.0.0.1:6379> georadius china:city 110 30 500 km withdist
1) 1)
"chongqing"
2)"340.7667"
2) 1)
"xian"
2)"481.1278"
127.0.0.1:6379> georadius china:city 110 30 500 km withcoord
1) 1)
"chongqing"
2) 1)
"106.54040783643722534"
2)"29.40268053517299762"
2) 1)
"xian"
2) 1)
"108.93425256013870239"
2)"34.23053097599082406"
# 篩選出指定的結果
127.0.0.1:6379> georadius china:city 110 30 500 km withdist withcoord count 1
1) 1)
"chongqing"
2)"340.7667"
3) 1)
"106.54040783643722534"
2)"29.40268053517299762"
# withdist 距離
# withcoord 經度緯度
127.0.0.1:6379> georadius china:city 110 30 500 km withdist withcoord count 2
1) 1)
"chongqing"
2)"340.7667"
3) 1)
"106.54040783643722534"
2)"29.40268053517299762"
2) 1)
"xian"
2)"481.1278"
3) 1)
"108.93425256013870239"
2)"34.23053097599082406"
georadiusbymember
# 找出位於指定元素周圍的其他元素
127.0.0.1:6379> georadiusbymember china:city beijin 1000 km
1)"beijin"
2)"xian"
127.0.0.1:6379>
geohash
#將二維的維度轉換為一維的字串,如果兩個字串越接近,那麼距離越近
127.0.0.1:6379> geohash china:city beijin shanghai
1)"wx4g0dtf9e0"
2)"wtw6st1uuq0"
127.0.0.1:6379>
geo 底層的實現原理就是zset 我們可以使用zset命令來操作geo
#檢視地圖中全部的元素(城市)
127.0.0.1:6379> zrange china:city 0 -1
1)"chongqing"
2)"xian"
3)"shenzhen"
4)"shanghai"
5)"beijin"
127.0.0.1:6379> zrem china:city beijin
(integer) 1
127.0.0.1:6379> zrange china:city 0 -1
1)"chongqing"
2)"xian"
3)"shenzhen"
4)"shanghai"
Redis中Geospatial地理位置詳解
朋友的定位,附近的人,打車距離計算?redis的geo 在redis3.2 版本就推出了!這個功能可以推算地理位置的資訊,兩地之間的距離,方圓幾里的人!可以查詢一些測試資料 只有6個命令 getadd getpos 獲得當前定位 一定是乙個座標值!兩人之間的距離!單位 m 表示單位為公尺。km 表示...
特殊資料型別 Geospatial地理位置
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 63...
洋山港 地理位置
洋山港區位於浙江省嵊泗縣境內。由大洋山港口區和小洋山港口區組成。可供開發的深水岸線4900公尺,是上海國際航運中心的深水港區。位於嵊泗海域西部大洋山島的北岸。東北距縣城21.41海浬,西北距上海市蘆潮港18.9海浬。大洋山島海岸線總長16697公尺 其中基岩10214公尺 可利用岸線3200公尺,聖...