Redis Geospatial 地理位置 型別

2021-10-18 03:35:00 字數 2330 閱讀 8051

進度緯度查詢工具

將指定的地理空間位置(經度、緯度、名稱)新增到指定的key中

geoadd 空間 經度 緯度 城市名稱  ..

.. 經度 緯度 城市名稱

geoadd china:city 121.48941 31.40527 shanghai

從key裡返回所有給定位置元素的位置(經度和緯度)

geopos 空間 城市名稱 

geopos china:city shanghai

返回兩個給定位置之間的距離

geodist 空間 城市名稱1  城市名稱2 單位

geodist china:city shanghai beijing km

單位如下:

m 表示單位為公尺。

km 表示單位為千公尺。

mi 表示單位為英里。

ft 表示單位為英呎。

返回乙個或多個位置元素的 geohash 表示

geohash  空間  城市名稱1   城市名稱2 

geohash china:city shanghai beijing

以給定的經緯度為中心, 找出某一半徑內的元素

georadius  空間  經度 緯度  半徑長度  單位  [withcoord進度緯度]

[withdist直線距離]

redis> geoadd sicily 13.361389 38.115556 "palermo" 15.087269 37.502669 "catania"

(integer) 2

redis> georadius sicily 15 37 200 km withdist

1) 1)

"palermo"

2)"190.4424"

2) 1)

"catania"

2)"56.4413"

redis> georadius sicily 15 37 200 km withcoord

1) 1)

"palermo"

2) 1)

"13.361389338970184"

2)"38.115556395496299"

2) 1)

"catania"

2) 1)

"15.087267458438873"

2)"37.50266842333162"

redis> georadius sicily 15 37 200 km withdist withcoord

1) 1)

"palermo"

2)"190.4424"

3) 1)

"13.361389338970184"

2)"38.115556395496299"

2) 1)

"catania"

2)"56.4413"

3) 1)

"15.087267458438873"

2)"37.50266842333162"

redis>

withdist: 在返回位置元素的同時, 將位置元素與中心之間的距離也一併返回。 距離的單位和使用者給定的範圍單位保持一致。

withcoord: 將位置元素的經度和維度也一併返回。

withhash: 以 52 位有符號整數的形式, 返回位置元素經過原始 geohash 編碼的有序集合分值。 這個選項主要用於底層應用或者除錯, 實際中的作用並不大。

命令預設返回未排序的位置元素。 通過以下兩個引數, 使用者可以指定被返回位置元素的排序方式:

asc: 根據中心的位置, 按照從近到遠的方式返回位置元素。

desc: 根據中心的位置, 按照從遠到近的方式返回位置元素。

個命令和 georadius 命令一樣, 都可以找出位於指定範圍內的元素, 但是 georadiusbymember 的中心點是由給定的位置元素決定的, 而不是像 georadius 那樣, 使用輸入的經度和緯度來決定中心點

找出位於指定範圍內的元素,中心點是由給定的位置元素決定

georadiusbymember 空間  城市名稱  半徑長度  單位

洋山港 地理位置

洋山港區位於浙江省嵊泗縣境內。由大洋山港口區和小洋山港口區組成。可供開發的深水岸線4900公尺,是上海國際航運中心的深水港區。位於嵊泗海域西部大洋山島的北岸。東北距縣城21.41海浬,西北距上海市蘆潮港18.9海浬。大洋山島海岸線總長16697公尺 其中基岩10214公尺 可利用岸線3200公尺,聖...

geospatial地理位置

redis的geo在redis3.2版本就退出來了推算地理位置資訊,兩地之間的距離 可以查詢一些測試資料 引數 key 緯度,經度 名稱 127.0.0.1 6379 geoadd china city 116.397128 39.916527 beijin integer 1127.0.0.1 6...

Android 地理位置定位

android官方提供的定位sdk 1.先在manifest.xml中申請許可權 targetsdkversion 為23或者更高的需要動態申請許可權 android name android.permission.access fine location android name android....