以下、図面を用いて本発明の実施の形態を説明する。
図1Aは、本発明の実施形態の空間情報管理システムの構成を示すブロック図である。
本実施形態の空間情報管理システム10は、一つ以上の移動体端末101、複数の測位デバイス114、アプリケーションサーバ102及び地図情報サーバ103を備える。一つ以上の移動体端末101及び複数の測位デバイス114は、それぞれ、ネットワーク121を介してアプリケーションサーバ102に接続される。地図情報サーバ103は、ネットワーク121を介してアプリケーションサーバ102に接続される。
移動体端末101は、測位機能及び通信機能を有する持ち運び可能な端末である。例えば、移動体端末101は、ユーザが持ち歩く計算機又は携帯電話機等であってもよい。
本実施形態では、移動体端末101の位置が計測される。そのために使用される測位方法は、移動体端末101自身がその移動体端末101の位置を計測する方法であってもよいし、移動体端末101の周囲に設置された装置(図1Aの例では、測位デバイス114)が移動体端末101の位置を計測する方法であってもよい。
例えば、本実施形態の移動体端末101は、受信したGPS信号を用いてその移動体端末101の現在位置の座標を取得してもよい。ただし、通常、屋内でGPS衛星からの信号を受信することは困難であるため、屋内にGPS信号と互換性のある信号を送信する装置を予め設置しておく必要がある。この場合、図1Aの測位デバイス114がその装置に相当する。
あるいは、例えば、移動体端末101と測位デバイス114との間の通信に基づいて移動体端末101の測位が行われてもよい。例えば、測位デバイス114が無線LANの基地局であり、移動体端末101が無線LANに接続する機能を備える場合、移動体端末101がどの基地局のエリア内にあるかを特定することによって、移動体端末101の位置を計測することができる。この場合、測位デバイス114が移動体端末101の位置を計測してもよい。
上記のような測位方法は一例に過ぎず、本実施形態では種々の測位方法を使用することができる。例えば、無線LANの代わりにZigBee(登録商標、以下同じ)が使用されてもよい。あるいは、複数の測位方法が組み合わせて使用されてもよい。いずれの測位方法が使用される場合にも、移動体端末101の位置を計測するために、その移動体端末101への信号の送信又は移動体端末101からの信号の受信の少なくとも一方を行う複数の測位デバイス114を設置する必要がある。
移動体端末101は、測位によって取得した移動体端末101の位置情報を、ネットワーク121を介してアプリケーションサーバ102に送信する。移動体端末101とアプリケーションサーバ102との間の通信は、どのような手段によって実現されてもよい。例えば、移動体端末101が携帯電話機である場合、移動体端末101は、携帯電話キャリアが提供するインターネット接続サービスを使用してアプリケーションサーバ102と通信してもよい。あるいは、移動体端末101は、無線LANによる通信機能を備える場合、いずれかの測位デバイス114を介してアプリケーションサーバ102と通信してもよい。
図1Aには測位デバイス114及び移動体端末101が共通のネットワーク121を介してアプリケーションサーバ102と接続される例を示すが、測位デバイス114及び移動体端末101がそれぞれ別のネットワークを介してアプリケーションサーバ102と接続されてもよい。例えば、移動体端末101がGPS信号による測位機能を備える携帯電話機であり、測位デバイス114がGPS信号と互換性のある信号を送信する装置である場合、移動体端末101は携帯電話網を介してアプリケーションサーバ102に接続され、測位デバイス114は有線又は無線LANを介してアプリケーションサーバ102に接続されてもよい。
本実施形態のアプリケーションサーバ102及び地図情報サーバ103は、汎用の計算機によって実現することができる。これらの詳細な構成については後述する(図1B及び図1C参照)。
アプリケーションサーバ102は、測位データ取得部104及び地図情報送信部105を備える。
測位データ取得部104は、移動体端末101からその移動体端末101の位置情報を取得する。測位デバイス114が測位を行った場合、測位データ取得部104は、移動体端末101の位置情報を測位デバイス114から取得してもよい。
地図情報送信部105は、測位データ取得部104が取得した位置情報に基づいて、移動体端末101に地図情報を送信する。例えば、地図情報送信部105は、移動体端末101の現在位置を含む所定の範囲の地図情報を送信する。この地図情報には、地図画像の情報、及びその地図画像に重畳される経路情報等が含まれてもよい。これらの情報は、地図情報サーバ103によって作成され、必要に応じてアプリケーションサーバ102に送信される。移動体端末101は、アプリケーションサーバ102から受信した地図画像をユーザに対して表示する。
なお、上記のような地図情報の送信は、アプリケーションサーバ102が移動体端末101のユーザに提供する位置情報サービスの一例に過ぎない。アプリケーションサーバ102は、測位データ取得部104が取得した位置情報に基づく種々のサービスを提供することができる。
地図情報サーバ103は、地図表示処理部106、経路探索処理部108、地図データ参照部109、地図データ変換部112、屋外地図データベース(DB)110、屋内地図DB111及び測位デバイスデータ113を備える。
屋内地図DB111には、屋内の地図情報、具体的には、屋内空間を表現するネットワークのノード及びリンク等に関する情報(すなわちネットワークデータ)が格納される。屋内地図DB111の詳細については後述する(図2参照)。
屋外地図DB110には、屋外の地図情報が格納される。屋外空間も屋内空間と同様、ノード及びリンクからなるネットワークによって表現される。屋外地図DB110は、従来のカーナビゲーションシステム又は歩行者向けのパーソナルナビゲーションシステムにおいて使用されるものと同様のものであってよいため、これについての説明は省略する。以下の本実施形態の説明では、屋内におけるネットワークデータの作成を例示するため、屋外地図DB110を参照しない。しかし、屋外においても屋内と同様のサービスをシームレスに提供する場合、屋外地図DB110も参照される。
測位デバイスデータ113は、設置された測位デバイス114の種類及び位置等を示す情報を含む。測位デバイスデータ113の詳細については後述する。
地図表示処理部106は、アプリケーションサーバ102の地図情報送信部105からの要求に従って、移動体端末101が表示すべき地図画像を作成する。このとき、地図表示処理部106は、必要に応じて、経路探索処理部108から経路探索結果を取得してもよい。
経路探索処理部108は、経路探索を実行する。例えば、移動体端末101の現在位置、及び、移動体端末101のユーザによって入力された目的地の位置を与えられると、経路探索処理部108は、現在位置から目的地までの最短経路を探索し、その結果を出力してもよい。経路探索処理部108は、経路探索を実行するときに、地図データ参照部109によって参照された地図情報(すなわち屋外地図DB110又は屋内地図DB111)を使用する。
上記の地図情報の参照、経路探索、及び表示すべき地図情報の作成は、従来のカーナビゲーションシステム等と同様の方法によって実現されてもよい。
地図データ変換部112は、測位デバイス114が設置された位置に基づいて、屋内地図DB111のネットワークデータを作成及び更新する。その詳細な手順については後述する。同様にして、地図データ変換部112は、屋外地図DB110のネットワークデータを作成及び更新してもよい。
ネットワーク121は、ネットワーク121に接続された装置間の通信を可能にするものである限り、いかなる種類のものであってもよい。典型的には、ネットワーク121は、携帯電話網、有線LAN、無線LAN、又はそれらの組み合わせによって実現され、その上で例えばインターネットプロトコルによる通信が実行されてもよい。図1Aには二つのネットワーク121を示したが、これらは単一のネットワーク又は三つ以上のネットワークによって実現されてもよい。例えば、一つ以上の移動体端末101及び複数の測位デバイス114は、それぞれ異なるネットワークを介してアプリケーションサーバ102に接続されてもよい。
図1Bは、本発明の実施形態のアプリケーションサーバ102の構成を示すブロック図である。
本実施形態のアプリケーションサーバ102は、相互に接続されたプロセッサ131、メインメモリ132、入力装置133、出力装置134、インターフェース(I/F)135及び記憶装置136を備える計算機である。
プロセッサ131は、メインメモリ132に格納されたプログラムを実行する。
メインメモリ132は、例えば半導体メモリであり、プロセッサ131によって実行されるプログラム及びプロセッサ131によって参照されるデータを格納する。具体的には、記憶装置136に格納されたプログラム及びデータの少なくとも一部が、必要に応じてメインメモリ132にコピーされる。
入力装置133は、ユーザ又は管理者からの入力を受ける。入力装置133は、例えばキーボード又はマウス等であってもよい。
出力装置134は、ユーザ又は管理者に情報を出力する。出力装置134は、例えば液晶ディスプレイ装置のような画像表示装置であってもよい。
I/F135は、ネットワーク121に接続され、移動体端末101、測位デバイス114及び地図情報サーバ103と通信するインターフェースである。
記憶装置136は、例えばハードディスク装置(HDD)又はフラッシュメモリのような不揮発性の記憶装置である。本実施形態の記憶装置136には、少なくとも、測位データ取得部104及び地図情報送信部105が格納される。
測位データ取得部104及び地図情報送信部105は、プロセッサ131によって実行されるプログラムである。本実施形態において測位データ取得部104及び地図情報送信部105が実行する処理は、実際には、測位データ取得部104及び地図情報送信部105に記述された命令に従うプロセッサ131によって実行される。
図1Cは、本発明の実施形態の地図情報サーバ103の構成を示すブロック図である。
本実施形態の地図情報サーバ103は、相互に接続されたプロセッサ141、メインメモリ142、入力装置143、出力装置144、I/F145及び記憶装置146を備える計算機である。プロセッサ141、メインメモリ142、入力装置143、出力装置144、I/F145及び記憶装置146は、それぞれ、アプリケーションサーバ102のプロセッサ131、メインメモリ132、入力装置133、出力装置134、I/F135及び記憶装置136と同様のものであるため、これらについての詳細な説明は省略する。
ただし、記憶装置146には、地図表示処理部106、経路探索処理部108、地図データ参照部109、地図データ変換部112、屋外地図DB110、屋内地図DB111及び測位デバイスデータ113が格納される。地図表示処理部106、経路探索処理部108、地図データ参照部109及び地図データ変換部112は、プロセッサ141によって実行されるプログラムである。本実施形態においてこれらの各部が実行する処理は、実際には、これらの各部に記述された命令に従うプロセッサ141によって実行される。
なお、図1Aには、アプリケーションサーバ102及び地図情報サーバ103がそれぞれ独立したハードウェアによって実現される例を示したが、これらは一つの計算機によって実現されてもよい。例えば、記憶装置136にさらに地図表示処理部106、経路探索処理部108、地図データ参照部109、地図データ変換部112、屋外地図DB110及び屋内地図DB111が格納されていれば、アプリケーションサーバ102は地図情報サーバ103の機能も備えることになるため、地図情報サーバ103のハードウェアを省略することができる。
図2Aは、本発明の実施形態の屋内地図DB111に含まれる図形データ201の説明図である。
図形データ201は、各ノード又は各リンクに相当する図形の種別、形状及び位置を特定する情報を含む。具体的には、図形データ201は、図形ID202、種別203及び座標列204を含む。
図形ID202は、各ノード又は各リンクに相当する図形を識別する情報である。
種別203は、各ノード又は各リンクに相当する図形の種別を識別する情報である。例えば、種別1012の値「Polygon」、「Polyline」及び「Point」は、それぞれ、多角形、線分群及び点を意味する。
座標列204は、各ノード又は各リンクに相当する図形の形状及び位置を特定する一つ以上の座標値である。例えば、図形が点である場合、その点の位置を示す一つの座標値が座標列204として格納される。図形が多角形である場合、その多角形の複数の頂点の位置を示す複数の座標値が座標列204として格納される。
図2Bは、本発明の実施形態の屋内地図DB111に含まれる探索用ノードデータ211の説明図である。
探索用ノードデータ211は、ルート検索のために参照される、各ノードに関する情報を含む。具体的には、探索用ノードデータ211は、ノードID212、図形ID213、ノード種別214及びエリア種別215を含む。
ノードID212は、各ノードを識別する情報である。
図形ID213は、各ノードに相当する図形を識別する情報である。図形ID213は、図形データ201の図形ID202に対応する。
ノード種別214は、各ノードの種別を示す。例えば、ノード種別214として、「エレベータ」、「廊下」、「部屋」、「階段」及び「屋外端点」等が格納される。後述するように、測位デバイス114に対応するネットワークデータ領域がノードとして設定された場合、そのノードのノード種別214は、そのノードに対応する測位デバイス114を識別する情報を含んでもよい。
エリア種別215は、各ノードが配置されたエリアを識別する。例えば、あるノードが建物A(図示省略)の3階の廊下である場合、そのノードのノード種別214及びエリア種別215として、それぞれ「廊下」及び「建物A 3F」が格納される。
図2Cは、本発明の実施形態の屋内地図DB111に含まれる探索用リンクデータ221の説明図である。
探索用リンクデータ221は、ルート検索のために参照される、各リンクに関する情報を含む。具体的には、探索用リンクデータ221は、リンクID222、図形ID223、始点ノード(From)224、終点ノード(To)225、リンク種別226及びコスト227を含む。
リンクID222は、各リンクを識別する情報である。
図形ID223は、各リンクに相当する図形を識別する情報である。図形ID223は、図形データ201の図形ID202に対応する。
始点ノード224は、各リンクの始点ノードを識別する情報である。
終点ノード225は、各リンクの終点ノードを識別する情報である。
リンク種別226は、各リンクの種別、すなわち、そのリンクがどのエリアのノードを接続するかを示す情報である。例えば、あるリンクが同じエリア内の二つのノードを接続する場合、そのリンクのリンク種別226として「同エリア内」が格納される。別のリンクが屋内のノードと屋外のノードとを接続する場合、その別のリンクのリンク種別226として「屋内外間」が格納される。
コスト227は、各リンクに沿って始点ノードから終点ノードまで移動するためのコスト(例えば移動に要する時間等)を示す指標である。
図3は、本発明の実施形態の測位デバイスデータ113の説明図である。
測位デバイスデータ113は、デバイスID301、物理ID302、デバイス種別303、測位可能距離304、測位精度305、設置位置座標306及びエリア種別307を含む。
デバイスID301は、各測位デバイス114を識別する情報である。
物理ID302は、各測位デバイス114を物理的に識別する情報である。物理ID302は、例えばMAC(Media Access Control)アドレスであってもよく、各測位デバイス114との通信に使用される。
デバイス種別303は、各測位デバイス114の種別を示す。例えば、測位デバイス114が無線LAN又はZigbeeの基地局である場合、その測位デバイス114のデバイス種別303として「Wi−Fi」又は「Zigbee」が格納される。
測位可能距離304は、各測位デバイス114を用いて測位可能な範囲を示す。例えば、ある測位デバイス114の測位可能距離304が「5m」である場合、その測位デバイス114を用いて、その測位デバイス114からの距離が5m以内である移動体端末101の位置を計測することができる。
なお、「測位デバイス114を用いて移動体端末101の位置を計測することができる」とは、例えば移動体端末101がその測位デバイス114から受信した信号を用いて測位する場合、移動体端末101がその測位デバイス114からの信号を受信可能であることを意味し、その測位デバイス114が移動体端末101から受信した信号を用いて測位する場合、その測位デバイス114が移動体端末101からの信号を受信可能であることを意味する。したがって、一般に、測位可能距離304の値は、測位デバイス114の送信電力又はアンテナ感度等に依存する。測位可能距離304として、例えば、測位デバイス114の製造者によって提供された値が格納されてもよいし、ユーザが予め実測した値が格納されてもよい。
測位精度305は、各測位デバイス114を用いた測位の精度を示す。
設置位置座標306は、各測位デバイス114が設置された位置の座標値を示す。
エリア種別307は、各測位デバイス114が設置されたエリアを示す。エリア種別307は、探索用ノードデータ211のエリア種別215に対応する。
図3に示す測位デバイスデータ113は一例であり、実際の測位デバイスデータ113は、図示された全ての情報を含む必要はなく、また、図示されていない情報をさらに含んでもよい。ただし、後述するように測位デバイス114が設置された位置に基づいてネットワークデータを作成するため、測位デバイス114の設置位置を示す情報は必要である。
なお、図2Bを参照して、探索用ノードデータ211が、ノードに対応する測位デバイス114を識別する情報を含んでもよいことを説明した。しかし、探索用ノードデータ211がそのような情報を含む代わりに、測位デバイスデータ113が、各測位デバイス114に対応するノードを識別する情報を含んでもよい。あるいは、上記以外の方法で、地図情報サーバ103が、測位デバイス114と、それに対応して設定されたノードとを対応付ける情報を保持してもよい。
図4は、本発明の実施形態において実行される通信の手順を示すシーケンス図である。
最初に、移動体端末101は、測位データをアプリケーションサーバ102に送信する(ステップ401)。このときに送信される測位データは、測位によって取得された移動体端末101の現在の位置情報(座標値)を含み、さらに、移動体端末101のユーザによって入力された目的地の位置情報を含んでもよい。なお、測位デバイス114が測位を行った場合、移動体端末101がその移動体端末101自身の位置情報を含む測位データを測位デバイス114から取得してそれをアプリケーションサーバ102に送信してもよいし、測位デバイス114がネットワーク121を介してその移動体端末101に関する測位データをアプリケーションサーバ102に送信してもよい。
アプリケーションサーバ102は、測位データを受信すると、その測位データに基づく経路探索結果の要求を地図情報サーバ103に送信する(ステップ402)。例えば、アプリケーションサーバ102は、移動体端末101の現在位置から目的地までの経路探索を要求してもよい。
地図情報サーバ103の経路探索処理部108は、経路探索結果の要求を受信すると、その要求に従って経路探索処理を実行する(ステップ403)。この処理は、従来のカーナビゲーションシステム等と同様の方法によって実行されてもよい。
地図情報サーバ103の地図データ参照部109は、経路探索処理部108による経路探索処理のために必要な地図データを屋内地図DB111等から検索する(ステップ404)。
地図情報サーバ103の地図表示処理部106は、検索された地図情報を、移動体端末101に送信するための画像データに変換する(ステップ405)。
そして、地図情報サーバ103は、変換された地図情報を、アプリケーションサーバ102を経由して移動体端末101に送信する(ステップ406、ステップ407)。
移動体端末101は、地図情報サーバ103から受信した地図情報(すなわち地図画像)を表示する。
図5は、本発明の実施形態において実行される屋内ナビゲーションの説明図である。
例えば、敷地内の建物のフロア500において、移動体端末101の現在位置が部屋(エレベータ室)501、目的地が部屋505である場合、それらの現在位置及び目的地を示す情報が地図情報サーバ103に送信される(ステップ401、402)。地図情報サーバ103は、部屋501から廊下502、503及び504を通って部屋505に至る経路521を探索し(ステップ403〜405)、その探索結果を移動体端末101に送信する(ステップ406)。
なお、図5において多角形で表示される各部屋及び廊下がノードに、「×」で表示される部屋の入口等がリンクに対応付けられてもよいが(図6参照)、本実施形態では、一つの部屋又は廊下が複数の領域に分割され、各領域が一つのノードに対応付けられてもよい(図7参照)。
図6は、従来のネットワークデータの構築方法の説明図である。
図6は、例として、図5に示した建物のフロア500に対応するネットワークデータの構築方法を示す。
図6の例では、各部屋及び各廊下が一つのノードに、部屋と廊下、部屋と部屋又は廊下と廊下の間の通行可能な境界(言い換えると、各廊下又は部屋への入り口)が一つのリンクに対応付けられる。
例えば、部屋501、廊下502、廊下503、廊下504及び部屋505が、それぞれ、ノード(N001)601、ノード(N002)602、ノード(N003)603、ノード(N004)604及びノード(N005)605に対応付けられる。
一方、部屋501と廊下502との境界がリンク(L001)611に、廊下502と廊下503との境界がリンク(L002)612に、廊下503と廊下504との境界がリンク(L003)613に、廊下504と部屋505との境界がリンク(L004)614及びリンク(L005)615にそれぞれ対応付けられる。
なお、図6において、括弧内の符号((N001)及び(L001)等)は、ノード及びリンクの識別子であり、探索用ノードデータ211のノードID212及び探索用リンクデータ221のリンクID222に相当する。
各境界には、空間を区切る構造物(例えば壁)が設置されてもよいし、設置されなくてもよい。空間を区切る構造物が設置された境界を通行可能とするためには、その構造物に通行可能な開口部(例えばドア)を設ける必要がある。
例えば、廊下502と廊下503との境界及び廊下503と廊下504との境界には壁がなくてもよい。この場合、それらの境界は通行可能であり、それぞれリンク(L002)612及びリンク(L003)613に対応付けられる。廊下504と部屋505との境界には壁が設けられ、その壁に二つのドア(図示省略)が設けられてもよい。この場合、二つのドアがそれぞれリンク(L004)614及びリンク(L005)615にそれぞれ対応付けられる。
図7は、本発明の実施形態のネットワークデータの構築方法の説明図である。
図6に示したように、従来、典型的には、一つの部屋が一つのノードに対応付けられる。これに対して、本実施形態では、一つの部屋又は一つの廊下に複数の測位デバイスが設置されている場合、それらの部屋又は廊下が測位デバイスに対応する複数の領域に分割され、各領域が一つのノードに対応付けられる。これによって、経路探索及び誘導の粒度をより細かくすることができる。
図7の例では、廊下504に二つの測位デバイス701、すなわち測位デバイス701A及び701Bが設置される。そして、測位デバイス701A及び701Bのそれぞれに対応するネットワークデータ領域711A及び711Bが設定される。
一方、部屋505には四つの測位デバイス702、すなわち測位デバイス702A〜702Dが設置される。そして、測位デバイス702A〜702Dのそれぞれに対応するネットワークデータ領域712A〜712Dが設定される。
なお、各測位デバイス701及び702は、図1Aの測位デバイス114に相当する。
各ネットワークデータ領域は、ノードに対応付けられる。以下の説明では、ネットワークデータ領域711A及び711Bに対応するノードをそれぞれノード711A及び711B、ネットワークデータ領域712A〜712Dに対応するノードをそれぞれノード712A〜712Dと記載する。
さらに、各ネットワークデータ領域の通行可能な境界がリンクに対応付けられる。図7の例では、ネットワークデータ領域711Aと711Bとの境界がリンク721Aに対応付けられる。ネットワークデータ領域712Aと712Bとの境界がリンク722Aに、ネットワークデータ領域712Bと712Dとの境界がリンク722Bに、ネットワークデータ領域712Cと712Dとの境界がリンク722Cに、ネットワークデータ領域712Cと712Aとの境界がリンク722Dに、それぞれ対応付けられる。
次に、上記のように測位デバイスの設置位置に基づいてネットワークデータを生成する処理について説明する。
図8は、本発明の実施形態のネットワークデータ生成処理を示すフローチャートである。
最初に、地図情報サーバ103の地図データ変換部112は、空間レイアウト情報、測位デバイス情報及び測位デバイスの設置位置に関する情報を取得する(ステップ801)。具体的には、地図データ変換部112は、地図データ参照部109を介して屋内地図DB111及び測位デバイスデータ113に格納された情報を取得する。これによって、各部屋等に設置された測位デバイス114(図7の例では測位デバイス701A、701B及び702A〜702D)の設置位置座標、測位可能距離及び測位精度等の情報が取得される。
次に、地図データ変換部112は、空間レイアウト情報によって特定された空間のうち、測位デバイス114が設置されている空間を、測位デバイスの属性情報に応じて分割する(ステップ802)。具体的には、地図データ変換部112は、図形データ201、探索用ノードデータ211及び測位デバイスデータ113を比較することによって、どの空間(部屋又は廊下等)のどこに測位デバイス114が設置されているかを特定することができる。
例えば、図2B、図5及び図6を参照すると、ノード(N004)604が建物Aの3階の廊下504に対応付けられていることがわかる。ノード(N004)604に対応する図形の位置及び形状(すなわち廊下504の位置及び形状)は、ノードID「N004」に対応する図形ID「1234」をキーとして図形データ201を検索することによって特定される。すなわち、図形ID「1234」に対応する座標列204の値が、ノード(N004)604に対応する図形の位置及び形状を示す(ただし、図2Aでは図形ID「1234」及びそれに対応する座標列の図示は省略されている)。
一方、測位デバイス114が設置された位置は、測位デバイスデータ113の設置位置座標306によって特定される。例えば、建物Aの3階に設置された測位デバイス114の設置位置座標が、ノード(N004)604に対応する図形の範囲内にある場合、その測位デバイス114はノード(N004)604内(すなわち廊下504内)に設置されていると判定することができる。このようにして、例えば測位デバイス701A及び701Bが廊下504内に設置されていると判定された場合、ステップ802において、廊下504の空間が、それぞれ二つの測位デバイス701A及び701Bに対応する二つのネットワークデータ領域711A及び711Bに分割される(図7参照)。
次に、地図データ変換部112は、ステップ802において分割された空間のそれぞれに対応するノードを設定し、さらに、設定されたノードを接続するリンクを設定し、それらを屋内地図DB111に格納する(ステップ803)。
例えば、図7に示すようなノード及びリンクが設定された場合、ノード711A、711B、712A〜712D、リンク721A、及びリンク722A〜722Dの位置、形状その他を示す情報が図形データ201、探索用ノードデータ211及び探索用リンクデータ221に格納される。
具体的には、例えば、ノード711A(すなわちネットワークデータ領域711A)の図形を識別する図形ID、その図形の種別、並びに、その図形の位置及び形状を特定する座標列が、それぞれ、図形データ201の図形ID202、種別203及び座標列204として格納される。さらに、ノード711Aを識別するノードID、上記の図形ID、そのノードの種別及びそのノードが配置されるエリアを示す情報が、それぞれ探索用ノードデータ211のノードID212、図形ID213、ノード種別214及びエリア種別215として格納される。なお、この場合のノード種別214は、ノード711Aが測位デバイス701Aに対応するネットワークデータ領域711Aであることを示す情報を含む。他の測位デバイスに対応するノードについても同様である。
さらに、例えば、リンク721Aの図形を識別する図形ID、その図形の種別、並びに、その図形の位置及び形状を特定する座標列が、それぞれ、図形データ201の図形ID202、種別203及び座標列204として格納される。さらに、リンク721Aを識別するリンクID、上記の図形ID、リンク721Aの始点ノード、終点ノード、リンク721Aの種別及びコストを示す情報が、それぞれ、探索用リンクデータ221のリンクID222、図形ID223、始点ノード224、終点ノード225、リンク種別226及びコスト227として格納される。
なお、ネットワークデータ領域711Aから711Bへの通行が可能である場合、リンク721Aの始点ノード及び終点ノードはそれぞれノード711A及び711Bである。その逆方向の通行が可能である場合、リンク721Aの始点ノード及び終点ノードはそれぞれノード711B及び711Aである。両方向の通行が可能である場合、それぞれの方向に対応する情報が探索用リンクデータ221に格納される。
空間の分割及びノード等の設定の詳細な方法については後述する(図11〜図13参照)。
以上でネットワークデータ生成処理が終了する。
次に、測位デバイス114が追加又は削除された場合のネットワークデータの更新について説明する。
図9は、本発明の実施形態のネットワークデータの更新方法の説明図である。
具体的には、図9は、廊下504に測位デバイス701Cが追加され、さらに、災害等によって部屋505の測位デバイス702C及び702Dが削除された例を示す。
図7に示すネットワークデータが生成された後、図9に示すように測位デバイス701Cが追加されても、ネットワークデータが更新されなければ、正確な位置情報サービスを行うことはできない。このため、本実施形態の地図情報サーバ103は、測位デバイス701Cの追加に応じてネットワークデータを更新する。
具体的には、廊下504に測位デバイス701Cが追加されると、測位デバイス701Cに対応するネットワークデータ領域711Cが追加される。このネットワークデータ領域711Cは、測位デバイス701Cが追加される前のネットワークデータ領域711A及び711Bの一部からなる。このため、ネットワークデータ領域711A及び711Bもネットワークデータ領域711Cと重複しないネットワークデータ領域711D及び711Eにそれぞれ更新される。さらに、リンク721Aが削除され、ネットワークデータ領域711Dと711Cとを接続するリンク721B、及び、ネットワークデータ領域711Cと711Eとを接続するリンク721Cが追加される。
同様に、図7に示すネットワークデータが生成された後、図9に示すように測位デバイス702C及び702Dが削除されても、ネットワークデータが更新されなければ、正確な位置情報サービスを行うことはできない。例えば、測位デバイス702Cが削除された後、ネットワークデータ領域712Cにおいて、測位デバイス702Aを用いた測位が可能である場合がある。この場合に、ネットワークデータ領域712Cにある移動体端末101が測位を行うと、位置情報として、測位デバイス702Aに対応するノード、すなわち、ネットワークデータ領域712Aの位置情報が取得される。このとき、ネットワークデータ領域712の位置情報が更新されていなければ、実際には図7のネットワークデータ領域712Cにある移動体端末101が、図7のネットワークデータ領域712Aにあるものと誤認される。このことは、正確な位置情報サービスの提供を妨げる。このため、本実施形態の地図情報サーバ103は、測位デバイス702C及び702Dの削除に応じてネットワークデータを更新する。
部屋505から測位デバイス702C及び702Dが削除されると、それらに対応するネットワークデータ領域712C及び712Dも削除される。さらに、ネットワークデータ領域712A及び712Bが、それぞれ、削除される前のネットワークデータ領域712C及び712Dを含むネットワークデータ領域712E及び712Fに更新される。さらに、リンク722A〜722Dが削除され、ネットワークデータ領域712Eと712Fとを接続するリンク722Eが追加される。
図10は、本発明の実施形態のネットワークデータ更新処理を示すフローチャートである。
最初に、地図情報サーバ103の地図データ変換部112は、測位デバイス114が追加又は削除された屋内空間を検索する(ステップ1001)。例えば、地図データ変換部112は、探索用ノードデータ211と測位デバイスデータ113とを比較して、測位デバイスデータ113に登録されている測位デバイス114に対応するノードが探索用ノードデータ211に登録されていなければ、その測位デバイス114が新たに追加されたと判定し、探索用ノードデータ211に登録されているノードに対応する測位デバイス114が測位デバイスデータ113に登録されていなければ、その測位デバイス114が削除されたと判定してもよい。
次に、地図データ変換部112は、ステップ1001において検索された屋内空間(すなわち測位デバイス114が追加又は削除された部屋又は廊下等)に設置された全ての測位デバイス情報及び設置位置を取得する(ステップ1002)。例えば、ステップ1001において測位デバイス114が追加されたと判定された場合、地図データ変換部112は、その測位デバイス114が設置されている部屋又は廊下等の屋内空間に設置されている全ての測位デバイス114の設置位置座標、測位可能距離及び測位精度等に関する情報を測位デバイスデータ113から取得する。ステップ1001において測位デバイス114が削除されたと判定された場合、地図データ変換部112は、その測位デバイス114が削除される前に設置されていた部屋又は廊下等の屋内空間に現在設置されている全ての測位デバイス114(図9の測位デバイス702C及び702Dが削除された後の部屋505の例では、測位デバイス702A及び702B)の設置位置座標、測位可能距離及び測位精度等に関する情報を測位デバイスデータ113から取得する。
次に、地図データ変換部112は、ステップ1001において検索された屋内空間を、そこに設置されている測位デバイス114のデバイス属性情報に基づいて分割する(ステップ1003)。この処理は、図8のステップ802と同様である。
次に、地図データ変換部112は、ステップ1003において分割された領域について、ノード及びリンクを設定し、それらに関する情報を屋内地図DB111に格納する(ステップ1004)。この処理は、図8のステップ803と同様である。
次に、図8のステップ802及び図10のステップ1003において実行される屋内空間の分割について説明する。屋内空間の分割(より詳細には、分割された各領域の位置及び形状を示す座標値の算出)は、屋内空間の位置及び形状を示す座標値及び測位デバイス114の設置位置の座標値に基づいて、公知の方法を用いて行うことができる。その代表的な例を、図11から図13に示す。
図11は、本発明の実施形態において実行される屋内空間の分割の第1の例を示す説明図である。
図11の例では、屋内空間がボロノイ分割される。
図11に実線の長方形で示す空間(例えば部屋)1100には、四つの測位デバイス1101、すなわち測位デバイス1101A〜1101Dが設置される。これらは図1の測位デバイス114に相当する。
なお、図11に示す分割が図8のステップ802において実行される場合、測位デバイス1101A〜1101Dは、ステップ801において設置位置等が取得された測位デバイス114に相当する。図11に示す分割が図10のステップ1003において実行される場合、測位デバイス1101A〜1101Dは、ステップ1002において設置位置等が取得された測位デバイス114に相当する。これらは、後述する図12及び図13に示す測位デバイスについても同様である。
地図データ変換部112は、空間1100の位置及び形状を示す座標値、及び、測位デバイス1101A〜1101Dの設置位置を示す座標値に基づいて、空間1100をボロノイ分割する。空間1100の位置及び形状を示す座標値は屋内地図DB111から取得される。測位デバイス1101A〜1101Dの設置位置がボロノイ分割の母点となる。図11に表示された細い破線は、分割された領域の境界線1102A〜1102Dを示す。
例えば、境界線1102B及び1102Cによって区切られた領域1103D(すなわち、図11の太い破線で囲まれた領域)内の任意の点から測位デバイス1101Dまでの距離は、その点から他の測位デバイス1101A〜1101Cまでのいずれの距離よりも短い。そのような点の集合が、測位デバイス1101Dに対応する領域1103Dである。地図データ変換部112は、ボロノイ分割によって領域1103Dの位置及び形状を示す座標値等を算出し、この領域1103Dをノードとして屋内地図DB111に登録する。
同様に、各測位デバイス1101A〜1101Cに最も近い領域が各測位デバイス1101A〜1101Cに対応する領域として分割され、それぞれ、ノードとして屋内地図DB111に登録される。
各測位デバイス1101A〜1101Dに対応する領域は、少なくとも、その測位デバイス1101A〜1101Dを用いて測位可能な範囲を含む必要がある。例えば、領域1103Dは、測位デバイス1101Dを用いて測位可能な範囲を含む必要がある。より具体的には、例えば、移動体端末101が測位デバイス1101Dに対応する領域1103D内にある場合、そのことを、測位デバイス1101Dを用いた測位によって特定できることが望ましい。ただし、測位デバイス1101Dを用いて計測可能でない領域であっても、その領域における測位に適した測位デバイスが他に存在しない場合には、その領域を領域1103Dに含めてもよい。後述する図12及び図13の場合も同様である。
さらに、地図データ変換部112は、分割された各領域の接合点、具体的には、各境界線1102A〜1102D上の少なくとも1点をリンク1104A〜1104Dとして屋内地図DB111に登録する。リンク1104A〜1104Dの位置は任意の方法によって定めることができる。例えば、地図データ変換部112は、分割された各領域を表す多角形の重心間を結ぶ直線と各境界線1102A〜1102Dとが交差する点の位置をリンク1104A〜1104Dの位置として定め、重心間の距離が大きいほどコストが大きくなるように、各リンクのコストを定めてもよい。
図12は、本発明の実施形態において実行される屋内空間の分割の第2の例を示す説明図である。
図12の例では、屋内空間が重み付きボロノイ分割される。
図12に示す空間1200には、2種類の測位デバイスが設置される。一方の種類の測位デバイスA_1201A及び1201Bの測位可能距離は0.5mであり、もう一方の種類の測位デバイスB_1202A及び1202Bの測位可能距離は2mである。これらは図1の測位デバイス114に相当する。これらの測位可能距離は、測位デバイスデータ113の測位可能距離304から取得される。
この測位可能距離を用いて重み付けボロノイ分割をすることによって、空間1200が各測位デバイス114に対応する領域に分割される。通常は、測位可能距離が長い測位デバイス114に対応する領域ほど大きくなる。
図12に示す境界線1203A〜1203Eは、各測位デバイスに対応する領域の境界線である。例えば、境界線1203B、1203C及び1203Eは、測位デバイスB_1202Aに対応する領域(すなわちノード)と、それ以外の領域との境界線である。例えば、空間1200内にある移動体端末101が測位デバイスA_1201A及び測位デバイスB_1202Aのいずれを用いても測位可能である場合において、移動体端末101が測位デバイスB_1202Aから受信した信号の電力が測位デバイスA_1201Aから受信した信号の電力より大きい場合、移動体端末101が測位デバイスB_1202Aに対応する領域内にあると判定することができる。
さらに、図11の場合と同様、各境界線1203A〜1203Eの少なくとも1点がリンク1204A〜1204Eとして登録される。それらの位置は、図11の場合と同様の方法によって決定されてもよい。
図13は、本発明の実施形態において実行される屋内空間の分割の第3の例を示す説明図である。
図13の例では、屋内空間がセル分割される。
図13に示す空間1300には、四つの測位デバイス1301、すなわち測位デバイス1301A〜1301Dが設置される。これらは図1の測位デバイス114に相当する。
地図データ変換部112は、空間1300を所定の形状及び大きさの複数の領域、すなわちセル1302に分割する。図13の例では、各セル1302は細い破線で表示された所定の大きさの正方形であるが、セル1302はそれ以外の形状であってもよい。
そして、地図データ変換部112は、各セル1302が四つの測位デバイス1301A〜1301Dのいずれに最も近いかを判定し、各セル1302が最も近いと判定された測位デバイスに対応する領域に含まれるように空間1300を分割する。図13に示す太い破線は、分割された領域の境界線1303A〜1303Eである。さらに、図11及び図12の場合と同様、各境界線1303A〜1303Eの少なくとも1点がリンク1304A〜1304Eとして登録される。それらの位置は、図11の場合と同様の方法によって決定されてもよい。
以上、本発明の実施形態によれば、測位デバイスの位置に基づいてネットワークデータを自動的に生成及び更新することができる。これによって、空間情報管理システムの運用開始時の管理者の作業コストを軽減することができる。さらに、運用中に測位デバイスが追加又は削除されたときにも迅速にネットワークデータを更新して運用を継続することができる。特に、例えば災害等によって測位デバイスが削除された場合、ユーザを迅速に避難誘導するために、残りの測位デバイスに整合するようにネットワークデータを迅速に更新し、それによってシステムの運用を継続することができる。