redis GEO 结构 坐标计算
redis geo數(shù)據(jù)結(jié)構(gòu)可以用來(lái)做坐標(biāo)計(jì)算,其底層結(jié)構(gòu)是 sort_set
語(yǔ)法規(guī)則:
geoadd key longitude latitude member [longitude latitude member …]
member通常用某個(gè)具體的地點(diǎn)來(lái)表示,如現(xiàn)在要設(shè)置北京西站和北京南站兩個(gè)地點(diǎn)的經(jīng)緯度,語(yǔ)句如下:
計(jì)算北京西站與北京南站之間的距離,語(yǔ)法為:
geodist key member1 mwmber2 [m|km|ft|mi]
[]內(nèi)為距離的單位
表示北京南站與北京西站之間的距離是5.9381KM。注意這里的距離指的是直線距離。
如果你站在開(kāi)陽(yáng)橋(距北京南站很近,坐標(biāo)為116.380922 39.876327 )邊上,想看一下自己周圍2KM都有什么,你可以這么做
127.0.0.1:6379> GEORADIUS bj 116.380922 39.876327 2 km 1) "bjnz"這表示你周圍2KM有個(gè)北京南站,這個(gè)功能通常用來(lái)做打車業(yè)務(wù)里查詢周圍車輛。
如果把距離放大點(diǎn),改成6KM
這時(shí)會(huì)發(fā)現(xiàn)北京西站 jbxz 也出現(xiàn)在了查詢的結(jié)果集里
總結(jié)
以上是生活随笔為你收集整理的redis GEO 结构 坐标计算的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 双目相机下目标三维坐标计算(四)
- 下一篇: Android开发之模拟器