Redis GEOADDコマンド徹底解説 – 地理空間データに要素を作成・追加する方法
このチュートリアルでは、Redisのキーに保存された地理空間値(geospatial value)に要素を作成・追加する方法について解説します。ここではGEOADDコマンドを使用します。
GEOADDコマンドとは
GEOADDコマンドは、キーに格納された地理空間値に対して、1つ以上の地理空間メンバーを追加するためのコマンドです。地理空間値とは、このコマンドによって生成されるソート済みセット(sorted set)のことであり、メンバーは後からGEORADIUSやGEORADIUSBYMEMBERコマンドによる半径検索で取得できる形式で格納されます。
ソート済みセットへの登録には「Geohash」と呼ばれる技術が使われています。この技術では、緯度と経度のビットを交互に配置(interleave)することで、一意の52ビット整数を生成します。この52ビット整数は、ソート済みセットにおけるメンバー名に対応するスコアとして保存されます。
地理空間メンバーは、位置に関する3つの情報、すなわち「経度」「緯度」「名前」で構成されます。そのため、GEOADDコマンドで1つのメンバーを追加するには、第1引数に経度、第2引数に緯度、第3引数に名前を指定します。なお、地理空間値に追加できる座標値には制限があり、EPSG:900913 / EPSG:3785 / OSGEO:41001で定められた有効範囲は以下の通りです。
- 有効な経度の範囲:-180度〜180度
- 有効な緯度の範囲:-85.05112878度〜85.05112878度
この範囲外の座標を追加しようとした場合、コマンドはエラーを返します。
キーがすでにデータストアに存在する場合は、指定されたすべての要素が追加されます。ただし、すでに存在する要素についてはスコアのみが更新され、新規追加としてはカウントされません。キーが存在しない場合は、挿入操作の前に新しいソート済みセットが自動的に作成されます。
構文
redis host:port> GEOADD <keyname> <longitude> <latitude> <name> [longitude latitude name]
戻り値
- (integer): ソート済みセットに新たに追加された要素の数を返します。 (すでに存在しておりスコアのみが更新された要素は含まれません) - エラー: キーが存在するものの、その値がGEOADDコマンドで作成された ソート済みセットではない場合に返されます。
使用例

参考資料
- GEOADDコマンド公式ドキュメント(Redis公式サイト)
以上が、Redisデータストア上の地理空間値に要素を作成・追加する方法の解説でした。この記事が役に立ったと感じたら、ぜひコメント欄でご意見をお聞かせください。また、周囲の方々との共有も歓迎します。
<- Geoコマンド一覧へ戻る
-
Redis GEOHASHコマンドの使い方 – 地理空間データのメンバーからジオハッシュ文字列を取得する方法
このチュートリアルでは、Redisに保存された地理空間値(ジオスペーシャル値)に含まれる1つまたは複数のメンバー(要素)のGeohash文字列を取得する方法を解説します。この目的には、RedisのGEOHASHコマンドを使用します。 GEOHASHコマンドとは GEOHASHコマンドは、キーに保存された地理空間値の中から指定された1つ以上のメンバーに対して、有効なGeohash文字列を返すためのコマンドです。地理空間値はソート済みセット(sorted set)として表現され、GEOADDコマンドを使って登録されます。 Redisは地理空間要素の位置情報(経度・緯度)を、Geohash技術の変種
-
Outlookでメール署名を作成・追加する方法【デスクトップ版・Web版対応】
メールはビジネスにおける中核的なコミュニケーション手段です。メールに署名を追加することで、相手によりプロフェッショナルな印象を与えることができます。本記事では、Office 365ガイドとして、わずか数ステップで署名を設定する方法をご紹介します。なお、署名は専用のOutlookアプリ(デスクトップ版)とOutlook.com(Web版)のどちらでも追加できます。ただし、署名はアカウントと同期されないため、両方のバージョンを使用している場合は、それぞれで署名を作成・設定する必要があります。このガイドでは両方の手順を解説します。Outlook(デスクトップ版)で署名を作成するデスクトップ版のOut