以下、本発明の実施形態を、図面を参照して詳細に説明する。
<第1の実施形態>
図1は、本発明の第1の実施形態の位置情報サービスシステムの構成を示すブロック図である。
本実施形態の位置情報サービスシステムは、一つ以上の移動体端末101、複数の環境側測位装置100、測位統合サーバ102、アプリケーションサーバ103、及び、一つ以上の測位系登録端末104を備える。一つ以上の移動体端末101及び複数の環境側測位装置100は、それぞれ、ネットワーク111を介して測位統合サーバ102及びアプリケーションサーバ103に接続される。一つ以上の測位系登録端末104は、ネットワーク111を介して測位統合サーバ102に接続される。
移動体端末101は、測位機能及び通信機能を有する持ち運び可能な小型端末である。例えば、移動体端末101は、出力装置(図示省略)を備え、その出力装置を用いて情報を提示する計算機、又は携帯電話等であってもよい。出力装置とは、例えば、音声を出力するスピーカ又は画像を表示するスクリーンである。
ただし、移動体端末101は、その位置が変化する装置である限り、例えば車載コンピュータ機器のような小型でない装置であってもよい。
本実施形態では、移動体端末101の位置を計測するための複数の測位系が提供される。各測位系において使用される測位方法は、移動体端末101自身がその移動体端末101の位置を計測する方法であってもよいし、移動体端末101の周囲に設置された装置(図1の例では、環境側測位装置100)が移動体端末101の位置を計測する方法であってもよい。
例えば、本実施形態の移動体端末101は、GPSによる測位、すなわち、衛星から受信した測位のための信号を用いてその移動体端末101の現在位置の座標を計算することができる。
さらに、例えば、本実施形態の移動体端末101自身が測位のための信号を送信することもできる。例えば、環境側測位装置100は、移動体端末101が送信した信号を複数の環境側測位装置100が受信した時刻に基づいて、移動体端末101の位置の座標を計算することができる。この場合、環境側測位装置100は、例えば、UWB(Ultra Wide Band)又は無線LANの基地局などであってもよい。
なお、以下の説明において、衛星又は移動体端末101が測位のために送信する信号を測位信号と記載する。GPS衛星が送信する測位信号は、GPS信号とも記載する。
あるいは、移動体端末101が周辺の装置(例えば環境側測位装置100)から測位信号を受信し、その受信の結果を周辺の装置に問い合わせることによって、移動体端末101自身が座標演算を行うことなく、移動体端末101の位置の座標を取得してもよい。
いずれの場合であっても、移動体端末101は、計算した位置の座標又は測位信号に、自身を識別する情報を含めて(又は加えて)送信する必要がある。
以下、移動体端末101が、GPSによる測位機能及びUWBによる測位機能(すなわち、UWBによる測位のための信号を送信する機能)を備える場合を例として説明する。以下の説明において、GPSによる測位が実行される測位系をGPS測位系、UWBによる測位が実行される測位系をUWB測位系と記載する。ただし、GPS及びUWBは説明のための例にすぎない。本発明は、上記以外の測位系にも適用することができる。例えば、UWBによる測位の代わりに無線LANによる測位が実行される場合にも本発明を適用することができる。
本実施形態の移動体端末101は、GPSによる測位によって取得した位置情報を、ネットワーク111を介して測位統合サーバ102に送信する。この位置情報には、少なくとも、その位置情報がGPSによる測位によって取得されたことを示す測位系ID、計算された移動体端末101の位置の座標、及び、移動体端末101を識別する情報が含まれる。
なお、移動体端末101と測位統合サーバ102との間の通信は、どのような手段で実現されてもよい。例えば、移動体端末101が携帯電話端末である場合、移動体端末101は、携帯電話キャリアが提供するインターネット接続サービスを使用して測位統合サーバ102と通信してもよい。あるいは、移動体端末101は、UWB又は無線LANによる通信機能を備え、いずれかの環境側測位装置100を介して測位統合サーバ102と通信してもよい。図1には環境側測位装置100及び移動体端末101が共通のネットワーク111を介して測位統合サーバ102と接続される例を示すが、環境側測位装置100及び移動体端末101がそれぞれ別のネットワークを介して測位統合サーバ102と接続されてもよい。
さらに、移動体端末101は、環境側測位装置100(すなわちUWBの基地局)に測位信号を送信する。この測位信号には、少なくとも、移動体端末101を識別する情報が含まれる。環境側測位装置100は、この測位信号に基づいて取得した位置情報を、ネットワーク111を介して測位統合サーバ102に送信する。この位置情報には、少なくとも、その位置情報がUWBによる測位によって取得されたことを示す測位系ID、計算された移動体端末101の位置の座標、及び、移動体端末101を識別する情報が含まれる。
ただし、一般に、GPSによって測位された座標と、UWBによって測位された座標とは、それぞれ異なる座標系に基づく。本実施形態において、UWBによって測位された座標は、X座標及びY座標(三次元の場合、さらにZ座標)によって特定される直交座標系(いわゆるカーテシアン座標系)に基づく。一方、GPSによって測位された座標は、緯度及び経度(三次元の場合、さらに地球の中心からの距離)によって特定される極座標系に基づく。
さらに、同一の移動体端末101が、測位系ごとに異なる識別子(ID)によって識別される場合がある。例えば、移動体端末101がGPS機能及びUWBの測位機能を備える携帯電話端末である場合、その移動体端末101は、GPS測位系では携帯電話のIDによって、UWB測位系ではUWBのIDによってそれぞれ識別される。無線LANによる測位が実行される場合、移動体端末101はMAC(Media Access Control)アドレスによって識別されてもよい。
後述するように、同一の移動体端末101に関する異なる座標系に基づく座標及び異なるIDは、測位統合サーバ102によって統一的に管理される。
本実施形態の測位統合サーバ102は、汎用の計算機である。測位統合サーバ102の詳細な構成については後述する(図2参照)。
本実施形態の測位統合サーバ102は、測位記録管理部105、測位系変換部106、測位系登録受付部107、測位系データベース(DB)108、測位DB109及びユーザIDDB110を備える。
測位記録管理部105は、移動体端末101及び環境側測位装置100から受信した位置情報を管理するための処理を実行する。一般に、各測位系における測位のタイミングは、他の測位系における測位のタイミングと同期しない。例えば、測位統合サーバ102が移動体端末101から位置情報を受信する間隔と環境側測位装置100から位置情報を受信する間隔とは異なる場合がある。測位記録管理部105は、過去に受信した複数の受信情報を測位DB109に格納し、それらのうち最適なものを使用してもよい。
測位系変換部106は、ある測位系で取得された位置情報を、他の測位系で取得された位置情報に含まれる座標値を変換するための処理を実行する。具体的には、測位系ごとに、取得される座標値が基づく座標系が異なる場合、測位系変換部106は、取得された座標値を、別の座標系に基づく座標値に変換する。この変換のために、測位系変換部106は、測位系DB108に格納された情報を参照する。
測位系登録受付部107は、測位系登録端末104から受信した情報に基づいて、本実施形態の位置情報サービスシステムに新たな測位系を登録するための処理を実行する。具体的には、測位系登録受付部107は、座標系の変換のために必要な情報を測位系DB108に格納する。
測位系DB108には、ある測位系で取得された座標値を、他の測位系の座標系に基づく座標値に変換するために必要な情報が格納される。
測位DB109には、移動体端末101及び環境側測位装置100から受信した位置情報が格納される。
ユーザIDDB110には、各移動体端末101を使用するユーザを識別する情報(ID)と、各移動体端末101のIDと、を対応付ける情報が格納される。
上記の各部が実行する処理の詳細及び各DBに格納されるデータの詳細については後述する。
アプリケーションサーバ103は、測位統合サーバ102と同様、汎用の計算機であってもよい。アプリケーションサーバ103は、移動体端末101等から位置情報を受信し、その位置情報に応じた情報を移動体端末101に送信することができる。これによって、アプリケーションサーバ103は、移動体端末101に対して、移動体端末101の位置情報を利用したサービスを提供する。
例えば、アプリケーションサーバ103は、移動体端末101の位置情報に基づいて、道案内のための情報(例えば移動体端末101の現在位置の周囲の地図データ)をその移動体端末101に送信してもよい。あるいは、アプリケーションサーバ103は、移動体端末101の位置情報に基づいて、その移動体端末101の近くに存在する店舗等に関する情報を検索し、検索された情報をその移動体端末101に送信してもよい。
アプリケーションサーバ103の構成、及び、それによって提供されるサービスは、従来から知られたものであってもよいため、それらについての詳細な説明は省略する。
測位系登録端末104は、例えば、測位統合サーバ102と同様、汎用の計算機であってもよい。システム管理者が位置情報サービスシステムに新たな測位系を追加登録するときに、その測位系で取得された位置情報と他の測位系で取得された位置情報との間の変換のために必要な情報を測位系登録端末104に入力すると、測位系登録端末104は、その情報を、ネットワーク111を介して測位統合サーバ102の測位系登録受付部107に送信する。
ネットワーク111は、ネットワーク111に接続された装置間の通信を可能にするものである限り、いかなる種類のものであってもよい。典型的には、ネットワーク111は、有線LAN、無線LAN、UWB、又はそれらの組み合わせによって実現される。図1には二つのネットワーク111を示したが、これらは単一のネットワークによって実現されてもよい。
図2は、本発明の第1の実施形態の測位統合サーバ102の構成を示すブロック図である。
本実施形態の測位統合サーバ102は、相互に接続されたプロセッサ201、メインメモリ202、入力装置203、出力装置204、インターフェース(I/F)205及び記憶装置206を備える計算機である。
プロセッサ201は、メインメモリ202に格納されたプログラムを実行する。
メインメモリ202は、例えば半導体メモリであり、プロセッサ201によって実行されるプログラム及びプロセッサ201によって参照されるデータを格納する。具体的には、記憶装置206に格納されたプログラム及びデータの少なくとも一部が、必要に応じてメインメモリ202にコピーされる。
入力装置203は、ユーザ又は管理者からの入力を受ける。入力装置203は、例えばキーボード又はマウス等であってもよい。
出力装置204は、ユーザ又は管理者に情報を出力する。出力装置204は、例えば液晶ディスプレイのような画像表示装置であってもよい。
I/F205は、ネットワーク111に接続され、移動体端末101、環境側測位装置100、アプリケーションサーバ103及び測位系登録端末104と通信するインターフェースである。
記憶装置206は、例えばハードディスク装置(HDD)又はフラッシュメモリのような不揮発性の記憶装置である。本実施形態の記憶装置206には、少なくとも、測位記録管理部105、測位系変換部106、測位系登録受付部107、測位系DB108、測位DB109及びユーザIDDB110が格納される。
測位記録管理部105、測位系変換部106及び測位系登録受付部107は、プロセッサ201によって実行されるプログラムである。以下の説明においてこれらの各部が実行する処理は、実際にはプロセッサ201によって実行される。
本実施形態のアプリケーションサーバ103及び測位系登録端末104は、測位統合サーバ102と同様のハードウェアによって実現されるため、その図示及び説明を省略する。
ただし、アプリケーションサーバ103のプロセッサ(図示省略)は、アプリケーションサーバ103のメインメモリ(図示省略)に格納されたアプリケーションプログラム(図示省略)を実行することによって、位置情報を用いたサービスを移動体端末101に提供する。
一方、測位系登録端末104のプロセッサ(図示省略)は、測位系登録端末104のメインメモリ(図示省略)に格納された測位系登録プログラム(図示省略)を実行することによって、新たな測位系を測位統合サーバ102に登録するための処理を実行する。
なお、図1には、測位統合サーバ102、アプリケーションサーバ103及び測位系登録端末104がそれぞれ独立したハードウェアによって実現される例を示したが、これらのうちいずれか二つ又は全部が、一つの計算機によって実現されてもよい。例えば、測位統合サーバ102及びアプリケーションサーバ103が同一のハードウェアによって実現される場合、図2に示す記憶装置206にさらにアプリケーションプログラムが格納され、プロセッサ201によって実行される。
図3は、本発明の第1の実施形態の移動体端末101がアプリケーションサーバ103に位置情報を送信するために実行される通信の手順を示すシーケンス図である。
図3の例において、移動体端末101は、GPS信号に基づいてその移動体端末101の座標値を計測し、計測された座標値を含む位置情報を、ネットワーク111を介して測位統合サーバ102に送信する(ステップ301)。
一方、環境側測位装置100も、移動体端末101から受信した測位信号に基づいて移動体端末101の座標値を計測し、計測された座標値を含む位置情報を、ネットワーク111を介して測位統合サーバ102に送信する(ステップ304)。
移動体端末101は、ネットワーク111を介して、測位統合サーバ102に位置情報の取得要求を送信する(ステップ302)。
この取得要求を受信した測位統合サーバ102は、移動体端末101又は環境側測位装置100から送信された位置情報に基づいて算出された移動体端末101の現在の位置を示す情報を、ネットワーク111を介して移動体端末101に送信する(ステップ303)。
移動体端末101は、測位統合サーバ102から取得した現在の位置を示す情報を、ネットワーク111を介してアプリケーションサーバ103に送信する(ステップ305)。
図示は省略するが、アプリケーションサーバ103は、移動体端末101の現在の位置に基づいて、任意のサービスを移動体端末101に提供することができる。例えば、アプリケーションサーバ103は、移動体端末101の現在の位置の周辺の地図データを移動体端末101に送信してもよい。
移動体端末101は、例えば、最新の位置を通知するため、又は、複数のサービスを受けるために、ステップ302及びステップ305と同様の処理を複数回実行してもよい。図3の例において、移動体端末101は、ステップ305を実行した後、再び測位統合サーバ102に位置情報の取得要求を送信する(ステップ306)。この取得要求を受信した測位統合サーバ102は、上記と同様に、算出された移動体端末101の現在の位置を示す情報を移動体端末101に送信する(ステップ307)。移動体端末101は、測位統合サーバ102から取得した現在の位置を示す情報をアプリケーションサーバ103に送信する(ステップ308)。
なお、移動体端末101がGPS信号に基づいて測位するタイミングと、移動体端末101が送信した測位信号に基づいて環境側測位装置100が測位するタイミングとは、一般には一致しない。さらに、移動体端末101の環境によっては、いずれかの測位系を使用できない場合がある。例えば、GPS信号が届かない場所(屋内等)ではGPS測位系の使用が困難であり、UWBの基地局まで測位信号が届かない場所ではUWB測位系を使用できない。
測位統合サーバ102は、後述するように、受信できた位置情報を蓄積し、蓄積された位置情報のうち最適なものを選択し、選択された位置情報から算出された座標値を移動体端末101の現在位置として保持する。最適な位置情報の選択については後述する(図10参照)。
図3の例において、測位統合サーバ102は、移動体端末101からステップ302の取得要求を受信した時点で、ステップ304の位置情報をまだ受信していない。この場合、測位統合サーバ102は、ステップ301で受信した位置情報に基づいて算出された移動体端末101の位置を、ステップ303において送信してもよい。
一方、測位統合サーバ102は、ステップ306の取得要求を受信した時点で、少なくとも、移動体端末101からステップ301において受信した位置情報、及び、環境側測位装置100からステップ304において受信した位置情報を保持している。この場合、測位統合サーバ102は、二つの位置情報のうち一方を選択し、選択された位置情報に基づいて算出された移動体端末101の位置を、ステップ307において送信してもよい。
図4は、本発明の第1の実施形態において測位統合サーバ102が受信する位置情報の説明図である。
具体的には、図4は、図3のステップ301又はステップ304において移動体端末101又は環境側測位装置100から測位統合サーバ102に送信される位置情報の例を示す。
図4に示す位置情報400は、測位装置ID401、測位系ID402、X座標403、Y座標404及び時刻405を含む。
測位装置ID401は、測位対象の移動体端末101を一意に識別する情報である。位置情報400がGPS測位系において移動体端末101自身によって測位されたものである場合、測位装置ID401は、その移動体端末101のGPS測位系における識別情報(例えば携帯電話ID)である。位置情報400がUWB測位系において環境側測位装置100によって測位されたものである場合、測位装置ID401は、測位の対象である移動体端末101のUWB測位系における識別情報である。
測位系ID402は、位置情報400を取得するために使用された測位手段(すなわち測位系)を識別する情報である。例えば、位置情報400がGPS測位系によって取得された場合、測位系ID402は、GPS測位系を識別する値(例えば「0」)である。一方、位置情報400がUWB測位系によって取得された場合、測位系ID402は、UWB測位系を識別する値(例えば「1」)である。
X座標403及びY座標404は、測位結果として取得された移動体端末101の座標のうち、それぞれ、X座標及びY座標に相当する値である。
なお、本実施形態において、GPS測位系の測定結果は緯度経度で表現できるが、特に変換などをかけなくても経度をX座標、緯度をY座標とみなして扱える。これは、この仮定による誤差が本実施形態の位置情報サービスシステムによって提供されるサービスの品質を低下させるほど大きくないと考えられるためである。ただし、サービスが提供される地域の緯度が高いほど、又は、サービスが提供される範囲が広いほど、上記の近似に起因する誤差が大きくなる。無視できないほどの誤差が発生する場合、誤差の大きい地域(例えば高緯度地域)だけを別の測位系と見なしてもよい。
時刻405は、測位が実行された時刻である。言い換えると、時刻405が示す時刻は、X座標403及びY座標404が示す位置に移動体端末101があった時刻を示す。
さらに、位置情報400は、座標値(すなわちX座標403及びY座標404)の精度を示す情報を含んでもよい。この情報はどのようなものであってもよいが、例えば、測位に用いられた基地局の数であってもよい。測位に用いられた基地局の数とは、GPS測位系の場合、移動体端末101が受信できた測位信号の送信元のGPS衛星の数であり、UWB測位系の場合、移動体端末101が送信した測位信号を受信できたUWB基地局の数である。一般に、測位に用いられる基地局の数が多いほど、得られる座標値の精度は高くなる。
なお、本実施形態は、位置情報サービスシステムにおいて二次元の位置情報が扱われる例を示す。しかし、後述する第2の実施形態のように、位置情報サービスシステムにおいて三次元の位置情報が扱われる場合、位置情報400は、X座標403及びY座標404に加えて、Z座標(図示省略)を含む。Z座標として移動体端末101の標高又は地球の中心からの距離が使用されてもよい。あるいは、Z座標の代わりに、移動体端末101が位置する高さを示す何らかの情報(例えば、移動体端末101が位置する階を示す値)が含まれてもよい。
図5は、本発明の第1の実施形態の測位DB109に含まれるデータの説明図である。
測位DB109には、測位履歴データ500及び現在地データ510が格納される。
測位履歴データ500は、移動体端末101から受信した位置情報を含む。具体的には、測位履歴データ500は、測位キュー管理テーブル501及び測位キュー群502を含む。
測位キュー管理テーブル501は、ユーザIDと、測位キュー群502に含まれる測位キューとを対応付ける。この対応付けは、ユーザIDのハッシュ値を用いて行われてもよい。
測位キュー群502は、複数の測位キューを含む。各測位キューは、測位キュー管理テーブル501によってユーザIDと対応付けられる。各測位キューは、各ユーザIDに対応する移動体端末101の座標値を含む。ただし、本実施形態では、各移動体端末101から複数の測位系に基づく位置情報が取得される。このため、各ユーザIDに複数の測位キューが対応付けられ、各測位キューには、一つの移動体端末の一つの測位系に基づく座標値が格納される。
なお、各測位キューは、キュー構造のデータである。このため、各測位キューには、一つの移動体端末の一つの測位系に基づく複数の座標値が格納される。新たに座標値が取得された場合、その座標値が測位キューに格納される代わりに、その測位キューから、最も古い座標値が削除される。各測位キューに格納される座標値の数は、任意に設定されてもよい。
図5には、例として6個の測位キュー、すなわち、測位キュー502A〜502Fを示す。測位キュー502A及び502BがユーザID「1」に対応する。さらに、測位キュー502AがUWB測位系に、測位キュー502BがGPS測位系に対応する。この場合、測位キュー502Aには、ユーザID「1」に対応する移動体端末101の座標値のうち、UWB測位系によって取得されたもの(例えば(x、y))が格納される。一方、測位キュー502Bには、ユーザID「1」に対応する移動体端末101の座標値のうち、GPS測位系によって取得されたもの(例えば(x、y))が格納される。なお、図5に示す「UID1」は、ユーザIDの値「1」を示す。他のユーザIDの値についても同様である。
図5では省略されているが、測位キューには、上記の座標値に加えて、各座標値が取得された時刻を示す値(すなわち測位が実行された時刻405の値)が格納される。後述するように、各座標値が取得された時刻に基づいて、どの座標値が最も新しく取得されたものであるかを判定すること、及び、各座標値が取得されてから現在までに経過した時間を算出すること、ができる。
さらに、位置情報が各座標値の精度を示す情報を含む場合、その情報も測位キューに格納される。
測位キューに座標値等を格納する処理については、図6及び図8を参照して後述する。
同様に、図5の例では、ユーザID「18」及びUWB測位系に対応する測位キュー502C、ユーザID「18」及びGPS測位系に対応する測位キュー502D、ユーザID「5」及びUWB測位系に対応する測位キュー502E、及び、ユーザID「5」及びGPS測位系に対応する測位キュー502Fが図示される。
現在地データ510は、移動体端末101の現在の(より正確には、最新の)座標を示す情報を含む。具体的には、現在地データ510は、現在地管理テーブル511及び現在地512を含む。
現在地管理テーブル511は、ユーザIDと、各ユーザIDに対応する移動体端末101の現在の座標を格納する現在地512とを対応付ける。この対応付けは、測位キュー管理テーブル501と同様、ユーザIDのハッシュ値を用いて行われてもよい。
現在地512は、各移動体端末101の現在の座標を示す値を格納する。例えば、図5には、現在地512として、現在地512A〜512Cを示す。
現在地512Aには、ユーザID「1」に対応する移動体端末101の現在の座標値(例えば(x、y))が格納される。この座標値は、ユーザID「1」の移動体端末101に対応する測位キュー502A又は502Bに含まれるいずれかの座標値に基づいて取得される。具体的には、測位キュー502Aに含まれる最新の座標値と、測位キュー502Bに含まれる最新の座標値とのうち最適な一方が選択され、選択された座標値を統一座標系における座標値に変換することによって、移動体端末101の現在の座標値が取得される。統一座標系については後述する。
同様に、現在地512B及び512Cには、それぞれ、ユーザID「18」及び「5」に対応する移動体端末101の現在の座標値が格納される。
図6は、本発明の第1の実施形態の測位記録管理部105が位置情報を受信したときに実行する処理を示すフローチャートである。
図6に示す処理は、例えば、図3のステップ301又はステップ304において送信された位置情報を受信した測位統合サーバ102の測位記録管理部105によって実行される。
最初に、測位記録管理部105は、受信した位置情報に含まれる測位装置IDに基づいて、ユーザIDを取得する(ステップ601)。
次に、測位記録管理部105は、受信した位置情報に基づいて、測位キューを更新する(ステップ602)。
次に、測位記録管理部105は、更新された測位キューに基づいて、現在地データを更新する(ステップ603)。
上記の各ステップで実行される処理について、図7〜図12を参照して説明する。
図7は、本発明の第1の実施形態の測位記録管理部105が実行するユーザID取得処理の説明図である。
図7に示すユーザID取得処理は、図6のステップ601において実行される。
ステップ601において、測位記録管理部105は、受信した測位送信データ700に含まれる測位装置ID701を取得する。
測位送信データ700は、測位装置ID701、測位系ID702及び測位データ703を含む。この測位送信データ700は、図4に示す位置情報400に相当する。すなわち、測位送信データ700に含まれる測位装置ID701は図4の測位装置ID401に、測位系ID702は測位系ID402に、測位データ703はX座標403、Y座標404及び時刻405に相当する。位置情報400が高さに関する情報(例えばZ座標)を含む場合、その情報も測位データ703に含まれる。位置情報400が座標の精度を示す情報を含む場合、その情報も測位データ703に含まれる。
測位記録管理部105は、取得した測位装置ID701を検索キーとしてユーザIDDB110を検索する。
ユーザIDDB110には、測位装置ID711とユーザID712とを対応付ける情報が格納される。図7には説明のために一つの測位装置ID711とそれに対応するユーザID712のみを示すが、実際には、複数の測位装置ID711及び複数のユーザID712が格納され、各測位装置ID711がいずれかのユーザID712と対応付けられる。
測位装置ID711は、図4を参照して説明したように、測位対象の移動体端末101を一意に識別する。同様に、ユーザID712も、測位対象の移動体端末101を一意に識別する。ただし、移動体端末101と、それを識別する測位装置ID711との対応が1対1ではなく1対多となり得るのに対し、移動体端末101と、それを識別するユーザID712との関係は1対1となる。
既に説明したように、一つの移動体端末101が、各測位系においてそれぞれ異なるIDによって識別される場合がある。このような場合、一つの移動体端末101を識別するための複数の異なるIDが測位装置ID711として格納され、それらに対応するユーザID712として同一のIDが格納される。
なお、ユーザIDDB110の内容は、あらかじめシステム管理者等によって設定されている必要がある。
測位記録管理部105は、取得した測位装置ID701と同一の測位装置ID711を検索し、その測位装置ID711に対応するユーザID712を取得する。図7には、検索の結果、ユーザID「25」が取得された例を示す。
図8は、本発明の第1の実施形態の測位記録管理部105が実行する測位キュー更新処理の説明図である。
図8に示す測位キュー更新処理は、図6のステップ602において実行される。
最初に、測位記録管理部105は、ステップ601で取得されたユーザIDを検索キーとして、測位キュー管理テーブル501を検索し、そのユーザIDに対応する測位キューを特定する。図8の例では、ユーザID「25」に対応する測位キュー502G及び502Hが特定される。
次に、測位記録管理部105は、特定された測位キューのうち、ステップ601で取得された測位系ID702に対応するものの先頭に、ステップ601で取得された測位データ703の値を格納し、その測位キューの最後尾の測位データを削除する。例えば、測位系ID702が「UWB」であった場合、UWB測位系に対応する測位キュー502Gの先頭に測位データ703の値が格納され、その測位キュー502Gの最後尾の測位データが削除される。
この処理によって、測位データ703に含まれるX座標、Y座標404及び時刻405の値が、測位キューの先頭に格納される。測位データ703が座標の精度を示す情報を含む場合、その情報も測位キューの先頭に格納される。
以上で、測位キュー更新処理が終了する。
図9は、本発明の第1の実施形態の測位記録管理部105が実行する現在地データ更新処理を示すフローチャートである。
図9に示す測位キュー更新処理は、図6のステップ603において実行される。
最初に、測位記録管理部105は、ステップ602において特定された測位キューに含まれる測位データのうち、最も精度が高いと判定されたものを選択し、それを取得する(ステップ901)。この処理の詳細については図10を参照して後述する。
次に、測位記録管理部105は、ステップ901で取得された測位データに含まれる座標値を、統一座標系における座標値に変換する(ステップ902)。この処理の詳細については図11を参照して後述する。
次に、測位記録管理部105は、ステップ902で変換された座標値を現在地データ510に反映させる(ステップ903)。この処理の詳細については図12を参照して後述する。
以上で、測位キュー更新処理が終了する。
図10は、本発明の第1の実施形態の測位記録管理部105が最も精度の高い測位データを取得する処理の説明図である。
図5等に示したように、本実施形態の測位統合サーバ102は、一つの移動体端末101に関する複数の測位系による測位データを取得し、測位キューに保持する。しかし、それらの測位データに含まれる座標値の精度は、移動体端末101の環境等に依存して変化する。
例えば、移動体端末101が屋外にある場合、測位統合サーバ102は、GPS測位系の座標値を取得することができるが、移動体端末101の周囲にUWBの基地局がない場合、UWB測位系の座標値を取得することができない。一方、移動体端末101が、UWBの基地局が設置された屋内にある場合、測位統合サーバ102は、UWB測位系の座標値を取得することができるが、GPS測位系の座標値を取得することは困難である。
移動体端末101が屋内にあっても、窓の近くにある場合等、GPS信号を受信できる場合には、GPS測位系の座標値を取得することができる。しかし、一般に、移動体端末101から見通せるGPS衛星の数が少ないほど、取得される座標値の精度は低くなる。あるいは、移動体端末101が建物の壁面等によって反射されたGPS信号を受信した場合にも、取得される座標値の精度は低くなる。
測位統合サーバ102は、上記のようにして取得された座標値のうち、移動体端末101の現在地の座標値としての精度が最も高いものを選択するために、図10に示す処理を図9のステップ901において実行する。
最初に、測位記録管理部105は、ステップ601で取得されたユーザIDを検索キーとして、測位キュー管理テーブル501を検索し、そのユーザIDに対応する測位キューを特定する。図10の例では、ユーザID「25」に対応する測位キュー502G及び502Hが特定される。
次に、測位記録管理部105は、特定された測位キューに含まれる測位データのうち、最も精度の高いものを選択する。測位データ(より具体的には、測位データに含まれる座標値)の精度は、どのような方法によって判定されてもよい。以下、測位データの精度を判定する方法の例を説明する。
移動体端末101は移動することができるため、測位が実行された後、時間が経過するほど、移動体端末101が別の場所に移動した可能性が高くなる。したがって、例えば測位キュー502Gに格納された複数の座標値のうち、現在地の座標値としての精度が最も高いのは、最新の座標値であると考えられる。測位キュー502Hについても同様のことが言える。このため、測位記録管理部105は、測位キュー502Gに含まれる最新の座標値と、測位キュー502Hに含まれる最新の座標値と、のうち、後述する方法によって精度が高いと判定された一方を現在地の座標値として選択してもよい。
ただし、例えば移動体端末101が長時間屋内にあった場合のように、条件によっては一方の測位系の座標値を長時間にわたって取得できない場合がある。このような場合、最新の座標値であっても、既に現在地としての精度が低下している可能性がある。このため、測位記録管理部105は、取得されてから所定の時間が経過した座標値を上記の選択の対象から除外してもよい。
測位データが座標の精度を示す情報を含む場合、その情報に基づいて、測位データの精度が判定されてもよい。例えば、図4を参照して説明したように、測位に使用された基地局の数が座標の精度を示す情報として含まれる場合、測位記録管理部105は、測位キュー502Gに含まれる最新の座標値を取得するために使用された基地局の数と、測位キュー502Hに含まれる最新の座標値を取得するために使用された基地局の数とを比較してもよい。この場合、基地局が多いと判定された測位キューの最新の座標値が、現在地として最も精度が高い座標値として選択される。
あるいは、測位記録管理部105は、最新でない座標値を含む複数の座標値のばらつきを表す指標を算出し、算出された値に基づいて、最新の座標値の精度を評価してもよい。例えば、測位記録管理部105は、測位キュー502Gに含まれる全座標値のばらつき、及び、測位キュー502Hに含まれる全座標値のばらつきを算出し、ばらつきが小さい測位キューの最新の座標値を、現在地として最も精度が高い座標値として選択してもよい。ここで用いるばらつきの指標としては、座標値の分散、すなわち座標点の重心との距離の2乗和をばらつきの指標とすると高速にばらつきが評価できる。また、座標値の分散は高速移動時に大きくなってしまうため、x(t)=x0+vtなる等速直線運動モデルを仮定し、公知の統計的検定手法にてモデルからのずれを見積もり、それをばらつきの指標としてもよい。この場合、高精度にばらつきが評価できる。なお、ばらつきの指標としては他の公知の手法を用いてもよい。
あるいは、測位記録管理部105は、取得されてからの時間のみに基づいて座標値の精度を判定してもよい。例えば、測位記録管理部105は、常に、最後に取得された座標値を現在地の座標値として選択してもよい。
あるいは、測位記録管理部105は、精度に依存せずにいずれかの座標値を取得してもよい。例えば、UWBの方がGPSよりも精度がよいという仮定の下、測位記録管理部105は、取得されてから所定の時間がまだ経過していないUWB測位系の座標値が測位キューに格納されている場合、その座標値を優先して選択し、そのような座標値が格納されていない場合には、GPS測位系の最新の座標値を選択してもよい。
以上、ステップ901における座標値の選択方法の例を示したが、上記以外の方法によって座標値が選択されてもよい。測位キューに格納された座標値のうち、最新の座標値以外の座標値を用いた選択方法(例えば、最小二乗法に基づく選択)が採用されない場合、測位DB109は、図5に示すように過去に取得された複数の座標値を保持する必要はない。その場合、測位DB109は、各移動体端末101の測位系ごとに、最後に取得された座標値を保持していれば十分である。
図11は、本発明の第1の実施形態の測位記録管理部105が測位データ703に含まれる座標値を統一座標系における座標値に変換する処理の説明図である。
図11に示す処理は、図9のステップ902において実行される。
最初に、測位記録管理部105は、ステップ901において取得された測位データ703、その測位データ703に関する測位系ID702、及び、統一座標系を識別する測位系IDを、測位系変換部106に入力する。
統一座標系とは、ある座標系における座標値を別の座標系における座標値に変換するときに、その変換の仲介のために使用される、あらかじめ定められた座標系である。言い換えると、ある座標系(例えば座標系「A」)における座標値を、別の座標系(例えば座標系「B」)における座標値に変換する場合、その座標値は、最初に、統一座標系における座標値に変換される。次に、その統一座標系に変換された座標値が、さらに、座標系「B」における座標値に変換される。
上記のように座標値の基準となる座標系を変換するためには、変換元の座標系と変換先の座標系との間の変換パラメータが必要である(後述する図19等参照)。上記のように、二つの座標系の間の変換が統一座標系を介して実行される場合、各座標系と統一座標系との間の変換パラメータを用意し、それらの変換パラメータを組み合わせることによって、任意の座標系から別の任意の座標系への変換を実現することができる。座標系の変換の詳細については後述する(図17〜図20等参照)。
システム管理者等は、統一座標系として用いる座標系をあらかじめ決定し、その統一座標系と、位置情報サービスシステムにおいて用いられる各座標系との間の変換パラメータをあらかじめ測位系DB108に格納する。統一座標系としてどのような座標系が用いられてもよい。例えば、測位統合サーバ102が位置情報サービスを提供する領域の中心付近を原点とする直交座標系が統一座標系として用いられてもよいし、GPS測位系に用いられる緯度及び経度からなる極座標系が統一座標系として用いられてもよい。
測位系変換部106は、測位データ703に含まれる座標値を、測位系ID702によって識別される座標系における座標値から、統一座標系の測位系IDによって識別される座標系における座標値に変換する。この変換処理については後述する(図17等参照)。
測位系変換部106は、変換された座標値を含む測位データを測位記録管理部105に出力する。
なお、変換元の座標系が統一座標系と同一である場合、ステップ902を実行する必要はない。
図12は、本発明の第1の実施形態の測位記録管理部105が統一座標系に変換された座標値を現在地データ510に反映する処理の説明図である。
図12に示す処理は、図9のステップ903において実行される。
最初に、測位記録管理部105は、ステップ601で取得されたユーザIDを検索キーとして、現在地管理テーブル511を検索し、そのユーザIDに対応する現在地を特定する。図12の例では、ユーザID「25」に対応する現在地512Dが特定される。
次に、測位記録管理部105は、特定された現在地を更新する。図12の例では、測位記録管理部105は、特定された現在地512Dを、ステップ902において変換された座標値を含む測位データに更新する。
図13は、本発明の第1の実施形態の測位記録管理部105が現在地取得要求を受信したときに実行する処理を示すフローチャートである。
図13に示す処理は、例えば、図3のステップ302又はステップ306において送信された現在地取得要求を受信した測位統合サーバ102の測位記録管理部105によって実行される。
最初に、測位記録管理部105は、受信した現在地取得要求に含まれる測位装置IDをユーザIDに変換する(ステップ1301)。
次に、測位記録管理部105は、受信した現在地取得要求に基づいて、現在地データ510を検索する(ステップ1302)。
次に、測位記録管理部105は、ステップ1302において取得された座標値を、要求された座標系における座標値に変換する(ステップ1303)。
上記の各ステップで実行される処理について、図14〜図16を参照して説明する。
図14は、本発明の第1の実施形態の測位記録管理部105が測位装置IDをユーザIDに変換する処理の説明図である。
図14に示す処理は、図13のステップ1301において実行される。
測位記録管理部105は、受信した現在地取得要求1400に含まれる測位装置ID1401を取得する。
現在地取得要求1400は、測位装置ID1401及び要求測位系ID1402を含む。測位装置ID1401は、図7に示す測位装置ID701及び図4に示す測位装置ID401と同様、移動体端末101を一意に識別する。要求測位系ID1402は、現在地取得要求1400によって要求される現在地の座標値の基準となる座標系を識別する。例えば、移動体端末101が、GPS測位系において用いられる座標系における座標値の取得を要求する場合、要求測位系ID1402としてGPS測位系の測位系ID(すなわち、測位系ID402と同様の識別情報)が指定される。
なお、移動体端末101は、どの座標系の座標値を要求するかを、利用しようとするアプリケーションに基づいて決定してもよい。例えば、移動体端末101がアプリケーションサーバ103によって提供されるナビゲーションサービスを利用するために、緯度及び経度からなる座標値をアプリケーションサーバ103に送信する必要がある場合、移動体端末101は、要求測位系ID1402としてGPS測位系の測位系IDを指定する。
測位記録管理部105は、取得した測位装置ID1401を検索キーとしてユーザIDDB110を検索する。この検索は図7を参照して説明した検索と同様に実行される。ユーザIDDB110は、図7を参照して説明したものと同一である。図14には、検索の結果、ユーザID「25」が取得された例を示す。
図15は、本発明の第1の実施形態の測位記録管理部105が現在地データを検索する処理の説明図である。
図15に示す処理は、図13のステップ1302において実行される。
測位記録管理部105は、ステップ1301で取得されたユーザIDを検索キーとして、現在地管理テーブル511を検索し、そのユーザIDに対応する現在地として格納された測位データを取得する。図12の例では、ユーザID「25」に対応する現在地512Dの測位データが取得される。
図16は、本発明の第1の実施形態の測位記録管理部105が現在地の座標値を要求された座標系における座標値に変換する処理の説明図である。
図16に示す処理は、図13のステップ1303において実行される。
最初に、測位記録管理部105は、ステップ1302において取得された測位データ、統一座標系を識別する測位系ID、及び、要求測位系ID1402を、測位系変換部106に入力する。
測位系変換部106は、現在地の座標値(例えば、現在地512Dとして格納された測位データに含まれる座標値)を、統一座標系における座標値から、要求測位系IDによって識別される座標系における座標値に変換する。この変換処理については後述する(図18等参照)。
測位系変換部106は、変換された座標値を含む測位データを測位記録管理部105に出力する。
なお、要求測位系IDによって識別される座標系が統一座標系と同一である場合、ステップ1303を実行する必要はない。
図17は、本発明の第1の実施形態の測位系変換部106が、入力された任意の座標系の座標値を統一座標系の座標値に変換する処理を示すフローチャートである。
図17に示す処理は、図9のステップ902において実行される。
最初に、測位系変換部106は、測位系マスタテーブルを検索し、測位記録管理部105から入力された測位系ID702によって識別される測位系の種別(すなわち、その測位系において使用される座標系の種別)を特定する(ステップ1701)。測位系マスタテーブルについては後述する(図19参照)。
次に、測位系変換部106は、ステップ1701において特定された測位系の種別を判定する(ステップ1702)。具体的には、測位系変換部106は、特定された測位系において使用される座標系の種別が、カーテシアン座標系、又は、緯度経度を用いる座標系のいずれであるかを判定する。本実施形態では、USB測位系においてカーテシアン座標系が、GPS座標系において緯度経度を用いる座標系が、それぞれ使用される。
ステップ1702において、カーテシアン座標系が使用されると判定された場合、測位系変換部106は、ステップ1701で特定された測位系の種別を検索キーとして、二次元(2D)座標変換テーブルを検索することによって、二次元座標変換のための変換パラメータ(すなわち、後述する変換行列)を取得する(ステップ1703)。2D座標変換テーブルについては後述する(図19参照)。
次に、測位系変換部106は、ステップ1703において取得された変換行列を用いて、入力された座標値を統一座標系における座標値に変換する(ステップ1704)。
一方、ステップ1702において、緯度経度を用いる座標系が使用されると判定された場合、緯度経度を用いる座標系は一つしかない(すなわち、その座標系のための変換パラメータは一つしかない)ため、ステップ1703のような検索を実行する必要がない。このため、測位系変換部106は、緯度経度を用いる座標系のための変換行列を用いて、入力された座標値を統一座標系における座標値に変換する(ステップ1705)。
なお、ステップ1704及びステップ1705において実行される変換処理の詳細については後述する(図20参照)。
以上で任意の座標系の座標値を統一座標系の座標値に変換する処理が終了する。
図18は、本発明の第1の実施形態の測位系変換部106が、統一座標系の座標値を、要求された任意の座標系の座標値に変換する処理を示すフローチャートである。
図18に示す処理は、図13のステップ1303において実行される。
最初に、測位系変換部106は、測位系マスタテーブルを検索し、測位記録管理部105から入力された要求測位系ID1402によって識別される測位系の種別(すなわち、その測位系において使用される座標系の種別)を特定する(ステップ1801)。この処理は、図17のステップ1701と同様に実行される。
次に、測位系変換部106は、ステップ1801において特定された測位系の種別を判定する(ステップ1802)。この処理は、図17のステップ1702と同様に実行される。
ステップ1802において、カーテシアン座標系が特定された(すなわち、カーテシアン座標系への変換が要求された)と判定された場合、測位系変換部106は、ステップ1801で特定された測位系の種別を検索キーとして、2D座標変換テーブルを検索することによって、二次元座標変換のための変換行列を取得する(ステップ1803)。この処理は図17のステップ1703と同様に実行される。さらに、ステップ1803において、測位系変換部106は、取得された変換行列の逆行列を算出する。
次に、測位系変換部106は、ステップ1803において算出された変換行列の逆行列を用いて、入力された座標値(すなわちステップ1302で検索された現在地データに含まれる座標値)を、カーテシアン座標系における座標値に変換する(ステップ1804)。
一方、ステップ1802において、緯度経度を用いる座標系が特定された(すなわち、緯度経度を用いる座標系への変換が要求された)と判定された場合、測位系変換部106は、緯度経度を用いる座標系のための変換行列の逆行列を用いて、入力された座標値を、緯度経度が用いられる座標系における座標値に変換する(ステップ1805)。
なお、ステップ1804及びステップ1805において実行される変換処理の詳細については後述する(図20参照)。
以上で統一座標系の座標値を任意の座標系の座標値に変換する処理が終了する。
図19は、本発明の第1の実施形態の測位系DB108の説明図である。
本実施形態の測位系DB108には、測位系マスタテーブル1910及び2D座標変換テーブル1911が格納される。
測位系マスタテーブル1910は、測位系を識別する情報と、その測位系における座標の計算方法等とを対応付ける情報を含む。具体的には、測位系マスタテーブル1910は、測位系ID1901及び測位系種別1902を含む。
測位系ID1901は、図4に示す測位系ID402と同様、測位系を識別する情報である。
測位系種別1902は、測位系ID1901によって識別される測位系における位置の表現方法を示すコードである。具体的には、測位系種別1902は、その測位系において計算される座標の次元(二次元(2D)又は三次元(3D))、及び、その測位系において使用される座標系(カーテシアン座標系又は緯度経度を用いる座標系)等を示す情報を含む。
2D座標変換テーブル1911は、測位系を識別する情報と、その測位系において使用される座標系の座標値を統一座標系の座標値に変換するための変換パラメータとを対応付ける情報を含む。具体的には、2D座標変換テーブル1911は、測位系ID1903及び変換パラメータa1904〜変換パラメータf1909を含む。なお、本実施形態は、二次元座標のみが扱われる例を示す。このため、2D座標変換テーブル1911は、二次元座標を変換するためのパラメータを含む。
測位系ID1903は、測位系ID1901と同様、測位系を識別する情報である。
変換パラメータa1904、変換パラメータb1905、変換パラメータc1906、変換パラメータd1907、変換パラメータe1908及び変換パラメータf1909は、測位系ID1903によって識別される測位系において使用される座標系の座標値を統一座標系の座標値に変換するための変換行列に含まれる値である。例えば、測位系ID1903によって識別される測位系における座標値(x,y)が、統一座標系における座標値(x’,y’)に相当する場合、(x’,y’)は、数式(1)に示すアフィン変換によって算出される。
図20は、本発明の第1の実施形態の測位系変換部106が実行する二次元座標変換処理の説明図である。
図17のステップ1704、ステップ1705、図18のステップ1804及びステップ1805において、図20に示す処理が実行される。
図20の例では、測位データの座標値に相当するベクトルr1、測位データの測位系に関する変換行列A1及び変換先測位系の変換行列A2が、それぞれ数式(2)のように定義される場合、出力データ(すなわち変換された測位データの座標値を示すベクトル)r2は、数式(3)によって算出される。
数式(3)による計算のうち、変換行列A1とベクトルr1との乗算は、図17のステップ1704又はステップ1705において実行される。この乗算がステップ1704において実行される場合、ステップ1703において取得されたパラメータが変換行列A1として使用される。この乗算によって、測位データの座標値が、統一座標系における座標値に変換される。
上記の乗算によって得られたベクトルと変換行列A2 -1(すなわち行列A2の逆行列)との乗算は、図18のステップ1804又はステップ1805において実行される。この乗算がステップ1804において実行される場合、ステップ1803において取得されたパラメータが変換行列A2として使用される。この乗算によって、統一座標系における座標値が、変換先の座標系(すなわち現在地取得要求によって指定された座標系)における座標値に変換される。
図21は、本発明の第1の実施形態の測位系登録受付部107が実行する測位系登録の手順の説明図である。
図21に示す処理は、例えば、図1に示す位置情報サービスシステムの運用が開始される前に、運用のために必要な測位系を登録するために実行される。さらに、図21の処理は、運用が開始された後に、新たな測位系を追加する必要が生じた場合(例えば、施設に新たなフロアが追加され、サービス提供範囲がそのフロアを含むように拡張された場合等)に実行されてもよい。
位置情報サービスシステムの管理者は、これから登録しようとする測位系に関する変換パラメータ(すなわち、その測位系の座標値を統一座標系の座標値に変換するための変換パラメータ)を測位系登録端末104に入力する。測位系登録端末104は、その変換パラメータを、ネットワーク111を介して測位統合サーバ102に送信する。なお、この変換パラメータは、2D座標変換テーブル1911に格納されるべき値のうち、測位系IDを除く変換パラメータに相当する。
測位統合サーバ102の測位系登録受付部107は、受信した変換パラメータに対応する新たな測位系IDを発行し、その測位系ID及び受信した変換パラメータを、2D座標変換テーブル1911に新たに追加したレコードに格納する。さらに、測位系登録受付部107は、新たに発行された測位系IDを測位系登録端末104に送信する。
以上、本発明の第1の実施形態によれば、複数の測位系の座標値を統一的に管理することによって、屋外又は屋内等のいずれの環境でも途切れることなく適切な位置情報サービスを提供することができる。さらに、過去に取得された測位データに基づいて座標値の精度を評価することによって、より信頼性の高い位置情報サービスを提供することができる。
<第2の実施形態>
以下、本発明の第2の実施形態について図面を参照して説明する。
本発明の第1の実施形態では、二次元座標を扱う位置情報サービスシステムを示した。これに対して、第2の実施形態では、三次元座標を扱う位置情報サービスシステムについて説明する。
例えば、本発明の位置情報サービスが、屋外だけでなく、複数の階を有する建物内でも提供されることが考えられる。このような場合、移動体端末101が平面上のどの地点にあるかを示す情報(例えば緯度及び経度)だけでなく、その移動体端末101がある位置の高さを示す情報がなければ、その移動体端末101が建物内のどの階にいるかを特定することができないため、適切なサービスを提供することができない。このような場合にも適切なサービスの提供を可能にするため、第2の実施形態では、移動体端末101の高さ方向の位置情報(例えば、地球の中心から移動体端末101までの距離、移動体端末101の海抜、又は、その移動体端末101がある階を示す情報)が扱われる。
第2の実施形態は、測位系DB108に格納されている情報、及び、座標系の変換のために実行される処理を除いて、第1の実施形態と同じである。具体的には、図1から図16及び図21は第2の実施形態にも適用される。以下、第2の実施形態が第1の実施形態と異なる点のみを説明する。
図22は、本発明の第2の実施形態の測位系変換部106が、入力された任意の座標系の座標値を統一座標系の座標値に変換する処理を示すフローチャートである。
図22に示す処理は、第2の実施形態における、図9のステップ902において実行される。
最初に、測位系変換部106は、測位系の種別を特定する(ステップ2201)。これは、図17のステップ1701と同様、測位系マスタテーブル1910に基づいて特定される。
次に、測位系変換部106は、ステップ2201において特定された測位系の種別を判定する(ステップ2202)。具体的には、測位系変換部106は、特定された測位系において使用される座標系の種別が、二次元のカーテシアン座標系(以下、2D座標系)、緯度経度を用いる座標系、又は、三次元のカーテシアン座標系(以下、3D座標系)のいずれであるかを判定する。
ここで、本実施形態において取り扱われる2D座標系及び3D座標系について説明する。
GPS測位系において、移動体端末101が4個(条件によっては3個)以上のGPS衛星からの測位信号を受信することができれば、その移動体端末101の緯度、経度及び地球の中心からの距離を特定することができる。
しかし、移動体端末101が屋内にある場合、GPS衛星からの測位信号を受信することは困難である。屋内においてUWB測位系が使用される場合、4個以上のUWB基地局が測位信号を受信した時刻に基づいて、移動体端末101の三次元座標における位置(すなわち、X座標、Y座標及びZ座標の値)を取得することができる。
このような三次元のUWB測位系に対応する測位系マスタテーブル1910の測位系種別1902には、そのUWB測位系において3D座標系が使用されることを示す情報が含まれる。
上記のような三次元の座標値がステップ901において取得された場合、ステップ2202において、測位系種別1902の情報に基づいて、3D座標系が使用されると判定される。
しかし、実際には、上記のようにUWB測位系において三次元座標値を取得することが困難な場合がある。
通常、ある階に設置されたUWB基地局は、他の階にある移動体端末101からの測位信号を受信できない場合が多い。したがって、UWB測位系において取得された座標値は、移動体端末101がある階のどの位置にあるかを特定する情報を含んでいるが、その移動体端末101がどの階にあるかを特定する情報を含んでいない場合が多い。
このような場合、本実施形態の測位統合サーバ102は、各階を独立した二次元のUWB測位系として管理し、さらに、各階に対応する高さ方向の位置情報を保持する。二次元のUWB測位系において取得された二次元の座標値に、そのUWB測位系に対応する高さ方向の位置情報を組み合わせることによって、適切な位置情報サービスを提供することができる。
このような二次元のUWB測位系に対応する測位系マスタテーブル1910の測位系種別1902には、そのUWB測位系において2D座標系が使用されることを示す情報が含まれる。
上記のような二次元の座標値がステップ901において取得された場合、ステップ2202において、測位系種別1902の情報に基づいて、2D座標系が使用されると判定される。
ステップ2202において、2D座標系が使用されると判定された場合、測位系変換部106は、ステップ2201で特定された測位系の種別を検索キーとして、2D座標変換テーブルを検索することによって、二次元座標変換のための変換パラメータを取得する(ステップ2203)。ここで検索される2D座標変換テーブルについては後述する(図24参照)。
次に、測位系変換部106は、ステップ2203において取得された変換行列を用いて、入力された座標値を統一座標系における座標値に変換する(ステップ2204)。この変換は、図17のステップ1704と同様に実行される。
次に、測位系変換部106は、高さ変換処理を実行する(ステップ2205)。これは、ステップ2204の変換の結果として取得された二次元の座標値に、高さ方向(例えばZ軸方向)の座標値を追加することによって、三次元の座標値を取得する処理である。ここで追加されるべき高さ方向の座標値は、後述する2D座標変換テーブル2410の高さ2412の値に基づいて取得される(図24参照)。
例えば、統一座標系のZ座標が海抜である場合、高さ2412として階の海抜が格納されていれば、その高さ2412の値がそのままZ座標値として追加されてもよい。あるいは、高さ2412として、階の番号(1階、2階等)が格納されていれば、その階の番号及び地図データ(図示省略)に基づいて階の海抜が算出され、その算出された海抜がZ座標値として追加されてもよい。
なお、本実施形態の地図データは、測位統合サーバ102によって保持され、少なくとも、階の番号と、その階の高さ方向の座標値(例えば海抜又は地球の中心からの距離)とを対応付ける情報を含む。
ステップ2202において、緯度経度を用いる座標系が使用されると判定された場合、測位系変換部106は、緯度経度を用いる座標系のための変換行列を用いて、入力された座標値を統一座標系における座標値に変換する(ステップ2206)。この変換は、図17のステップ1705と同様に実行される。ただし、本実施形態では、三次元座標値として、緯度経度に加えて地球の中心からの距離が取得されるため、この三次元座標値が統一座標系の座標値に変換される。例えば、統一座標系のZ座標が海抜である場合、取得された地球の中心からの距離が海抜に変換されてもよい。
ステップ2202において、3D座標系が使用されると判定された場合、測位系変換部106は、ステップ2201で特定された測位系の種別を検索キーとして、3D座標変換テーブルを検索することによって、三次元座標変換のための変換パラメータを取得する(ステップ2207)。ここで検索される3D座標変換テーブルについては後述する(図24参照)。
次に、測位系変換部106は、ステップ2207において取得された変換行列を用いて、入力された座標値を統一座標系における座標値に変換する(ステップ2204)。この変換は、図17のステップ1704と同様に実行される。
以上で任意の座標系の座標値を統一座標系の座標値に変換する処理が終了する。
図23は、本発明の第2の実施形態の測位系変換部106が、統一座標系の座標値を、要求された任意の座標系の座標値に変換する処理を示すフローチャートである。
図23に示す処理は、第2の実施形態における、図13のステップ1303において実行される。
最初に、測位系変換部106は、測位系マスタテーブルを検索し、測位記録管理部105から入力された要求測位系ID1402によって識別される測位系の種別(すなわち、その測位系において使用される座標系の種別)を特定する(ステップ2301)。この処理は、図22のステップ2201と同様に実行される。
次に、測位系変換部106は、ステップ2301において特定された測位系の種別を判定する(ステップ2302)。この処理は、図22のステップ2202と同様に実行される。すなわち、2D座標系における座標値、緯度経度からなる座標値及び3D座標系における座標値のいずれが要求されたかが判定される。
ここで、2D座標系及び3D座標系は、図22において説明したものと同様である。すなわち、2D座標系における座標値が要求されたことは、X座標値とY座標値とからなる二次元カーテシアン座標値に加えて、高さ方向の位置情報(例えば、地球の中心から移動体端末101までの距離、移動体端末101の海抜、又は、その移動体端末101がある階を示す情報)が要求されたことを意味する。
ステップ2302において、2D座標系が特定された(すなわち、2D座標系への変換が要求された)と判定された場合、測位系変換部106は、ステップ2301で特定された測位系の種別を検索キーとして、2D座標変換テーブルを検索することによって、二次元座標変換のための変換行列を取得する(ステップ2303)。この処理は図22のステップ2203と同様に実行される。さらに、ステップ2303において、測位系変換部106は、取得された変換行列の逆行列を算出する。
次に、測位系変換部106は、ステップ2203において取得された変換行列の逆行列を用いて、入力された座標値を、要求された2D座標系における座標値に変換する(ステップ2304)。この変換は、図22のステップ2204と同様に実行される。ただし、この例において統一座標系は三次元の座標系であるため、統一座標系の座標値のうちX座標及びY座標の値のみを、ステップ2203において取得された変換行列に乗算することによって変換が実行される。
次に、測位系変換部106は、高さ逆変換処理を実行する(ステップ2305)。これは、統一座標系の座標値のうちZ座標の値を、要求された高さ方向の位置情報に変換し、変換された位置情報を、ステップ2304において変換された二次元の座標値に追加する処理である。例えば、統一座標系のZ座標値が海抜であり、要求された高さ方向の位置情報が階を示す情報である場合、測位系変換部106は、地図データ(図示省略)に基づいて、海抜を、その海抜に対応する階の番号に変換する。
ステップ2302において、緯度経度を用いる座標系が特定された(すなわち、緯度経度を用いる座標系への変換が要求された)と判定された場合、測位系変換部106は、緯度経度を用いる座標系のための変換行列の逆行列を用いて、入力された座標値を、緯度経度が用いられる座標系における座標値に変換する(ステップ2306)。この変換は、図22のステップ2206と同様に実行される。
ステップ2302において、3D座標系が特定された(すなわち、3D座標系への変換が要求された)と判定された場合、測位系変換部106は、ステップ2301で特定された測位系の種別を検索キーとして、3D座標変換テーブルを検索することによって、三次元座標変換のための変換行列を取得する(ステップ2307)。ここで検索される3D座標変換テーブルについては後述する(図24参照)。さらに、ステップ2307において、測位系変換部106は、取得された変換行列の逆行列を算出する。
次に、測位系変換部106は、ステップ2307において取得された変換行列の逆行列を用いて、入力された座標値を、要求された3D座標系における座標値に変換する(ステップ2308)。この変換は、図22のステップ2204と同様に実行される。
以上で統一座標系の座標値を任意の座標系の座標値に変換する処理が終了する。
図24は、本発明の第2の実施形態の測位系DB108の説明図である。
本実施形態の測位系DB108には、第1の実施形態の測位系マスタテーブル1910に加えて、2D座標変換テーブル2410及び3D座標変換テーブル2420の一方又は両方が格納される。これらのテーブルは、測位系を識別する情報と、その測位系において使用される座標系の座標値を統一座標系の座標値に変換するための変換パラメータとを対応付ける情報を含む。測位系マスタテーブル1910については第1の実施形態において説明したため、図24への表示及び説明を省略する。
2D座標変換テーブル2410は、測位系ID2411、高さ2412及び変換パラメータa2413〜変換パラメータf2418を含む。
測位系ID2411は、測位系を識別する情報である。
高さ2412は、測位系ID2411によって識別される測位系が使用される位置の高さ方向の位置情報である。例えば、高さ2412は、その測位系が使用される階の海抜(メートル)、又は、その階の番号(1階、2階等)であってもよい。
変換パラメータa2413、変換パラメータb2414、変換パラメータc2415、変換パラメータd2416、変換パラメータe2417及び変換パラメータf2418は、測位系ID2411によって識別される測位系において使用される座標系の座標値を、統一座標系の座標値のうち、X座標値及びY座標値に変換するための変換行列に含まれる値である。
例えば、測位系ID2411によって識別される測位系における座標値(x,y)及び高さ2412によって特定される位置が、統一座標系における座標値(x’,y’,z’)に相当する場合、(x’,y’)は、数式(1)に基づくアフィン変換によって算出され、z’の値は、高さ2412の値に基づいて、図22のステップ2205の変換処理によって算出される。
3D座標変換テーブル2420は、測位系ID2421及び変換パラメータa2422〜変換パラメータl2433を含む。
測位系ID2421は、測位系を識別する情報である。
変換パラメータa2422、変換パラメータb2423、変換パラメータc2424、変換パラメータd2425、変換パラメータe2426、変換パラメータf2427、変換パラメータg2428、変換パラメータh2429、変換パラメータi2430、変換パラメータj2431、変換パラメータk2432及び変換パラメータl2433、は、測位系ID2421によって識別される測位系において使用される座標系の座標値を統一座標系の座標値に変換するための変換行列に含まれる値である。例えば、測位系ID2421によって識別される測位系における座標値(x,y,z)が、統一座標系における座標値(x’,y’,z’)に相当する場合、(x’,y’,z’)は、数式(4)に示すアフィン変換によって算出される。
なお、以上の本発明の第1の実施形態及び第2の実施形態は、一つのGPS測位系及び一つのUWB測位系の座標値が取得される場合について記載したが、本発明は、どのような測位系の組み合わせについても適用することができる。
例えば、二つのUWB測位系の座標値が取得される場合に本発明が適用されてもよい。例えば、複数階からなる建物において本発明の位置情報サービスが提供される場合、各階に複数のUWB基地局が設置されてもよい。このような建物内で、移動体端末101が例えば1階にある場合、1階に設置された複数のUWB基地局が移動体端末101から受信した測位信号に基づいて移動体端末101の座標値を算出し、測位統合サーバ102に送信する。測位統合サーバ102は、この座標値を、第1のUWB測位系に対応する測位キューに格納する。
その後、移動体端末101が例えば2階へ移動した場合、2階に設置された複数のUWB基地局が移動体端末101から受信した測位信号に基づいて移動体端末101の座標値を算出し、測位統合サーバ102に送信する。測位統合サーバ102は、この座標値を、第2のUWB測位系に対応する測位キューに格納する。
このような場合に、上記のような各階に対応する高さ情報を用いることによって、各階の二次元の座標値を、統一座標系における三次元の座標値に変換することができる。
以上、本発明の第2の実施形態によれば、サービス提供範囲内に、例えば複数階からなる建物が含まれる場合であっても、途切れることなく適切な位置情報サービスを提供することができる。