geosearch
GEOSEARCH
Redis 開発者教育の申込
|
Redis 定期点検/技術サポートRedis Technical Support |
Redis エンタープライズサーバーRedis Enterprise Server |
|---|
GEOSEARCH 照会
指定した都市または座標で周辺都市を検索します。
このコマンドは georadiusbymember と georadius コマンドの代わりに使用できます。
Example: テストデータの入力
| コマンド> | GEOADD map 126.97796919999996 37.566535 seoul |
| コマンド> | GEOADD map 126.70520693063735 37.4562551 incheon |
| コマンド> | GEOADD map 127.38454750000005 36.3504119 daejeon |
| コマンド> | GEOADD map 129.07564160000004 35.1795543 busan |
都市または座標の指定
これは必須入力です。
- FROMMEMBER: 都市を基準に検索する場合に使用します。
- FROMLONLAT: 座標(経度、緯度)を基準に検索する場合に使用します。
半径(円)または四角形(box)の入力
これは必須入力です。
- BYRADIUS: 円の半径で検索します。
- BYBOX: 四角形の高さ(height)と幅(width)で検索します。
- 距離は m(meter), km(kilometer), ft(feet), mi(mile) で入力できます。
Example: FROMMEMBER, BYRADIUS
| コマンド> | GEOSEARCH map FROMMEMBER seoul BYRADIUS 200 km |
| 結果> |
1) "incheon" 2) "seoul" 3) "daejeon" |
| コマンド> | GEOSEARCH map FROMMEMBER seoul BYRADIUS 200 km asc |
| 結果> |
1) "seoul" 2) "incheon" 3) "daejeon" |
| コマンド> | GEOSEARCH map FROMMEMBER seoul BYRADIUS 200 km asc withcoord |
| 結果> |
1) 1) "seoul" 2) 1) "126.97797149419784546" 2) "37.56653579238348328" 2) 1) "incheon" 2) 1) "126.70520693063735962" 2) "37.45625514418296831" 3) 1) "daejeon" 2) 1) "127.38454610109329224" 2) "36.3504120662288841" |
| コマンド> | GEOSEARCH map FROMMEMBER seoul BYRADIUS 200 km asc withdist |
| 結果> |
1) 1) "seoul" 2) "0.0000" 2) 1) "incheon" 2) "27.0112" 3) 1) "daejeon" 2) "140.0080" |
| コマンド> | GEOSEARCH map FROMMEMBER seoul BYRADIUS 200 km asc withhash |
| 結果> |
1) 1) "seoul" 2) (integer) 4077564854912194 2) 1) "incheon" 2) (integer) 4077544197320088 3) 1) "daejeon" 2) (integer) 4074568686606292 |
ASC/DESC
- ASC: 距離が近い順に表示します。
- DESC: 距離が遠い順に表示します。
WITHCOORD/WITHDIST/WITHHASH
- WITHCOORD: 座標(経度、緯度)を表示します。
- WITHDIST: 距離を表示します。
- WITHHASH: ハッシュ値を表示します。
COUNT <count>
項目数を制限するには COUNT オプションを使用します。
BYBOX で検索する場合
Example: FROMMEMBER, BYBOX
| コマンド> | GEOSEARCH map FROMMEMBER seoul BYBOX 200 200 km |
| 結果> |
1) "incheon" 2) "seoul" |
| コマンド> | GEOSEARCH map FROMMEMBER seoul BYBOX 200 200 km asc withdist |
| 結果> |
1) 1) "seoul" 2) "0.0000" 2) 1) "incheon" 2) "27.0112" |
FROMLONLAT で検索する場合
Example: FROMLONLAT
| コマンド> | GEOSEARCH map FROMLONLAT 127 38 BYRADIUS 200 km |
| 結果> |
1) "incheon" 2) "seoul" 3) "daejeon" |
| コマンド> | GEOSEARCH map FROMLONLAT 127 38 BYRADIUS 200 km asc withdist |
| 結果> |
1) 1) "seoul" 2) "48.2515" 2) 1) "incheon" 2) "65.8043" 3) 1) "daejeon" 2) "186.6152" |
| コマンド> | GEOSEARCH map FROMLONLAT 127 38 BYBOX 200 200 km |
| 結果> |
1) "incheon" 2) "seoul" |
| コマンド> | GEOSEARCH map FROMLONLAT 127 38 BYBOX 200 200 km asc withdist |
| 結果> |
1) 1) "seoul" 2) "48.2515" 2) 1) "incheon" 2) "65.8043" |
構文
GEOSEARCH key [FROMMEMBER member] [FROMLONLAT longitude latitude]
[BYRADIUS radius m|km|ft|mi] [BYBOX width height m|km|ft|mi] [ASC|DESC]
[COUNT count [ANY]] [WITHCOORD] [WITHDIST] [WITHHASH]
- このコマンドは version 6.2.0 から使用できます。
- 時間計算量は O(N+log(M)) です。
| << GEOHASH | GEOSEARCH | GEOSEARCHSTORE >> |
|---|
Email
返事がかかってなれば、メールでお知らせします。
