redisに基づく位置情報計算(緯度)

2466 ワード

[redisバージョン>=3.2]


緯度情報を書き込む

geoadd key longitude latitude member [longitude latitude member ...]

l 1の位置情報をlocation geoadd location 120.0742 30.2904 l1に書き込む
l 2の位置情報をlocation geoadd location 121.0742 31.2904 l2に書き込む

クエリー指定keyの緯度

geopos key member [member ...]

locationにおけるl 1の位置geopos location l1を取得する
しゅつりょく
1) 1) "120.07420152425765991"
   2) "30.29040071848131532"

2つの場所の計算の例

geodist key member1 member2 [unit]
2つの場所の距離を返し、メートルm(デフォルト)、キロkm、マイルmi、フィートftなどの単位を指定できます.

計算l 1 l 2間の距離geodist location l1 l2しゅつりょく
"146629.3499"

l 1 l 2間の距離km geodist location l1 l2 kmを計算する
しゅつりょく
"146.6293"

中心点半径内の要素の指定


指定中心を座標georadius key longitude latitude radius m|km|ft|mi [WITHCOORD] [WITHDIST] [WITHHASH] [ASC|DESC] [COUNT count]に設定
指定された位置要素georadiusbymember key member radius m|km|ft|mi [WITHCOORD] [WITHDIST] [WITHHASH] [ASC|DESC] [COUNT count]パラメータ
  • WITHDISTは、位置要素を返すと同時に、位置要素と中心との距離も一括して返す.距離の単位とユーザが与える範囲の単位とが一致する
  • .
  • WITHCOORD位置要素の経度と次元も
  • に戻す.
  • WITHHASHは、位置要素が元のgeohash符号化された秩序化された集合スコアを返す.このオプションは主に最下位アプリケーションまたはデバッグに使用され、実際の役割は大きくありません.
  • COUNTが返す必要がある要素の数
  • ASCは、中心の位置に応じて、位置要素
  • を近位から遠位に戻す.
  • DESCは、中心の位置に応じて、位置要素
  • を遠近に戻す.

    取得locationで120.00130.32321を中心とした半径200 km内の要素戻り距離と位置情報を距離昇順に5本のgeoradius location 120.0012 30.2321 200 km WITHDIST WITHCOORD ASC COUNT 5しゅつりょく
    1) 1) "l1"
       2) "9.5517"
       3) 1) "120.07420152425765991"
          2) "30.29040071848131532"
    2) 1) "l2"
       2) "156.1170"
       3) 1) "121.07419878244400024"
          2) "31.29039891026372544"
    
    georadiusbymember location l1 200 km WITHDIST WITHCOORD ASC COUNT 5
    しゅつりょく
    1) 1) "l1"
       2) "0.0000"
       3) 1) "120.07420152425765991"
          2) "30.29040071848131532"
    2) 1) "l2"
       2) "146.6293"
       3) 1) "121.07419878244400024"
          2) "31.29039891026372544"
    

    削除locationでの指定袁術

    zrem key member [member ...]
    例locationのl 3要素zrem location l3の削除