<地図登録システムの概略>
図1は、ある1つの施設60の屋内地図9の一例を示す。図1(a)は施設60のN階の屋内地図9を、図1(b)は施設60のM階の屋内地図9をそれぞれ示す。施設60は何階建てでもよい。屋内地図9(第一の地図)は、ドローソフトやペイントソフトなどにより作成され、所定のファイルフォーマット(例えばPNGファイル)で予め作成されているものとする。外部の者は屋内地図を知らない場合が多いので、多くの場合、施設60の利用者が屋内地図9を作成するが、屋内地図9の作成者は誰であってもよい。
図2は、ユーザが情報処理装置10を操作して屋外地図8に屋内地図9を登録する作業を説明する図の一例である。
(1)ユーザは施設60を含む屋外地図8(第二の地図)を情報処理装置10に表示させる。この施設60用に屋内地図9が作成されている。ユーザはフロアを指定してこのフロアの屋内地図9を屋外地図8内に表示させ、屋内地図9の位置、サイズ、及び、角度を調節する。具体的には、屋外地図8には施設60の形状が表示されており、この形状に屋内地図9を合わせる。ユーザが位置等を登録する操作を行うと、該施設60の該フロアの位置等が後述する登録サーバに登録される。
(2)フロアの屋内地図9が屋外地図8に対応付けられるので、屋内地図9の2点の座標61が決定される。2点は例えば、屋内地図9の対角頂点である。また、座標から屋内地図9のサイズ(縦、横の長さ)63も決定される。また、ユーザが屋内地図9をどのくらい回転させたかを示す角度62が検出される。この2点の座標61、サイズ63、及び角度62を配置情報と称することにする。
(3)ユーザが他のフロアの屋内地図9を登録サーバに登録する際、登録サーバはすでに登録済みのフロアの配置情報を他のフロアの屋内地図9に適用する。したがって、ユーザは1つのフロアの屋内地図9の配置情報を調整すれば、他のフロアの屋内地図9の配置を決定する必要がないため、フロアごとの屋内地図9の微妙な配置調整が不要になり、登録作業が容易になる。
<用語について>
特許請求の範囲の同じ場所とは、少なくとも一部の領域が重複する複数の地図でカバーされる範囲をいう。したがって、完全に一致することまでは要求されない。例えば、ビルの形状が上層階で下層階よりも狭くなっている場合でも異なるフロアは同じ場所である。
「転用する」とは、他方の地図の配置情報を使って一方の地図の配置を決定することを言う。簡単にはコピーするということができる。ただし、他方の地図と一方の地図の形状が完全には一致しないような場合、一方の地図の形状に合わせて他方の地図の配置情報を利用すればよい。
リンクとは、人や人が運転する物が移動することが可能な道である。主に直線で表されるが曲線でもよい。状のリンクとはノードとノードを結ぶ通路を表し、リンクはノード同士を結ぶ線分となる。
リンクに関する情報とは、リンクを特定、形成、又は描画等する情報である。例えば、リンクの始点と終点のノードに関する情報を含む。
<システム構成例>
図3(a)は、本実施形態の地図登録システム100の概略構成図の一例である。地図登録システム100は、ユーザが操作する情報処理装置10、及び、登録サーバ30を有する。これらはネットワークNを介して通信可能である。通信可能であるとは、常に通信する必要はなく、通信する必要がある場合に通信することができればよい。
ネットワークNの構成は、ユーザの作業場所によって異なるが、ユーザが存在する施設に敷設されたLAN、回線事業者が提供する回線、及び、回線を使用してインターネットに接続するプロバイダネットワーク等により構築されている。なお、インターネットとは、コンピュータを世界的な規模で接続すると共に世界中のネットワークが相互接続されたネットワークである。
ネットワークNは有線又は無線のどちらで構築されてもよく、また、有線と無線が組み合わされていてもよい。また、情報処理装置10が3G、4G、LTE、WiMAXなどの回線交換型の通信機能を有する場合、LANは不要になり、情報処理装置10はこれら回線事業者の回線を介してインターネットに接続できる。なお、登録サーバ30がユーザの社内にある場合、ネットワークNは単にLANのみで構築されうる。
登録サーバ30は、情報処理装置10に屋外地図8の提供と屋内地図9の登録を受け付けるサーバである。サーバとは、ネットワークを介して接続されたクライアント装置からの要求に応じて、何らかのデータ又は何らかの処理結果を提供する装置である。図示する登録サーバ30は1台の装置として記載されているが、登録サーバ30はクラウドコンピューティングに対応していてもよい。クラウドコンピューティングとは、特定ハードウェア資源が意識されずにネットワーク上のリソースが利用されるコンピュータの利用形態をいう。
情報処理装置10は、ユーザが操作する装置であり端末、コンピュータ、又はクライアントなど呼ばれる場合もある。情報処理装置10は、通信機能、入力機能、及び表示機能を有していればよく、具体的な情報処理装置10はどのようなものでもよいが、一例として、タブレット端末、PC(Personal Computer)、スマートフォン、又は、PDA(Personal Digital Assistant)、サングラスタイプ形状などのウェアラブルPC等が挙げられる。
情報処理装置10ではブラウザソフトウェア又は地図登録システム100に専用のアプリケーションソフトウェアが動作する。ブラウザソフトウェアは他のシステムとも通信できるが、地図登録システム100に接続するにはユーザの手間が必要であり、更新通知も取得できない。一方、専用のアプリケーションは、起動と共に地図登録システム100と通信でき、予め画面の部品を有しているので通信量が少なくてよい。また、更新通知を受けられる。しかし、情報処理装置10のリソースを消費し、また、アップデートが必要であるというデメリットもある。
情報処理装置10がブラウザソフトウェアで地図登録システム100と通信し処理を行う形態を、Webアプリを実行する等という場合がある。Webアプリの定義は定かでないが、例えば、登録サーバ30がユーザの要求に応じてWebページを動的に構築することを指したり、JavaScript(登録商標)などのスクリプト言語でWebページが動作することを指したりする。以降、本実施形態では、ブラウザソフトウェアと専用のアプリケーションソフトウェアを特に区別しない。
情報処理装置10のユーザとは、地図登録システム100を使用する自然人や法人である。一担当者を示す場合もある。例えば、施設60に入るテナントの企業、施設60の所有者(ビルのオーナー)、商業施設の管理会社、公共団体、地方自治体などが想定される。地図登録システム100は例えば屋外地図8を管理・運営する企業等により提供されるが、提供者は制約されない。提供者から見るとユーザは顧客となる。地図登録システム100を管理・運営する企業等とユーザとは1対多の関係になり、各ユーザは任意の施設60の屋内地図9を登録サーバ30に登録できる。ユーザが公開しない限り、あるユーザが登録した屋内地図9を他のユーザが閲覧することはできない。また、地図登録システム100の提供は有償でも無償でもよい。
また、図3(b)に示すように地図登録システム100は一台の情報処理装置10で完結する形態でもよい。この場合、情報処理装置10は地図データを有しており、屋内地図9をこの地図データに登録する。屋内地図9を外部に登録できない理由があるユーザにとって有効は形態である。
<ハードウェア構成例>
図4は、登録サーバ30の概略的なハードウェア構成図の一例である。登録サーバ30は、CPU201と、CPU201が使用するデータの高速アクセスを可能とするメモリ202とを備える。CPU201及びメモリ202は、システム・バス203を介して、登録サーバ30の他のデバイス又はドライバ、例えば、グラフィックス・ドライバ204及びネットワーク・ドライバ(NIC)205へと接続されている。
グラフィックス・ドライバ204は、バスを介してLCD(表示装置)206に接続されて、CPU201による処理結果をモニタする。LCD206はタッチパネルと一体である。また、ネットワーク・ドライバ205は、トランスポート層レベル及び物理層レベルで登録サーバ30をネットワークNへと接続して、情報処理装置10とのセッションを確立させている。
システム・バス203には、更にI/Oバス・ブリッジ207が接続されている。I/Oバス・ブリッジ207の下流側には、PCIなどのI/Oバス208を介して、IDE、ATA、ATAPI、シリアルATA、SCSI、USBなどにより、HDD(ハードディスクドライブ)209などの記憶装置が接続されている。HDD209は登録サーバ30の全体を制御するプログラム209pを記憶している。HDD209はSSD(Solid State Drive)でもよい。
また、I/Oバス208には、USBなどのバスを介して、キーボード及びマウス(ポインティングデバイスと呼ばれる)などの入力装置210が接続され、システム管理者などのオペレータによる入力及び指令を受け付けている。
なお、図示した登録サーバ30のハードウェア構成は、1つの筐体に収納されていたりひとまとまりの装置として備えられていたりする必要はなく、登録サーバ30が備えていることが好ましいハード的な要素を示す。また、クラウドコンピューティングに対応するため、本実施例の登録サーバ30の物理的な構成は固定的でなくてもよく、負荷に応じてハード的なリソースが動的に接続・切断されることで構成されてよい。
情報処理装置10のハードウェア構成図は、登録サーバ30と同様であるか、又は、異なっているとしても本実施形態の説明において支障がないものとする。
<機能について>
図5は、地図登録システム100の機能をブロック状に示す機能ブロック図の一例である。
<<情報処理装置>>
情報処理装置10は通信部11、端末制御部12、配置情報登録要求部13、操作受付部14、及び画面表示部15を有する。情報処理装置10が有するこれら各部は、図4に示したCPU201がHDD209からメモリ202に展開されたプログラム209pを実行し、図4に示す各部を制御することで実現される機能又は手段である。
また、情報処理装置10は、図4のHDD209又はメモリ202に構築される記憶部19を有している。記憶部19には図1等に示した複数の屋内地図9が記憶されている。なお、屋内地図9がネットワーク上に保持されていてもよい。
通信部11は、登録サーバ30と各種の情報を送受信する。例えば、屋内地図9を送信し、各種の画面を表示するための画面情報を受信する。通信部11は、CPU201がプログラム209pを実行し、ネットワーク・ドライバ205を制御すること等で実現される。
端末制御部12は、情報処理装置10の全体的な動作を制御する。例えば、画面表示部15に画面を表示させたり、操作受付部14が受け付けた操作を画面表示部15に反映させたり、配置情報登録要求部13に配置情報を取得させたりする。ただし、説明の便宜上、端末制御部12により配置情報登録要求部13、操作受付部14、又は画面表示部15が呼び出される旨は省略して説明する。端末制御部12は、CPU201がプログラム209pを実行すること等で実現される。
画面表示部15は、登録サーバ30から送信された画面情報を解析してLCD206に表示する。画面情報は、情報処理装置10がブラウザソフトウェアを実行する場合はHTML,JavaScript(登録商標)、及びCSSを有し、アプリケーションソフトウェアを実行する場合は、地図データなど画面の表示に必要な情報を有する。いずれの場合も画面情報は情報処理装置10がLCD206に各種の画面を表示するための画面情報である。画面表示部15は、CPU201がプログラム209pを実行し、グラフィックス・ドライバ204を制御すること等で実現される。
操作受付部14は、ユーザによる情報処理装置10に対する各種の操作を受け付ける。施設名の入力、登録の旨の操作、及び、屋内地図9の配置の決定などを受け付ける。操作受付部14は、CPU201がプログラム209pを実行し入力装置210を制御すること等により実現される。
配置情報登録要求部13は、ユーザが配置した屋内地図9の配置情報を操作受付部14等から取得し、配置情報の登録を登録サーバ30に要求する。あるいは、基準となる屋内地図9(基準画像)の階層名及び新たに登録する屋内地図9の配置情報と共に、屋内地図9の登録を登録サーバ30に要求する。配置情報登録要求部13は、CPU201がプログラム209pを実行すること等により実現される。
<<登録サーバ>>
登録サーバ30は通信部31、サーバ制御部32、施設検索部33、地図画面作成部34、Webページ作成部35、及び、屋内地図登録部36を有する。登録サーバ30が有するこれら各部は、図4に示したCPU201がHDD209からメモリ202に展開されたプログラム209pを実行し、図4に示す各部を制御することで実現される機能又は手段である。
また、登録サーバ30は、図4のHDD209又はメモリ202に構築される記憶部39を有している。記憶部39には施設情報DB391、地図DB392、及び、屋内地図DB393が構築されている。
施設情報DB391には、施設60に関する情報が登録されており、登録サーバ30が施設60を検索できるようになっている。例えば、業種名、施設名、住所、郵便番号、電話番号、施設座標、及び、施設60を表すアイコンなどが対応づけて登録されている。施設座標は施設60の位置情報であり「緯度(X)、経度(Y)」が登録されている。施設情報DB391の施設座標は、予め登録されている施設60の位置であり、ユーザはこれとは別に施設60の座標を屋内地図9に登録する。
地図DB392は、屋外地図8を描画するための地図データを記憶している。屋外地図8とは、屋内地図9と対比するための呼称であり、任意の地域の地表の諸物体を一定の約束で縮尺し、記号や文字を用いて平面上に表現した図である。電子地図に表示される情報には、都道府県などの区画、緑地や河川、道路や鉄道、記号や注記など多くの表示対象があるため、性質の似たものに分類し各分類ごとに描画できるようになっている。それぞれに分類された表示対象又は表示対象が描画された状態をレイヤーといい、電子地図はいくつかのレイヤーを重ねることで描画される。各レイヤーの地図データは、ベクトルデータ又はラスターデータのうち表示対象に適したフォーマットで記述されている。また、地図データは経度・緯度などが既知のメッシュ状に区切られており、1つ以上のメッシュを結合して電子的な地図が作成される。ベクトルデータの場合は、緯度・経度でポイント、ポリライン、ポリゴンの位置が定められている。また、ラスターデータの場合は緯度・経度に対応づけて縮尺に応じたデータが用意されている。
表1は、屋内地図DB393に登録されている情報を模式的に示す。屋内地図DB393は、ユーザID、施設名・座標、階層番号、階層名、屋内地図、及び、配置情報の各項目を有する。ユーザIDはユーザを識別又は特定するための情報である。IDはIdentificationの略であり識別子や識別情報という意味である。IDは複数の対象から、ある特定の対象を一意的に区別するために用いられる名称、符号、文字列、数値又はこれらのうち1つ以上の組み合わせをいう。
施設名は、施設60の一般的な通称である。座標はユーザが登録した施設60の中心の座標である。階層番号は、施設60のフロアを指し示す数値であり、地下と地上を表す整数が格納される。階層名は、各フロアの名称である。屋内地図の項目は、情報処理装置10がアップロードした画像データのファイル名である。ファイル形式はPNGに限られない。屋内地図の項目にファイルでなくPathやURIが登録されていてもよい。配置情報は、屋外地図8の配置に関する情報であり、屋内地図9における屋外地図8の配置が特定される。配置情報は、図2にて説明したように、屋内地図9の2点の座標(座標1、座標2)、サイズ(横、縦)、及び角度である。
(登録サーバ30の機能)
通信部31は、情報処理装置10と各種の情報を送受信する。通信部31は、CPU201がプログラム209pを実行し、ネットワーク・ドライバ205を制御すること等で実現される。
サーバ制御部32は、登録サーバ30の全体的な動作を制御する。例えば、施設検索部33に施設60を検索させたり、地図画面作成部34に地図画面を生成させたり、Webページ作成部35に画面情報を生成させたり、屋内地図登録部36に屋内地図9や配置情報を登録させたりする。ただし、説明の便宜上、サーバ制御部32により施設検索部33、地図画面作成部34、Webページ作成部35、又は屋内地図登録部36が呼び出される旨は省略して説明する。サーバ制御部32は、CPU201がプログラム209pを実行すること等で実現される。
施設検索部33は、情報処理装置10から送信された施設名、住所、又は電話番号を用いて施設情報DB391を検索し、施設座標を取得する。施設検索部33は、CPU201がプログラム209pを実行すること等で実現される。本実施形態の説明では施設検索部33の検索は完了しているものとして説明される。
地図画面作成部34は、所定範囲の屋外地図8を作成する。所定範囲はユーザが指定する場合もあるし、施設60を中心とする場合もある。地図画面作成部34は、CPU201がプログラム209pを実行すること等で実現される。
Webページ作成部35は、ブラウザソフトウェアに対し屋外地図8と屋内地図9を有し、更に各種のボタン、タイトル、入力欄等を有する画面情報を生成し、アプリケーションソフトウェアに対しては屋外地図8と屋内地図9を有する画面情報を返す。Webページ作成部35は、CPU201がプログラム209pを実行すること等で実現される。
屋内地図登録部36は、情報処理装置10からアップロードされた屋内地図9、及び、屋内地図9の配置情報を屋内地図DB393に登録する。屋内地図登録部36は、CPU201がプログラム209pを実行すること等で実現される。
<配置情報の取得方法>
図6を用いて屋内地図9の2つの座標の取得方法について説明する。屋外地図8は、屋内地図9の登録に適した縮尺で作成されるが、所定のメッシュに区切られメッシュごとに描画されている。このため、情報処理装置10はメッシュの頂点の座標が分かっている。例えば、メッシュの頂点A(Xa、Ya)、B(Xb、Yb)、C(Xc、Yc)の座標が既知なので、配置情報登録要求部13は屋内地図9の右上頂点65の座標を算出できる。頂点A,C間の画素数をX0、頂点Aから右上頂点65まで画素数をXdとする。右上頂点65の座標は以下のようにして算出される。
右上頂点65の座標=Xa+Xd×{(Xc−Xa)/(X0−Xd)}
同様の計算を左下頂点66に対しても行うと、屋内地図9の左下頂点66の座標を算出できる。
図7を用いて配置情報のうち角度の取得方法を説明する。図7(a)はファイルに格納された状態の屋内地図9を示す。ファイルに格納された際の屋内地図9の外接矩形の上辺を北向きとする。登録サーバ30にアップロードされ、情報処理装置10のLCD206に表示された直後、ファイルに格納された向きの屋内地図9が屋外地図8に重畳して表示される。つまり北が上向きである。配置情報登録要求部13は、この状態の屋内地図9を基準に回転角を検出する。
ユーザが角度を調整する際、操作受付部14は屋内地図9に外接矩形67を作成している。外接矩形67は透明でも可視化されていてもよい。ユーザが屋内地図9を回転させると操作受付部14が回転を受け付け、屋内地図9と外接矩形67が同時に回転する。
図7(b)は回転された外接矩形67と屋内地図9を示す。ファイルに格納された状態から回転された角度62は、操作受付部14が図7(a)の外接矩形67を図7(b)の状態とするまでに受け付けた角度なので既知である。したがって、配置情報登録要求部13は現在の角度62を操作受付部14から取得できる。なお、図7の角度62は時計回りの方向に検出された値であるが、反時計回りの方向に検出された値でもよい。
図8を用いてサイズ(縦、横)の取得方法について説明する。屋内地図9の2点の座標が得られているので、配置情報登録要求部13は2点間の座標を距離〔m〕に変換することで、サイズ(横、縦)を取得できる。
<画面例と登録の手順>
図9は、施設情報編集画面501の一例を示す図である。施設情報編集画面501はユーザが新規に施設60を登録したり、登録されている施設60に関する情報を編集したりするための画面である。ユーザは情報処理装置10を使用して登録サーバ30にログインしており、すでにユーザIDが特定されている。施設60の施設名を登録する操作を行うため、まず、図9の施設情報編集画面501をLCD206に表示させる。施設情報編集画面501の説明では、本実施形態に直接の関係がない項目の説明は省略する。
施設情報編集画面501は、施設名入力欄502、検索ボタン503、施設名表示欄504、新規登録ボタン506、編集ボタン507、及び、階層設定ボタン508を有している。図9ではすでにいくつかの施設60が登録されている点に注意されたい。
図10は、施設名の表示手順を示すシーケンス図の一例である。
S1:登録したい屋内地図9を有するユーザはこの屋内地図9の作成元である施設60を検索するため、施設名入力欄に施設名の一部以上を入力し、検索ボタンを押下する。
S2:情報処理装置10の通信部11は入力された施設名と検索要求を登録サーバ30に送信する。
S3:登録サーバ30の通信部31は検索要求を受信し、施設検索部33は屋内地図DB393を検索する。
S4:登録サーバ30の通信部31が検索に適合した施設名のリストを情報処理装置10に返す。
図9に示すように施設名表示欄504には、登録サーバ30が情報処理装置10に送信し画面表示部15が表示した1つ以上の施設名が表示される。ユーザは編集ボタン507を押下してすでに登録した施設60に関する情報を編集できる。また、新規登録ボタン506を押下すると新たな施設名を含む施設60に関する情報を登録できる。また、階層設定ボタン508を押下すると後述する図13の画面に遷移し、階層に関する情報を設定できる。
編集ボタン507又は新規登録ボタン506が押下されると、図9は図11の施設情報登録・更新画面511に遷移する。
図11は、施設情報登録・更新画面511の一例を示す。施設情報登録・更新画面511は施設60に関する情報を編集したり新規に登録したりするための画面である。図9で編集ボタン507が押下された場合、すでに施設60が登録されているので、編集ボタン507の押下により登録サーバ30は施設名と地図の表示要求を受信する。登録サーバ30の地図画面作成部34は、施設の座標を中心とする所定範囲の屋外地図8を作成する(新規登録の際は予め設定されている位置が中心となる)。
また、Webページ作成部35はこの屋外地図8を施設情報登録・更新画面511に表示するための画面情報を作成し、通信部31が情報処理装置10に送信する。情報処理装置10の画面表示部15はこの画面情報を解析して施設情報登録・更新画面511を表示する。
施設情報登録・更新画面511は施設名欄512、住所欄513、検索ボタン514、地図表示欄516、及び、登録ボタン515を有する。編集ボタン507が押下された場合、施設名欄512には図9でユーザが選択した施設名が表示される。住所欄513にはユーザが施設60の住所を入力する。検索ボタン514は、図11の施設情報登録・更新画面511でユーザが施設60を検索するためのボタンである。ユーザは、施設名欄512に施設名を入力でき、住所欄513に住所を入力できるため、検索ボタン514を押下して施設60を検索できる(施設情報DBでも屋内地図DBでもよい)。
地図表示欄516には、画面表示部15がウィンドウサイズに合わせて最適なサイズで生成した屋外地図8が表示される。画面表示部15は屋外地図8の中央に中央マーク517を表示する。ユーザはこの中央マーク517に施設60の中心を合わせる。
登録ボタン515は、ユーザが施設名と施設の座標を登録サーバ30に登録するためのボタンである。
図12は、施設名の登録手順を示すシーケンス図の一例である。すでに登録されている施設60の編集も新規の登録も同様の手順でよい。
S1:ユーザが登録ボタン515を押下すると、操作受付部14が中央マーク517の座標を施設60の座標として取得する。
S2:情報処理装置10の通信部11は施設名と中央マーク517の座標(施設の座標)を登録サーバ30に送信する。
S3:登録サーバ30の通信部31は施設名と中央マーク517の座標(施設60の座標)を受信し、屋内地図登録部36が屋内地図DB393に施設名と施設60の座標を登録する。
これで、登録サーバ30に施設名が登録できたので、ユーザは各フロアの屋内地図9を登録できるようになる。この後、図9の画面に戻る。
図13は、階層情報設定画面521の一例を示す。階層情報設定画面521は施設60に階層情報を登録するための画面である。図9で階層設定ボタン508を押下されると、情報処理装置10は施設名を登録サーバ30に送信する。施設名を受信した登録サーバ30のWebページ作成部35はこの階層情報設定画面521を表示するための画面情報を作成し、通信部31が情報処理装置10に送信する。情報処理装置10の画面表示部15はこの画面情報を解析して階層情報設定画面521を表示する。
階層情報設定画面521は、階層名欄522、検索ボタン523、新規登録ボタン524、階層情報表示欄525、及び、編集ボタン526、を有する。図13ではすでに複数階の階層情報が登録されている点に注意されたい。
階層名欄522はユーザが階層名を検索するキーを入力する欄である。階層が数十階の大型施設ではユーザが階層を選択することが困難になるため、階層名で選択できる。検索ボタン523は階層名で階層を検索するためのボタンである。階層情報表示欄525には、階層番号、階層名、及び編集ボタン526が表示される。階層番号は、フロアが何階かを示す番号である。階層名はユーザが付与した各階層の名称である。編集ボタン526はすでに登録されている階層番号と階層名をユーザが編集するためのボタンである。新規登録ボタン524は、ユーザが新規に階層番号と階層名を登録するためのボタンである。
ユーザが編集ボタン526又は新規登録ボタン524を押下すると、図14の階層情報登録・更新画面531が表示される。情報処理装置10の通信部11は階層情報登録・更新画面531の表示要求を登録サーバ30に送信し、登録サーバ30の通信部31がこれを受信する。登録サーバ30のWebページ作成部35は階層情報登録・更新画面の画面情報を作成し、通信部31が情報処理装置10に送信する。
図14は、階層情報登録・更新画面531の一例を示す。階層情報登録・更新画面531は階層番号と階層名を登録するための画面である。階層情報登録・更新画面531は、階層番号欄532、階層名欄533、及び、登録ボタン534を有する。
図15は、階層番号と階層名を登録する手順を示すシーケンス図の一例である。
S1:ユーザは階層番号と階層名を入力して登録ボタン534を押下する。
S2:これにより、情報処理装置10の通信部11は施設名、階層番号及び階層名を登録サーバ30に送信する。
S3:登録サーバ30の通信部31はこれらを受信し、屋内地図登録部36が屋内地図DB393の施設名に対応付けて階層番号と階層名を登録する。このように施設60の各階層の階層番号と階層名が登録される。
この後、Webページ作成部35は図13の階層情報設定画面521の画面情報を生成して通信部31が情報処理装置10に送信する。したがって、図13に戻る。
次に、ユーザは図16に示す施設画像登録・更新画面541を情報処理装置10に表示させる。図16は施設画像登録・更新画面541の一例を示し、図17はアップロードダイアログ551の一例を示す。
図16の施設画像登録・更新画面541は、屋内地図アップロードボタン542、属性欄543、登録ボタン544、施設選択欄545、階層選択欄546、及び、地図表示欄547を有する。図16では屋内地図9が表示されているが、屋内地図9が登録されていなければ表示されない。図16はすでにアップロードされている屋内地図9が表示された状態を示している。
まず、1つも屋内地図9が登録されていないものとして説明する。施設選択欄545は、ユーザが登録している施設名のリストを表示し、階層選択欄546はこの施設60に登録されている階層名のリストを表示する。ユーザが新たに屋内地図9を登録する場合、ユーザは施設選択欄545から施設60を選択する。ユーザが施設選択欄545から施設60を選択すると、情報処理装置10の通信部11は施設名を登録サーバ30に送信する。登録サーバ30のWebページ作成部35は屋内地図DB393から図14で登録した全てのフロアの階層情報(主に階層名)を取得し、通信部31が情報処理装置10に送信する。
次に、ユーザが階層選択欄546を選択すると操作受付部14がこの操作を受け付け、画面表示部15が登録サーバ30から受信した階層名をリスト状に表示する。ユーザは屋内地図9を登録したい階層名を選択する。操作受付部14は施設名と階層名とを受け付けておく。更に、ユーザは図16の屋内地図アップロードボタン542を押下する。これにより、図17のアップロードダイアログ551が表示される。
図17の画面全体は図16の施設画像登録・更新画面541と同じものであり、図16の施設画像登録・更新画面541にアップロードダイアログ551が重畳されている。アップロードダイアログ551は、ファイル選択欄552、基準画像選択欄553、及びアップロード開始ボタン554を有している。
ユーザがファイル選択欄552の参照ボタン552aを押下すると、画面表示部15はファイル選択ダイアログを表示する。すなわち、記憶部19の屋内地図9を格納したファイルを表示する。ユーザがファイルを選択すると、操作受付部14がファイル名を受け付け、画面表示部15がファイル選択欄552にファイル名を表示する。
基準画像選択欄553は、配置情報の基準となる屋内地図9(フロア)をユーザが選択するための入力欄である。基準となる屋内地図9とは他の屋内地図9の配置情報の転用元(コピー元)となる屋内地図9である。つまり、ファイル選択欄552の屋内地図9の配置情報に、基準画像選択欄553のファイルの配置情報が転用(コピー)される。基準画像選択欄553は、登録サーバ30から受信した階層名をリスト状に表示する。屋内地図9が登録されていない場合、空欄でよい。
アップロード開始ボタン554は、情報処理装置10の通信部11が屋内地図9を登録サーバ30に送信するためのボタンである。操作受付部14はアップロード開始ボタン554の押下を受け付け、配置情報登録要求部13がファイル選択欄552で選択された屋内地図9、ユーザが選択した施設名と階層名を取得する。情報処理装置10の通信部11は、登録要求と共に施設名、階層名、及び、屋内地図9を登録サーバ30に送信する。
登録サーバ30の通信部31は登録要求を受信し、屋内地図登録部36が施設名、階層名に対応付けて屋内地図9を屋内地図DB393に登録する。このように、屋内地図9が登録サーバ30に登録される。
アップロード完了後、情報処理装置10の画面表示部15はアップロードダイアログ551を閉じるので、図16の施設画像登録・更新画面541に戻る。
新たな屋内地図9を登録した場合、登録サーバ30の地図画面作成部34は、現在の地図表示欄547に表示されている屋外地図8の中心に登録された屋内地図9を配置し、屋内地図9のドラッグ、サイズ変更、及び回転が可能な画面情報を作成し、登録サーバ30の通信部31が情報処理装置10に送信する。まだ、屋内地図9の配置情報(2つの座標)が決まっていないので、現在の屋外地図8の中心に表示すればよい。なお、地図画面作成部34は、施設名に対応付けられた施設60の座標を屋内地図DB393から取得して屋外地図8を作成してもよい。これにより、屋外地図8の中心に施設60が表示される。
情報処理装置10の通信部11は画面情報を受信し、画面表示部15が地図表示欄547に表示する。このように、アップロードした屋内地図9が自動的に情報処理装置10に送信され、情報処理装置10が表示できる。基準画像が指定されずに登録された屋内地図9はファイルに格納されたまま表示されるので、角度は北向きが上、サイズは例えば所定の初期値に設定される。
ユーザは表示された屋内地図9をマウスやタッチパネルなどのポインティングデバイスでドラッグしたり、サイズ変更したり、回転させたりすることで、屋外地図8に対する屋内地図9の配置を決定する。配置情報登録要求部13は、図6〜8にて説明したように配置情報を取得する。ユーザが登録ボタン544を押下すると操作受付部14がこれを受け付け、配置情報登録要求部13が、配置情報の登録要求と共に、施設名、階層名、及び配置情報を登録サーバ30に送信する。
登録サーバ30の通信部31は配置情報の登録要求を受信し、屋内地図登録部36が施設名、階層名に対応付けて配置情報を屋内地図DB393に登録する。このように、屋内地図9に配置情報が登録される。この場合、登録された配置情報は現在の屋内地図9の配置と同じなので、登録サーバ30は屋外地図8を更新しなくてよいが、更新してもよい。
なお、ユーザは属性欄543を使って配置情報を登録できる。属性欄543は、名前欄5431、横幅欄5432、縦幅欄5433、角度欄5434、及び透過度欄5435を有する。名前欄5431には屋内地図9の名称が入力される。横幅欄5432には施設60の横幅が入力される。縦幅欄5433には施設60の縦幅が入力される。角度欄5434には角度が入力される。透過度欄5435には屋内地図9の透過度が入力される。施設60の2つの座標についてはカーソルキーで調整できる。なお、図16では不図示だが、2点の座標が入力可能であってもよい。したがって、ユーザは数値で配置情報を設定することもできる。
横幅欄5432、縦幅欄5433、及び角度欄5434に入力された配置情報とユーザがドラッグ等で設定した配置情報は最後に設定された方が有効になる。
1つ以上の屋内地図9が登録された状態で、図16の施設画像登録・更新画面541が表示された場合を説明する。ユーザが施設選択欄545から施設60を選択すると、情報処理装置10の通信部11が施設名を登録サーバ30に送信する。登録サーバ30の通信部31は施設名を受信し、Webページ作成部35が施設名に対応付けられた屋内地図9と配置情報を読み出し、施設の座標を中心とする屋外地図8に配置情報にしたがって屋内地図9を重畳した画面情報を作成する。表示される屋内地図9は、例えば階層番号が1以上(地上階)で最も小さいフロアのものである(最も早く又は遅く登録されたフロアなどでもよい)。
情報処理装置10の通信部11は画面情報を受信し、画面表示部15が施設画像登録・更新画面541を更新する。これにより図16のような画面が表示される。ユーザが階層選択欄546で階層を選択すると操作受付部14がこれを受け付け、通信部11が屋内地図9の取得要求と共に施設名、及び階層名を登録サーバ30に送信する。
登録サーバ30の通信部31は屋内地図9の取得要求を受信し、Webページ作成部35が施設名及び階層名に対応付けられた屋内地図9及び配置情報を屋内地図DB393から読み出す。Webページ作成部35は、現在、表示中の屋外地図8の中心に配置情報にしたがって屋内地図9を重畳した画面情報を作成する。このように、ユーザは登録済みの屋内地図9を任意に表示できる。
なお、登録サーバ30は全てのフロアの屋内地図9及び配置情報も予め情報処理装置10に送信しておいてもよい。この場合、情報処理装置10はユーザが階層選択欄546で階層名を選択するごとに、登録サーバ30と通信する必要がない。
1つ以上の屋内地図9が登録された状態のアップロードダイアログ551について説明する。すでに、ファイル選択欄552でファイルが選択され、基準画像選択欄553で基準画像が選択されているものとする。操作受付部14はアップロード開始ボタン554の押下を受け付け、配置情報登録要求部13がファイル選択欄552で選択された屋内地図9、ユーザが選択した施設名、階層名、及び、基準画像の階層名を取得する。情報処理装置10の通信部11は、登録要求と共に施設名、階層名、基準画像の階層名、及び、屋内地図9を登録サーバ30に送信する。
登録サーバ30の通信部31は登録要求を受信し、屋内地図登録部36が施設名、階層名に対応付けて屋内地図9を屋内地図DB393に登録する。また、屋内地図登録部36は、基準画像の階層名に対応付けられた配置情報を読み出し、アップロードした屋内地図9の配置情報に転用する(コピーする)。
このように、本実施形態の地図登録システム100は、ユーザが施設60内の複数のフロアの屋内地図9を登録する際、すでに登録した基準となる屋内地図9の配置情報を転用するので、ユーザが複数の施設60の屋内地図9を登録する際の工数を低減できる。
<動作手順>
図18は、情報処理装置10が新規の屋内地図9をアップロードする手順を示すシーケンス図の一例である。すでに、1つ以上の屋内地図9が登録されているものとする。
S1:情報処理装置10の画面表示部15は施設画像登録・更新画面541を表示する。
S2:ユーザが施設名を選択すると、操作受付部14がこれを受け付ける。この時点で階層番号が最も小さいこの施設60の屋内地図9が表示される。
S3:次に、ユーザが階層名を選択すると、操作受付部14がこれを受け付ける。画面表示部15はこの階層の屋内地図9を登録サーバ30から取得して施設画像登録・更新画面541を更新する。この階層の屋内地図9がまだ登録されていない場合、画面は更新されない。
S4:ユーザが屋内地図アップロードボタン542を押下すると、操作受付部14がこれを受け付ける。画面表示部15はアップロードダイアログ551を表示する。
S5:ユーザがファイル名を選択すると、操作受付部14がこれを受け付ける。
S6:ユーザが基準画像を選択すると、操作受付部14がこれを受け付ける。
S7:ユーザがアップロード開始ボタン554を押下すると、操作受付部14がこれを受け付け、配置情報登録要求部13が施設名、階層名、屋内地図9(ファイル名)、及び基準画像の階層名を取得する。
S8:情報処理装置10の通信部11は登録要求と共に、施設名、階層名、基準画像の階層名、及び、屋内地図9を登録サーバ30に送信する。
S9:登録サーバ30の通信部31は登録要求を受信し、屋内地図登録部36が屋内地図9を屋内地図DB393に登録する。
S10:屋内地図登録部36は、新たに登録した屋内地図9の配置情報に、基準画像の屋内地図9の配置情報をコピーする。
S11:新たな屋内地図9がアップロードされたが、この屋内地図9には座標がコピーされている。Webページ作成部35はアップロードされた屋内地図の2つの座標を読み出して、2つの座標の中心を中心とする屋外地図8を作成し、角度とサイズがコピーされた値の屋内地図9を屋外地図8の中心に配置した屋内地図9を配置する。また、屋内地図9のドラッグ、サイズ変更、及び回転が可能な画面情報を作成し、登録サーバ30の通信部31が情報処理装置10に送信する。
S12:情報処理装置10の通信部11は画面情報を受信し、画面表示部15が画面情報に基づいて施設画像登録・更新画面541を更新する。
<利用例>
図19は、登録された施設60の屋内地図9を利用した居場所管理システム200の概略を説明する図の一例である。ユーザ側の施設60内には各社員71の位置を検出する位置検出装置72が配置されている。図19に示すように、社員71が施設60内を移動すると、各地の位置検出装置72と社員が携帯する携帯端末73が通信し、携帯端末73は自機の現在地を検出できる。本実施形態において位置検出装置72はどのような仕組みで現在地を検出してもよいが、例えばIMES(Indoor MEssaging System)、又は、電場ビーコンの位置情報と電波強度を利用する方法などがある。
携帯端末73は定期的に現在地と社員IDを位置管理サーバ74に送信する。位置管理サーバ74には屋内地図9が登録されている。上記の2点の座標により屋内地図9の任意の座標が算出されるので、位置管理サーバ74は携帯端末73から取得した現在地を屋内地図9に配置できる。この時、位置管理サーバは社員IDを社員名などに変換可能である。
情報処理装置10は、屋内地図9をダウンロードしてLCD206に表示する。屋内地図9には社員71の位置が表示されるので、地図登録システム100のユーザは居場所管理システム200を利用することで、個人とその居場所をリアルタイムに管理できる。
なお、社員は一例であって、施設に進入しうる人(動物を含む)又は機械(ロボット)の位置を管理できる。
<施設以外の適用例>
上記の実施形態では屋内の屋内地図9の登録について説明されているが、地図登録システム100は屋内地図9の登録に限られず適用可能である。例えば、同じ場所であっても時代によって地図が異なることはよく知られている。例えば、東京湾の形状は時代と共に埋め立て等により大きく変化しているが、ある時代にどのような状態であったかを知りたい場合は少なくない。
図20は地図登録方法の好適な適用例を説明する図の一例である。図20に示すように、本実施形態の地図登録システム100は、施設60のフロアごとの屋内地図9の代わりに、時代ごとの屋内地図9を登録するためにも好適に適用できる。図20では、昭和時代の地図91、大正時代の地図92、明治時代の地図93、及び江戸時代の地図94の同じ場所の地図が登録されうることを模式的に示す。ユーザは任意の時代を選択して、時代と共に街並みがどのように変化したかを確認できる。
このような屋外の場所の地図の登録は、例えば観光地に有効である。観光地を訪れたユーザは昔の観光地に何があったか等を地図により把握でき、観光地の理解に役立てることができる。また、観光地側も観光地の各時代の案内が可能になる。これらの場合、階層名(階層番号)は時を識別する情報で代用される。
この他、地図登録システム100は競技施設などにも適用できる。競技施設はその広さからスポーツに限られず種々のイベントに利用される。例えば、野球場は野球だけでなく、コンサート会場になったり、格闘技など他のスポーツの会場になったりすることは少なくない。この場合、イベントの内容によって競技施設内のレイアウトが変更されるのが通常である。したがって、ユーザがイベントの種類ごとに競技施設の地図を登録しておけば、イベント会場を訪れた来客者に開催中のイベントにあわせてレイアウトされた競技施設の地図を提供できる。これらの場合、階層名(階層番号)はイベントを識別する情報で代用される。
また、各種のイベントが開催される展示会場も展示会の内容によってレイアウトが大きく異なるが、主催者が展示会ごとに展示会場の地図を登録しておけば、展示会場を訪れた来客者に最適な地図を提供できる。これらの場合、階層名(階層番号)は展示会を識別する情報で代用される。
<配置情報の他の例>
配置情報には2つの座標が含まれると説明したが、2つの座標を用いずに各フロアの屋内地図9の配置を合わせることができる。図21を用いて説明する。
図21(a)は、N階とM階の屋内地図であるため、全体的な地図は異なっている。しかしながら、施設60の構造上、階段75及びエレベータ76の位置は各フロアに共通の場合が多い。このような各フロアに共通の領域を検出して、この領域を一致させれば各フロアの屋内地図9を屋外地図8に同じ配置で正確に登録できる。
情報処理装置10の通信部11は全てのフロアの屋内地図9を登録サーバ30に送信する。登録サーバ30の例えば屋内地図登録部36は全ての屋内地図9から2組を取り出す組み合わせで、パターンマッチングを行う。例えば、屋内地図9のエッジ検出を行い、屋内地図9の対応する所定領域77同士の画素を比較する。所定領域77内の同じ位置の画素値の差の絶対値又はその二乗の合計を所定領域77毎に求める。全く同じなら合計値はゼロである。
すると、2組を取り出す組み合わせの数だけ、所定領域77ごとに合計値が得られる。屋内地図登録部46は同じ所定領域77の合計値の合計をフロア間合計値として算出する。全てのフロア間で全く差がない所定領域77のフロア間合計値はゼロである。実際にはわずかなノイズなどがあるとしても閾値以下であるとして全てのフロア間でほとんど差がない所定領域77を検出できる。
全てのフロア間で全く差がない所定領域77をフロア間共通領域という。図21(a)ではN階とM階の屋内地図9で4つのフロア間共通領域78が見つかっている。
図21(b)に示すように、屋内地図登録部36は、このフロア間共通領域78の中心を基準画像に一致させる。図21(b)ではN階の屋内地図9が基準画像である。最も距離が長い2つのフロア間共通領域78を取り出して、直線79を生成する。基準画像の直線79に他の屋内地図9の直線79を一致させる。これにより、基準画像が変倍されたり角度が変更されたりしても、調整対象の屋内地図9を基準画像と同じ向きになるように調整でき、サイズも一致させることができる。
屋内地図登録部36は、一致させた状態で屋内地図9の任意の2点の(例えば、フロア間共通領域78の中心)を、屋外地図8の座標を用いて特定することで、屋内地図9の配置を特定できる。このように、基準画像の配置情報の代わりにフロア間共通領域78を検出することで屋内地図9を屋外地図8に正確に登録できる。
なお、所定領域77のサイズは階段75やエレベータ76のある程度の範囲を包含する大きさを持つことが好ましい。小さすぎると検出されるフロア間共通領域78の数が多くなり過ぎ、大きすぎるとフロア間共通領域78が検出されないおそれがある。また、連続するフロア間共通領域78があれば連結してよい。
<三次元表示>
三次元表示可能な地図が知られている。このような地図はビルなどの施設60を三次元モデルで表し、ユーザは任意の始点から三次元モデルで描画されたビルを見ることができる。このような三次元モデルの施設60に対して本実施形態の屋内地図9を適用できる。すなわち、各フロアに高さ情報が設定されることで、情報処理装置10は各フロアの屋内地図が施設の床面に貼り付けられた三次元モデルの施設60を表示できる。
図22は屋内地図が設定された三次元モデルの施設の一例を示す。図22では施設60が立体状に描画されている。ユーザは視点を任意に変更できるので、真上から見た状態で表示できる。施設60の各フロアには屋内地図9がテクスチャーとして貼り付けられている。ユーザは着目するフロアよりも上層階を透明(描画しない)に表示することで、任意のフロアの屋内地図9のみを目視できる。
また、任意の複数のフロアの屋内地図9を表示させて、比較すると行った使い方もの可能になる。
三次元表示は居場所管理システムにも適用可能である。社員等を二次元画像のアイコン又は三次元モデルで表すことで、ユーザは社員等の位置を三次元で確認できる。
<まとめ>
以上説明したように、ユーザは1つのフロアの屋内地図9の配置情報を調整すれば、他のフロアの屋内地図9の配置を決定する必要がないため、フロアごとの屋内地図9の微妙な配置調整が不要になり、複数のフロアを有する施設60の屋内地図9の登録作業が容易になる。
実施例1でユーザは施設60の屋内地図9を登録サーバ30に登録でき、居場所管理システム200を利用することで、施設内のどの部屋又は通路に社員等が存在するかを管理できるようになる。しかし、位置検出装置72が検出する社員の座標には誤差が含まれることが多いため、居場所管理システム200が屋内地図9に表示する社員の位置が必ずしも正確でない場合がある。
また、来客者が施設60を訪れると、来客者は施設内の目的地まで移動するが、来客者が適切な経路を特定できない場合がある。すなわち、目的地に到達するまでに時間がかったり、道に迷ったりするおそれがある。
そこで、本実施例では、ユーザが屋内地図9にリンクを設定できる地図登録システム100について説明する。
<本実施例の地図登録システムの概略>
図23を用いて、地図登録システム100によるリンクの登録動作を説明する。図23は任意のフロアの屋内地図9へのリンクの登録を模式的に説明する図の一例である。
(1)ユーザはポインティングデバイスを使って情報処理装置10を操作し、屋内地図9内の任意の地点にノード81を設定する。ノード81を表す画像をノードアイコン83という。図23では2つのノード81が設定されている。
(2)情報処理装置10は選択状態のノード81と、次に設定されたノード81を結ぶリンク82を設定する。
したがって、ユーザはノード81の位置を指定するという簡単な操作で屋内地図9にリンク82を設定できる。リンク82が設定されると、居場所管理システム200は社員の座標をリンク上に配置するマップマッチングが可能になるので、社員は人が存在しうる部屋又は通路に表示される。また、リンク82が設定されると、登録サーバ30が出発地から目的地までの経路を探索し、来客者等に提示できる。
<機能について>
図24は、地図登録システム100の機能をブロック状に示す機能ブロック図の一例である。なお、システム構成及びハードウェア構成図は実施例1と同様であるとする。図24の説明では、主に図5との相違を説明する。
図24の情報処理装置10は新たにリンク登録要求部16を有する。リンク登録要求部16は、ユーザが屋内地図9に設定したノード81の座標及びリンクの始点ノードと終点ノードを操作受付部14から取得し、リンクの登録を登録サーバ30に要求する。リンク登録要求部16は、CPU201がプログラム209pを実行すること等により実現される。
また、登録サーバ30は新たにリンク登録部37を有する。リンク登録部37は、情報処理装置10から送信されたノード81とリンクの始点ノードと終点ノードに基づき、屋内地図9に設定されたリンクをリンクDB394に登録する。リンク登録部37は、CPU201がプログラム209pを実行すること等により実現される。
登録サーバ30は記憶部39にリンクDB394を有している。表2を用いて、リンクDB394について説明する。
表2はリンクDB394の構成を模式的に示す。リンクDB394は、人が通行可能な施設内の道を表すデータである。表2(a)のノードテーブルと表2(b)のリンクテーブルとを有している。ノードテーブルには、ノードを識別するためのノードIDとノードの座標(緯度・経度)が登録されている。ノードとは通路網表現上の結節点である。具体的にはノードは例えば分岐点、合流点、屈曲点などである。ノードIDが分かればノードに繋がっているリンクがリンクテーブルから判明するので、ノードテーブルとリンクテーブルを相互に参照することで経路を検索できる。
また、リンクテーブルにはリンクを識別するためのリンクID、リンクの始点ノード、リンクの終点ノード、リンク長などが登録されている。この他、各種の属性(幅員、階段、エレベータ等)などが登録されてよい。リンクとはノードとノードを結ぶ通路を表し、リンクはノード同士を結ぶ線分となる。
<リンクの登録方法>
図25は、リンク登録画面601の一例を示す。リンク登録画面601は、ユーザが屋内地図9にリンクを登録するための画面である。リンク登録画面601は、登録指示メッセージ602、「他の階層からコピー」ボタン603、一括登録ボタン604、登録リセットボタン605、施設選択欄545、及び、階層選択欄546を有する。
登録指示メッセージ602には「地図上の任意の場所をマウスでクリックすることでその場所に通路(点と線)を追加します」と表示されている。施設選択欄545、及び、階層選択欄546については、実施例1と同様である。ユーザは任意のフロアの屋内地図9を表示させる。
他の階層からコピーボタン603は、ユーザがすでにリンク82を設定したフロアの全てのリンク82を、別のフロアのリンクにコピーするためのボタンである。登録リセットボタン605は、すでに登録サーバ30に登録されているリンク82をユーザが削除するためのボタンである。
図26(a)〜(d)はユーザがノードを追加してリンクを設定していく様子を示す図である。なお、図26では説明の便宜上、屋内地図9のみを示す。また、ノード81を区別するためノード81、ノードアイコン83、及び、リンク82にアルファベットを付与する。
図26(a)では1つのノード81aが設定されている。操作受付部14がマウスのクリックを受け付けると、マウスがクリックされた位置に画面表示部15がノードアイコン83を表示する。このような操作をノードの設定という。設定された直後のノードアイコン83は選択状態となる。選択状態のノードはリンクの設定又は削除の対象となるノードであることを意味する。
図26(a)のノードアイコン83aが選択された状態で、図26(b)に示すように2つの目のノード81bが設定された。操作受付部14がマウスのクリックを受け付けると、画面表示部15は選択状態のノードアイコン83a(第一のノードアイコン)と今回、設定されたノードアイコン83b(第二のノードアイコン)を接続するリンク82aを設定する。したがって、ユーザはどこにリンクが設定されたかを容易に把握できる。
図26(b)のノードアイコン83bが選択された状態で、図26(c)に示すように3つ目のノード81cが設定されている。図26(b)と同様に、操作受付部14がマウスのクリックを受け付けると、画面表示部15は選択状態のノードアイコン83bと今回、設定されたノードアイコン83cを接続するリンク82bを表示する。
ユーザはすでに設定したノードアイコン83をマウスでクリックすることで選択状態にすることができる。図26(d)ではノードアイコン83bが選択された状態で、ノードアイコン83dが設定された。画面表示部15はノードアイコン83bとノードアイコン83dを接続するリンク82cを表示する。このように、ユーザはすでに表示されているノードアイコン83を選択状態にして新たなノード81を設定することで、リンクを追加できる。
操作受付部14はこのように各ノード81の座標とリンクの始点ノードと終点ノードを受け付ける。屋内地図9は座標を有する屋外地図8に対応付けられているので、屋内地図の8の座標は明らかになっており、各ノードの座標は屋内地図9の頂点などを基準にして容易に算出される。そして、ユーザが一括登録ボタン604を押下すると、操作受付部14が該操作を受け付け、リンク登録要求部16がフロアを特定する情報と共に、ノードの座標と各リンクの情報(始点ノードと終点ノード)の登録を登録サーバ30に要求する。これにより、ユーザが選択したフロアのリンクが登録される。
図27は、リンクの登録手順を示すシーケンス図の一例である。
S1:まず、実施例1にて説明したように、ユーザは施設60とフロアを選択するので、操作受付部14がこれらを受け付ける。施設60とフロアの階層番号が登録サーバ30に通知される。
S2:次に、登録サーバ30の通信部31は屋外地図8に屋内地図9が重畳されたリンク登録画面601の画面情報を情報処理装置10に送信する。
S3、S4:情報処理装置10の操作受付部14がノード81の設定を受け付けると、画面表示部15がノードアイコン83を表示する。
S5:画面表示部15は選択状態のノードアイコン83と今回設定されたノードアイコン83を直線で結ぶリンク82を表示する。
S6:ユーザはノードの設定が終わると一括登録ボタン604を押下するので、操作受付部14が該操作を受け付ける。
S7:リンク登録要求部16は各ノードにノードIDを付与し、このノードIDを始点ノードと終点ノードとするリンク情報を生成する。また、情報処理装置10の通信部11がリンク登録要求と共に施設名、階層番号、ノードID、及び、リンク情報を登録サーバ30に送信する。なお、リンクには方向はないものとする。
S8:登録サーバ30の通信部31はリンク登録要求を受信し、リンク登録部37が施設名と階層番号に対応付けてリンクDB394にノードとリンクを登録する。情報処理装置10から送信されたノードIDをそのまま使ってもよいし、重複しないノードIDを新たに付与してもよい。また、リンク82に重複しないリンクIDを付与してリンク情報をリンクIDに対応付けて登録する。
ユーザはこのように登録されたリンクを屋内地図9と共に表示することができる。リンクを表示させずに屋内地図9のみ表示したり、リンクと共に屋内地図9を表示させたりすることができる。
<リンクの削除>
図28を用いてリンクの削除を説明する。ユーザはノード81を削除することでリンク82を削除できる。図28(a)は図26(d)と同様の状態である。この状態でユーザは削除したいリンク82の始点ノードと終端ノードをマウスカーソル84でクリックすることで、始点ノードと終端ノードに挟まれたリンク82を削除できる。
ユーザが例えばノードアイコン83dをクリックし、次いで、ノードアイコン83bをクリックする。操作受付部14がこれらの操作を受け付け、画面表示部15がノードアイコン83dと83bの間のリンク82cを削除する。また、ノードアイコン83dには接続されたリンク82cがなくなるので、画面表示部15はノードアイコン83dを削除する。
図28(b)に示すように、リンク82cとノードアイコン83dが削除される。このように、ユーザは削除したいリンク82の始点ノードと終点ノードを選択するだけでリンク82を削除できる。
図29は、情報処理装置10がリンク82を削除する手順を示すフローチャート図の一例である。
まず、操作受付部14は選択状態のノードアイコン83に続いて2つ目のノードアイコン83がクリックされたか否かを判断する(S10)。
ステップS10の判断がYesの場合、画面表示部15はクリックされた2つのノード81の間にリンク82があるか否かを判断する(S20)。
ステップS20の判断がNoの場合、リンク82を削除する必要がないので図29の処理は終了する。
ステップS20の判断がYesの場合、画面表示部15はクリックされた2つのノードを始点ノード及び終点ノードとするリンク82を削除する(S30)。
次に、画面表示部15は削除したリンク82に接続されていたノード81にリンク82が接続されているか否かを判断する(S40)。
ステップS40の判断がNoの場合、削除したノード81にリンク82が接続されていないので、画面表示部15はリンク82が接続されていないノード81を削除する(S50)。
<他のフロアのリンクのコピー>
ユーザは他の階層からコピーボタン603を押下することで、他のフロアのリンクを任意のフロアにコピーできる。他の階層からコピーボタン603を押下すると、画面表示部15はリンクコピーダイアログ611を表示する。
図30は、リンクコピーダイアログ611の一例を示す。リンクコピーダイアログ611はコピー元の階層名欄612、及び、OKボタン613を有する。コピー元の階層名欄612は、表示している施設60の階層名のリストを表示する。ユーザはリンクのコピー元にしたい階層名を選択できる。コピー先のフロアは、階層選択欄546で選択された階層名のフロアである。
ユーザがOKボタン613を押下すると、リンクコピー要求が登録サーバ30に送信され、登録サーバ30はリンクDB394に登録されているコピー元の階層名のリンク情報をコピー先の階層名に対応付けて登録する。
図31は、リンク情報のコピー手順を説明するシーケンス図の一例である。
S1:ユーザが他の階層からコピーボタン603を押下すると、操作受付部14が該操作を受け付ける。
S2:情報処理装置10の通信部11はリンクコピー要求と共に、施設名、コピー元の階層名、及びコピー先の階層名を登録サーバ30に送信する。
S3:登録サーバ30の通信部31はリンクコピー要求を受信し、リンク登録部37がコピー元の階層のリンク情報をコピー先の階層名に対応付けてリンクDB394に登録する。
各フロアの屋内地図9が似ている場合、ユーザはリンク情報をコピーできるので、一部のリンクを追加したり削除したりすれば、コピー先のフロアのリンクを作成できる。したがって、リンクの登録作業の負荷を低減できる。
<フロア間のリンク>
上記のようにフロア内のリンクをユーザは設定できるが、社員等は階段を使ってフロア間を移動する場合もある。居場所管理システム200はこの場合も社員の位置を階段上にマップマッチングすることが好ましいし、階段を使う経路案内も可能である方が便利である。
図32は階段75を使うリンク82の設定方法を説明する図の一例である。図32(a)は階段付近の屋内地図9の一例であり、図32(b)は実際の階段の形状を模式的に示す。図32(a)では2つのノード81a、81bにより階段75にリンク82aが設定されている。1つは元のフロアの階段の入り口85の近く、もう1つは踊り場86である。リンクDB394では階段75の高低差は反映されないが、階段75上にリンク82が設定されるので、居場所管理システム200は階段75に社員等の位置を表示できる。
また、このようにユーザが踊り場86までリンク82aを設定すると、登録サーバ30のリンク登録部37はフロアが異なるノード同士を接続してリンクを設定できる。
図32(c)はN階とN+1階の階段を模式的に示す図の一例である。ノード81cとノード81dによりフロアNにはリンク82bが設定されており、フロアN+1にはリンク82aが設定されている。社員等がフロアNからフロアN+1に階段75で移動する場合、階段75の下半分とリンク82aを通過する。この経路を表すにはノード81cとノード81bを登録サーバ30のリンク登録部37が接続してリンク82cを設定すればよい。
ユーザは階段75のノード81に階段としての属性を付与するため、ノード81cに階段75の入り口、ノード81bに階段75の踊り場を意味する属性を設定する。
情報処理装置10がリンクの登録を要求すると登録サーバ30のリンク登録部37は、フロアNの階段75の入り口のノード81cと、フロアN+1の踊り場のノード81bを接続してリンク82cを設定する。このように階段75の踊り場までノード81を設定し、階段75のノード81に階段の属性を設定することで、フロアが異なるノード同士を接続してリンクを設定できる。なお、1フロアに階段75が複数ある場合は、座標が近いものを接続する。
同様の処理をエレベータに対し行うことができる。ユーザはエレベータの入り口又はエレベータ内にエレベータ属性を有するノード81を設定する。登録サーバ30のリンク登録部37はエレベータ属性のノード同士を接続してリンク82を設定する。
このように、フロア間でリンク82を設定できれば、居場所管理システム200がフロアを跨ぐ経路を検索し来客者等を案内できる。
また、実施例1で説明したパターンマッチングの結果を使って、リンク登録部37はフロア間共通領域のノード81を階段75又はエレベータ76のノードであると推定してもよい。
<その他の好適な適用例>
以上、本発明を実施するための最良の形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
例えば、ユーザは基準画像を屋内地図9のアップロードのたびに基準画像選択欄553から選択するのでなく、予め基準画像を指定しておいてもよい。また、指定することなく、例えば最も早く登録した屋内地図9が自動的に基準画像に設定されてもよい。
また、図9〜図17、図25,26、28、30の画面例及びその遷移は一例に過ぎず、ユーザが入力する情報と画面例の対応が限定して解釈されたり、画面が遷移するための条件が本実施形態に限定されたりすることはない。
なお、操作受付部14は受付手段の一例であり、リンク登録要求部16はリンク登録要求手段の一例であり、リンク登録部37はリンク登録手段の一例であり、情報処理装置10は第一の情報処理装置の一例であり、登録サーバ30は第二の情報処理装置の一例である。階層番号又は階層名は地図識別情報の一例であり、リンクDB394はリンク情報記憶部の一例である。画面表示部15は画面表示手段の一例である。操作受付部14がノード81の設定のために受け付ける屋内地図9の位置は第一の位置と第二の位置の一例である。