(57)【要約】【課題】画面内にある建物の屋内地図を表示する。【解決手段】建物内の地図を示す屋内地図を表示するための階数が選択可能な選択欄を、建物外の地図を示す屋外地図上に重畳表示する地図表示装置であって、前記屋外地図のうち、前記地図表示装置の画面上に表示する表示範囲を特定する第１の特定手段と、前記第１の特定手段により特定された前記表示範囲内の屋外地図上に存在する建物を特定する第２の特定手段と、前記第２の特定手段により特定された前記建物が有する階数を取得して、取得した階数をマージするマージ手段と、前記マージ手段によりマージされた階数が選択可能な前記選択欄を、前記表示範囲内の屋外地図上に重畳表示する表示手段と、を有する。【選択図】図２
2018060143.tif 000002
【特許請求の範囲】
【請求項１】
建物内の地図を示す屋内地図を表示するための階数が選択可能な選択欄を、建物外の地図を示す屋外地図上に重畳表示する地図表示装置であって、
前記屋外地図のうち、前記地図表示装置の画面上に表示する表示範囲を特定する第１の特定手段と、
前記第１の特定手段により特定された前記表示範囲内の屋外地図上に存在する建物を特定する第２の特定手段と、
前記第２の特定手段により特定された前記建物が有する階数を取得して、取得した階数をマージするマージ手段と、
前記マージ手段によりマージされた階数が選択可能な前記選択欄を、前記表示範囲内の屋外地図上に重畳表示する表示手段と、
を有する地図表示装置。
【請求項２】
前記第２の特定手段は、
前記屋外地図上に存在する建物のうち、該建物を含む所定の領域の少なくとも一部が前記表示範囲と重畳する建物を、前記表示範囲内の屋外地図上に存在する建物と特定する、請求項１に記載の地図表示装置。
【請求項３】
前記建物を含む所定の領域は、該建物のバウンディングボックスである、請求項２に記載の地図表示装置。
【請求項４】
前記第２の特定手段により特定された前記建物が有する階数と、該階数毎の高さを示すフロア階層とを取得して、前記フロア階層に応じて前記建物の階数を割り当て直す階数割当手段を有し、
前記マージ手段は、
前記階数割当手段により割り当て直された階数をマージする、請求項１乃至３の何れか一項に記載の地図表示装置。
【請求項５】
前記階数割当手段は、
複数の前記建物について、フロア階層が同一である場合には、同一の階数となるように、複数の前記建物の階数を割り当て直す、請求項４に記載の地図表示装置。
【請求項６】
前記表示手段は、
前記選択欄から階数が選択された場合、前記表示範囲内の屋外地図上に存在する建物の前記階数の屋内地図を表示する、請求項１乃至５の何れか一項に記載の地図表示装置。
【請求項７】
建物内の地図を示す屋内地図を表示するための階数が選択可能な選択欄を、建物外の地図を示す屋外地図上に重畳表示する地図表示装置に用いられる地図表示方法であって、
前記屋外地図のうち、前記地図表示装置の画面上に表示する表示範囲を特定する第１の特定手順と、
前記第１の特定手順により特定された前記表示範囲内の屋外地図上に存在する建物を特定する第２の特定手順と、
前記第２の特定手順により特定された前記建物が有する階数を取得して、取得した階数をマージするマージ手順と、
前記マージ手順によりマージされた階数が選択可能な前記選択欄を、前記表示範囲内の屋外地図上に重畳表示する表示手順と、
を有する地図表示方法。
【請求項８】
建物内の地図を示す屋内地図を表示するための階数が選択可能な選択欄を、建物外の地図を示す屋外地図上に重畳表示する地図表示装置を、
前記屋外地図のうち、前記地図表示装置の画面上に表示する表示範囲を特定する第１の特定手段、
前記第１の特定手段により特定された前記表示範囲内の屋外地図上に存在する建物を特定する第２の特定手段、
前記第２の特定手段により特定された前記建物が有する階数を取得して、取得した階数をマージするマージ手段、
前記マージ手段によりマージされた階数が選択可能な前記選択欄を、前記表示範囲内の屋外地図上に重畳表示する表示手段、
として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、地図表示装置、地図表示方法、及びプログラムに関する。
【背景技術】
【０００２】
携帯電話やスマートフォン、カーナビゲーション等の端末装置において、地図を表示する技術が知られている。このような端末装置では、所望の目的地を設定することで、例えば現在地から目的地までの経路案内をユーザに提供する。
【０００３】
経路案内において、目的施設が建物の何階に存在するかを表示する技術が知られている（例えば特許文献１参照）。また、地下街や高架下等の地下地図を表示することができる技術が知られている（例えば特許文献２参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平１１−６５４２８号公報
【特許文献２】特開２００５−５５４７８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ここで、ユーザは、例えば、端末装置の画面上に表示されている階数選択欄から所望の階数を選択することで、選択した階数における建物内の地図（屋内地図）を表示することができる。
【０００６】
しかしながら、例えば、端末装置の画面上に表示されている地図（屋外地図）上に存在する建物が有しない階数を階数選択欄から選択することができる場合があった。この場合、当該階数が階数選択欄から選択されたとしても屋内地図を表示することはできない。
【０００７】
したがって、端末装置の画面上に表示されている屋外地図上に存在する建物が有しない階数は、階数選択欄から選択することができないようにすることが好ましい。
【０００８】
本発明の一実施形態は、上記の点に鑑みてなされたもので、画面内にある建物の屋内地図を表示することを目的する。
【課題を解決するための手段】
【０００９】
上記目的を達成するため、本発明の一実施形態は、建物内の地図を示す屋内地図を表示するための階数が選択可能な選択欄を、建物外の地図を示す屋外地図上に重畳表示する地図表示装置であって、前記屋外地図のうち、前記地図表示装置の画面上に表示する表示範囲を特定する第１の特定手段と、前記第１の特定手段により特定された前記表示範囲内の屋外地図上に存在する建物を特定する第２の特定手段と、前記第２の特定手段により特定された前記建物が有する階数を取得して、取得した階数をマージするマージ手段と、前記マージ手段によりマージされた階数が選択可能な前記選択欄を、前記表示範囲内の屋外地図上に重畳表示する表示手段と、を有する。
【発明の効果】
【００１０】
本発明の一実施形態によれば、画面内にある建物の屋内地図を表示することができる。
【図面の簡単な説明】
【００１１】
【図１】第一の実施形態に係る地図表示装置の一例の構成を示す図である。
【図２】階数選択欄の表示の一例を説明する図である。
【図３】第一の実施形態に係る地図表示装置の一例のハードウェア構成を示す図である。
【図４】第一の実施形態に係る地図表示装置の一例の機能構成を示す図である。
【図５】第一の実施形態に係る屋内地図データの一例を示す図である。
【図６】第一の実施形態に係る階数選択欄の表示処理の一例を示すフローチャートである。
【図７】バウンディングボックスの一例を示す図である。
【図８】階数選択欄が表示された地図表示画面の一例を示す図である。
【図９】第二の実施形態に係る地図表示装置の一例の機能構成を示す図である。
【図１０】第二の実施形態に係る屋内地図データの一例を示す図である。
【図１１】第二の実施形態に係る階数選択欄の表示処理の一例を示すフローチャートである。
【図１２】フロア階層に応じた階数の割り当ての一例を説明する図である。
【図１３】地図表示装置及び地図提供サーバを含む地図表示システムの一例の構成を示す図である。
【発明を実施するための形態】
【００１２】
以下、本発明の実施の形態について、図面を参照しながら詳細に説明する。
【００１３】
［第一の実施形態］
＜地図表示装置の構成＞
まず、本実施形態に係る地図表示装置１０の構成について、図１を参照しながら説明する。図１は、本実施形態に係る地図表示装置１０の一例の構成を示す図である。
【００１４】
本実施形態に係る地図表示装置１０は、例えば、携帯電話やスマートフォン、タブレット端末、ＰＣ（パーソナルコンピュータ）、ゲーム機器、カーナビゲーション装置等の各種電子機器である。
【００１５】
図１に示すように、本実施形態に係る地図表示装置１０は、地図表示プログラム１００がインストールされている。また、本実施形態に係る地図表示装置１０は、屋外地図データ記憶部１１０と、屋内地図データ記憶部１２０とを有している。
【００１６】
地図表示装置１０は、地図表示プログラム１００により、屋外地図データ記憶部１１０に記憶されている屋外地図データに基づいて、例えばユーザにより指定された位置を中心とした所定の範囲内の屋外の地図（屋外地図）を表示する。このとき、地図表示装置１０は、屋外地図上にある建物における階数毎の地図（屋内地図）を表示するための階数選択欄を表示する。
【００１７】
また、地図表示装置１０は、地図表示プログラム１００により、屋内地図データ記憶部１２０に記憶されている屋内地図データに基づいて、階数選択欄の中からユーザにより選択された階数の屋内地図を表示する。
【００１８】
これにより、本実施形態に係る地図表示装置１０は、例えばユーザにより指定された位置の周囲の屋外地図を表示すると共に、この屋外地図内にある建物の屋内地図のうち、階数選択欄からユーザにより選択された階数の屋内地図を表示することができる。
【００１９】
なお、屋外地図データとは、地図表示装置１０の画面上に屋外地図を表示するためのデータであり、例えば、緑地や河川、道路、都道府県等の表示対象の種類毎に分類され、緯度及び経度等が既知のメッシュ状に区切られて管理されている。そして、表示対象の種類毎に分類された屋外地図データは、縮尺に応じて、当該種類毎に予め決められたレイヤーに、メッシュ毎に描画されることで表示される。したがって、地図表示プログラム１００は、例えば、表示対象の種類毎に分類された屋外地図データがそれぞれ描画されたメッシュ状のレイヤーを、１つ以上結合して重畳することにより、地図表示装置１０の画面上に屋外地図を表示する。
【００２０】
また、屋内地図データとは、地図表示装置１０の画面上に屋内地図を表示するためのデータであり、後述するように、建物毎及び階数毎に、この建物における階数毎の屋内地図を表示するための屋内地図描画データが管理されている。そして、建物毎及び階数毎に管理されている屋内地図描画データは、ユーザによる階数の指定に応じて、地図表示装置１０の画面上に表示されている屋外地図上にある建物の屋内地図描画データのうち、当該指定された階数の屋内地図描画データを、予め決められたレイヤーに描画することで表示される。したがって、地図表示プログラム１００は、例えば、地図表示装置１０の画面上に表示されている屋外地図上にある建物の指定された階数の屋内地図描画データがそれぞれ描画されたレイヤーを、１つ以上結合して重畳することにより、地図表示装置１０の画面上に屋内地図を表示する。屋内地図データには、建物の境界（外縁）により決定される領域を示すバウンディングボックスも含まれる。
【００２１】
本実施形態に係る地図表示装置１０は、上述したように、階数選択欄の中からユーザが所望の階数を指定（選択）することで、当該地図表示装置１０の画面上に表示されている屋外地図内にある建物における当該階数の屋内地図を表示することができる。ここで、ユーザが階数を指定（選択）するための階数選択欄の表示について、図２を参照しながら説明する。図２は、階数選択欄の表示の一例を説明する図である。
【００２２】
図２に示すように、屋外地図上に、例えば、地上１階から地上３階までの階数を有する建物Ａ、地下１階から地上１階までの階数を有する建物Ｂ、地下３階から地上４階までの階数を有する建物Ｃ、及び地下２階から地上２階までの階数を有する建物Ｄがあるものとする。また、図２に示すように、各建物Ａ〜Ｄには、その境界（外縁）により決定される領域であるバウンディングボックス１１００〜１４００がそれぞれ定められているものとする。
【００２３】
このとき、図２に示すように、地図表示装置１０の画面上に屋外地図が表示されている範囲が表示範囲１０００である場合、表示範囲１０００は、バウンディングボックス１１００、１２００、及び１４００と少なくとも一部が重畳する。一方で、表示範囲１０００は、バウンディングボックス１３００とは重畳しない。
【００２４】
したがって、この場合、地図表示装置１０は、建物Ａ、建物Ｂ、及び建物Ｄが有する階数をマージして、このマージした階数が含まれる階数選択欄２０００を表示する。一方で、地図表示装置１０は、建物Ｃが有する階数（地下３階から地上４階）を階数選択欄２０００に表示しない。
【００２５】
階数選択欄２０００は、屋内地図を表示する階数をユーザが選択するための選択欄である。ユーザは、階数選択欄２０００から所望の階数を選択することにより、表示範囲１０００内にある建物（すなわち、建物Ａ、建物Ｂ、及び建物Ｄ）の屋内地図のうち、選択された階数の屋内地図を表示させることができる。
【００２６】
このように、本実施形態に係る地図表示装置１０は、バウンディングボックスの少なくとも一部が表示範囲と重畳する建物について、この建物が有する階数をマージする。そして、本実施形態に係る地図表示装置１０は、マージした階数が含まれる階数選択欄を表示する。
【００２７】
すなわち、本実施形態に係る地図表示装置１０は、建物毎にバウンディングボックスを予め定義して、このバウンディングボックスの少なくとも一部が表示範囲と重畳する場合に、このバウンディングボックスに含まれる建物が有する階数を階数選択欄に表示する。
【００２８】
これにより、本実施形態に係る地図表示装置１０は、この地図表示装置１０の画面上に表示されている建物の階数のみが含まれる階数選択欄を表示する。したがって、本実施形態に係る地図表示装置１０では、例えば、上記の建物Ｃのように、表示範囲外にある建物の階数（すなわち、仮に当該階数をユーザが選択したとしても屋内地図が表示されない階数）が階数選択欄に表示されるような事態を防止することができる。
【００２９】
＜ハードウェア構成＞
次に、本実施形態に係る地図表示装置１０のハードウェア構成について、図３を参照しながら説明する。図３は、本実施形態に係る地図表示装置１０の一例のハードウェア構成を示す図である。
【００３０】
図３に示すように、本実施形態に係る地図表示装置１０は、入力装置３０１と、表示装置３０２と、外部Ｉ／Ｆ３０３と、通信Ｉ／Ｆ３０４とを有する。また、本実施形態に係る地図表示装置１０は、ＲＯＭ（Read Only Memory）３０５と、ＲＡＭ（Random Access Memory）３０６と、ＣＰＵ（Central Processing Unit）３０７と、記憶装置３０８とを有する。更に、これらハードウェアは、バスＢで互いに接続されている。
【００３１】
入力装置３０１は、例えば、タッチパネルや各種ボタン等であり、ユーザが地図表示装置１０に各種入力（例えば、表示する屋内地図の階数の入力等）を行うのに用いられる。表示装置３０２は、例えば、ＬＣＤ（Liquid Crystal Display）等であり、地図表示装置１０による処理結果を表示する。
【００３２】
外部Ｉ／Ｆ３０３は、外部装置とのインタフェースである。外部装置には、記録媒体３０３ａ等がある。地図表示装置１０は、外部Ｉ／Ｆ３０３を介して、記録媒体１３ａの読み取りや書き込みを行うことができる。
【００３３】
記録媒体３０３ａには、例えば、ＣＤ、ＤＶＤ、ＳＤメモリカード、ＵＳＢメモリ等がある。なお、記録媒体３０３ａには、地図表示プログラム１００が格納されていても良い。
【００３４】
通信Ｉ／Ｆ３０４は、地図表示装置１０が他の装置等と通信を行うためのインタフェースである。地図表示装置１０は、通信Ｉ／Ｆ３０４を介して、他の装置等との間でデータ通信を行うことができる。
【００３５】
記憶装置３０８は、プログラムやデータを格納している不揮発性のメモリであり、例えば、ＨＤＤ（Hard Disk Drive）やＳＳＤ（Solid State Drive）等である。記憶装置３０８に格納されているプログラムやデータには、地図表示プログラム１００、地図表示装置１０全体を制御する基本ソフトウェアであるＯＳ（Operating System）等がある。
【００３６】
ＲＡＭ３０６は、プログラムやデータを一時保持する揮発性の半導体メモリである。ＲＯＭ３０５は、電源を切ってもプログラムやデータを保持することができる不揮発性の半導体メモリである。ＲＯＭ３０５には、例えば、ＯＳ設定やネットワーク設定等のデータが格納されている。
【００３７】
ＣＰＵ３０７は、ＲＯＭ３０５や記憶装置３０８等からプログラムやデータをＲＡＭ３０６上に読み出し、当該プログラムやデータに基づく処理を実行することで、地図表示装置１０全体の制御や各種の機能を実現する演算装置である。
【００３８】
本実施形態に係る地図表示装置１０は、図３に示すハードウェア構成を有することにより、後述するような各種処理を実現できる。
【００３９】
＜機能構成＞
次に、本実施形態に係る地図表示装置１０の機能構成について、図４を参照しながら説明する。図４は、本実施形態に係る地図表示装置１０の一例の機能構成を示す図である。
【００４０】
図４に示すように、本実施形態に係る地図表示装置１０は、表示位置取得部１０１と、屋外地図取得部１０２と、表示範囲特定部１０３と、屋内地図取得部１０４と、バウンディングボックス特定部１０５と、階数マージ部１０６と、表示制御部１０７とを有する。これら各機能部は、地図表示装置１０にインストールされた地図表示プログラム１００が、ＣＰＵ３０７に実行させる処理により実現される。
【００４１】
また、本実施形態に係る地図表示装置１０は、屋外地図データ記憶部１１０と、屋内地図データ記憶部１２０とを有する。これら各記憶部は、例えば記憶装置３０８を用いて実現可能である。なお、これら各記憶部のうちの少なくとも一の記憶部が、地図表示装置１０とネットワークを介して接続される記憶装置等を用いて実現されていても良い。
【００４２】
表示位置取得部１０１は、屋外地図上における表示位置を取得する。表示位置は、例えば、ユーザにより指定された緯度及び経度でも良いし、ユーザにより指定された施設名等の施設の位置でも良い。また、表示位置は、例えば、地図表示装置１０の画面上に表示されている屋外地図上の任意の位置をユーザが選択等することにより指定されても良い。
【００４３】
屋外地図取得部１０２は、表示位置取得部１０１により取得された表示位置から所定の範囲内の屋外地図を表示するための屋外地図データを、屋外地図データ記憶部１１０から取得する。
【００４４】
表示範囲特定部１０３は、屋外地図取得部１０２により取得された屋外地図データが表示することができる屋外地図のうち、地図表示装置１０の画面上に表示される屋外地図の範囲（すなわち、表示範囲）を特定する。
【００４５】
すなわち、表示範囲特定部１０３は、例えば、屋外地図取得部１０２により取得された屋外地図データが表示することができる屋外地図のうち、表示位置取得部１０１により取得された表示位置を中心として、拡縮倍率等に応じた所定の範囲内を表示範囲と特定する。
【００４６】
屋内地図取得部１０４は、屋外地図取得部１０２により取得された屋外地図データが表示することができる屋外地図上に存在する建物の屋内地図を表示するための屋内地図データを、屋内地図データ記憶部１２０から取得する。
【００４７】
バウンディングボックス特定部１０５は、屋内地図取得部１０４により取得された屋内地図データに含まれるバウンディングボックスのうち、表示範囲特定部１０３により特定された表示範囲と少なくとも一部が重畳するバウンディングボックスを特定する。
【００４８】
階数マージ部１０６は、バウンディングボックス特定部１０５により特定されたバウンディングボックスに対応する建物が有する階数をマージする。
【００４９】
表示制御部１０７は、階数マージ部１０６によりマージされた階数を含む階数選択欄を表示装置３０２上に表示する。階数選択欄は、上述したように、屋内地図を表示する階数をユーザが選択するための選択欄である。ユーザが階数選択欄から所望の階数を選択することで、表示範囲特定部１０３により特定された表示範囲内にある建物の屋内地図のうち、選択された階数の屋内地図が表示される。
【００５０】
また、表示制御部１０７は、屋外地図取得部１０２により取得された屋外地図データが表示することができる屋外地図のうち、表示範囲特定部１０３により特定された表示範囲内にある屋外地図を表示装置３０２上に表示する。更に、表示制御部１０７は、屋内地図取得部１０４により取得された屋内地図データが表示することができる屋内地図のうち、表示範囲内に存在する建物の屋内地図であって、階数選択欄から選択された階数の屋内地図を表示装置３０２上に表示する。
【００５１】
屋外地図データ記憶部１１０は、上述した屋外地図データを記憶する。屋内地図データ記憶部１２０は、上述した屋内地図データを記憶する。
【００５２】
ここで、屋内地図データ記憶部１２０に記憶されている屋内地図データの詳細について、図５を参照しながら説明する。図５は、本実施形態に係る屋内地図データの一例を示す図である。
【００５３】
図５に示すように、屋内地図データ記憶部１２０に記憶されている屋内地図データには、建物ＩＤと、建物名と、バウンディングボックスと、階数と、屋内地図描画データとが対応付けられたデータである。
【００５４】
建物ＩＤは、施設等の建物を識別する情報である。建物名は、建物の名称である。バウンディングボックスは、建物の境界により決定される領域の情報であり、例えば、建物の境界を定義するための緯度及び経度（例えば、建物の４隅の緯度及び経度や建物の対角にある緯度及び経度等）が設定される。階数は、建物が有する階数である。屋内地図描画データは、建物の階数毎の屋内地図を描画するためのデータである。
【００５５】
このように、屋内地図データには、建物のバウンディングボックスが含まれていると共に、この建物の階数と、階数毎の屋内地図描画データとが含まれている。
【００５６】
＜処理の詳細＞
次に、本実施形態に係る地図表示装置１０の処理の詳細について説明する。以降では、屋内地図を表示する階数をユーザが選択するための階数選択欄を表示する処理について、図６を参照しながら説明する。図６は、本実施形態に係る階数選択欄の表示処理の一例を示すフローチャートである。
【００５７】
まず、表示位置取得部１０１は、屋外地図上における表示位置を取得する（ステップＳ６０１）。表示位置取得部１０１は、例えば、ユーザにより指定された緯度及び経度を表示位置として取得しても良いし、ユーザにより指定された施設名等の施設の位置を示す緯度及び経度を表示位置として取得しても良い。また、表示位置取得部１０１は、例えば、地図表示装置１０の画面上に表示されている屋外地図上の任意の位置をユーザが選択等することにより指定された緯度及び経度を表示位置として取得しても良い。更に、表示位置取得部１０１は、例えば、ＧＰＳ（Global Positioning System）受信機等により測定された、ユーザの現在地（すなわち、地図表示装置１０の現在地）を示す緯度及び経度を表示位置として取得しても良い。
【００５８】
次に、屋外地図取得部１０２は、上記のステップＳ６０１で取得された表示位置から所定の範囲内の屋外地図を表示するための屋外地図データを、屋外地図データ記憶部１１０から取得する（ステップＳ６０２）。
【００５９】
次に、表示範囲特定部１０３は、上記のステップＳ６０２で取得された屋外地図データが表示することができる屋外地図のうち、表示制御部１０７により画面上に表示される屋外地図の範囲（すなわち、表示範囲）を特定する（ステップＳ６０３）。
【００６０】
すなわち、表示範囲特定部１０３は、例えば、上記のステップＳ６０２で取得された屋外地図データが表示することができる屋外地図のうち、上記のステップＳ６０１で取得された表示位置を中心として、拡縮倍率等に応じた所定の範囲内を表示範囲と特定する。
【００６１】
次に、屋内地図取得部１０４は、上記のステップＳ６０２で取得された屋外地図データが表示することができる屋外地図上に存在する建物の屋内地図を表示するための屋内地図データを、屋内地図データ記憶部１２０から取得する（ステップＳ６０４）。
【００６２】
次に、バウンディングボックス特定部１０５は、上記のステップＳ６０４で取得された屋内地図データに含まれるバウンディングボックスのうち、上記のステップＳ６０３で特定された表示範囲と少なくとも一部が重畳するバウンディングボックスを特定する（ステップＳ６０５）。
【００６３】
すなわち、バウンディングボックス特定部１０５は、上記のステップＳ６０４で取得された各屋内地図データに含まれるバウンディングボックスについて、このバウンディングボックスと、上記のステップＳ６０３で特定された表示範囲との少なくとも一部が重畳するか否かを判定する。そして、バウンディングボックス特定部１０５は、当該表示範囲と少なくとも一部が重畳すると判定されたバウンディングボックスを特定する。
【００６４】
例えば、図２に示すように、建物Ａのバウンディングボックス１１００、建物Ｂのバウンディングボックス１２００、及び建物Ｄのバウンディングボックス１４００は、表示範囲１０００と少なくとも一部が重畳する。したがって、この場合、バウンディングボックス特定部１０５は、これらのバウンディングボックス１１００、１２００、及び１４００を特定する。
【００６５】
ここで、例えば建物が四角形でない場合のバウンディングボックスについて、図７を参照しながら説明する。図７は、バウンディングボックスの一例を示す図である。
【００６６】
図７（ａ）に示すように、建物ＢＬが四角形でない場合、この建物ＢＬを含む最小の四角形の領域をバウンディングボックス１５００Ａとすれば良い。また、図７（ｂ）に示すように、この建物ＢＬの形状に沿った領域をバウンディングボックス１５００Ｂとしても良い。
【００６７】
なお、バウンディングボックスは、建物を含む最小の四角形の領域や建物の形状に沿った領域に限られず、建物を含む領域であれば良い。すなわち、バウンディングボックスは、例えば、建物を含む円形の領域や建物を含む多角形の領域等であっても良い。
【００６８】
次に、階数マージ部１０６は、上記のステップＳ６０５で特定されたバウンディングボックスと対応付けられている階数をマージする（ステップＳ６０６）。
【００６９】
すなわち、階数マージ部１０６は、上記のステップＳ６０５で特定されたバウンディングボックスが含まれる屋内地図データから階数を取得して、取得した階数をマージする。例えば、上記のステップＳ６０５において、建物Ａ、建物Ｂ、及び建物Ｄのバウンディングボックスが特定された場合、建物Ａの階数「１Ｆ」、「２Ｆ」、及び「３Ｆ」と、建物Ｂの階数「Ｂ１」及び「１Ｆ」と、建物Ｄの階数「Ｂ２」、「Ｂ１」、「１Ｆ」、及び「２Ｆ」とをマージする。このとき、階数マージ部１０６によるマージ結果は、「Ｂ２」、「Ｂ１」、「１Ｆ」、「２Ｆ」、及び「３Ｆ」である。
【００７０】
次に、表示制御部１０７は、上記のステップＳ６０６でマージされた階数を含む階数選択欄を表示する（ステップＳ６０７）。
【００７１】
すなわち、表示制御部１０７は、例えば図８に示す地図表示画面Ｇ１００を表示装置３０２上に表示する。図８は、階数選択欄Ｇ１１０が表示された地図表示画面Ｇ１００の一例を示す図である。
【００７２】
図８に示す地図表示画面Ｇ１００には、上記のステップＳ６０６でマージされた階数「Ｂ２」、「Ｂ１」、「１Ｆ」、「２Ｆ」、及び「３Ｆ」を含む階数選択欄Ｇ１１０が表示されている。ユーザは、階数選択欄Ｇ１１０から所望の階数を選択することで、地図表示画面Ｇ１００上にある建物（すなわち、表示範囲内にある建物）の屋内地図のうち、選択された階数の屋内地図が表示される。
【００７３】
例えば、階数選択欄Ｇ１１０の中から、ユーザが「１Ｆ」を選択した場合、表示制御部１０７は、建物Ａ、建物Ｂ、及び建物Ｄの「１Ｆ」の屋内地図を、地図表示画面Ｇ１００上に表示する。なお、これらの屋内地図は、建物Ａ、建物Ｂ、及び建物Ｄの屋内地図データに含まれる「１Ｆ」の屋内地図描画データに基づいて表示される。ただし、建物Ｂについては、地図表示画面Ｇ１００上に表示されている部分に対応する屋内地図が表示される。
【００７４】
同様に、例えば、階数選択欄Ｇ１１０の中から、ユーザが「２Ｆ」を選択した場合、表示制御部１０７は、建物Ａ、建物Ｂ、及び建物Ｄのうち、「２Ｆ」がある建物（すなわち、建物Ａ及び建物Ｄ）における「２Ｆ」の屋内地図を、地図表示画面Ｇ１００上に表示する。なお、これらの屋内地図は、上記と同様に、建物Ａ及び建物Ｄの屋内地図データに含まれる「２Ｆ」の屋内地図描画データに基づいて表示される。
【００７５】
また、同様に、例えば、階数選択欄Ｇ１１０の中から、ユーザが「３Ｆ」を選択した場合、表示制御部１０７は、建物Ａ、建物Ｂ、及び建物Ｄのうち、「３Ｆ」がある建物（すなわち、建物Ａ）における「３Ｆ」の屋内地図を、地図表示画面Ｇ１００上に表示する。なお、当該屋内地図は、上記と同様に、建物Ａの屋内地図データに含まれる「３Ｆ」の屋内地図描画データに基づいて表示される。
【００７６】
また、同様に、例えば、階数選択欄Ｇ１１０の中から、ユーザが「Ｂ２」を選択した場合、表示制御部１０７は、建物Ａ、建物Ｂ、及び建物Ｄのうち、「Ｂ２」がある建物（すなわち、建物Ｄ）における「Ｂ２」の屋内地図を、地図表示画面Ｇ１００上に表示する。なお、当該屋内地図は、上記と同様に、建物Ｄの屋内地図データに含まれる「Ｂ２」の屋内地図描画データに基づいて表示される。
【００７７】
以上のように、本実施形態に係る地図表示装置１０では、屋内地図の表示対象の階数をユーザが選択するための階数選択欄を表示する。しかも、本実施形態に係る地図表示装置１０では、表示範囲内（すなわち、画面内）の屋外地図上に存在する建物の階数のみを階数選択欄に表示する。このため、本実施形態に係る地図表示装置１０のユーザは、当該表示範囲内において表示可能な屋内地図の階数のみを階数選択欄から選択することができる。言い換えれば、本実施形態に係る地図表示装置１０のユーザは、当該表示範囲内の屋外地図上に存在する建物が有しない階数を階数選択欄から選択することができない。
【００７８】
［第二の実施形態］
次に、第二の実施形態について説明する。ここで、複数の建物同士が、例えば連絡通路で繋がっている場合がある。このような場合、屋内地図では、建物同士を繋ぐ連絡通路も表示することができれば便利である。一方で、建物の異なる階数同士が連絡通路で繋がっている場合（例えば、建物Ａの３階と、建物Ｄの２階とが連絡通路で繋がっている場合）もあり得る。
【００７９】
そこで、第二の実施形態に係る地図表示装置１０では、例えば、上記のような異なる階数同士を繋ぐ連絡通路も屋内地図で表示可能なように、建物の高さを基準として階数を割り当てた上で、階数選択欄に表示する。これにより、本実施形態に係る地図表示装置１０では、例えば、同一の高さにある建物Ａの３階と、建物Ｄの２階と、これらを繋ぐ連絡通路とを含む屋内地図を表示することができるようになる。
【００８０】
なお、第二の実施形態では、主に、第一の実施形態と異なる機能構成や異なる処理を行う箇所について説明し、第一の実施形態と同一の機能構成や同一の処理を行う箇所については、その説明を省略するものとする。
【００８１】
＜機能構成＞
まず、本実施形態に係る地図表示装置１０の機能構成について、図９を参照しながら説明する。図９は、本実施形態に係る地図表示装置１０の一例の機能構成を示す図である。
【００８２】
図９に示すように、本実施形態に係る地図表示装置１０は、階数マージ部１０６Ａと、階数割当部１０８とを有する。これら各機能部は、地図表示装置１０にインストールされた地図表示プログラム１００が、ＣＰＵ３０７に実行させる処理により実現される。
【００８３】
また、本実施形態に係る地図表示装置１０は、屋内地図データ記憶部１２０Ａを有する。当該記憶部は、例えば記憶装置３０８を用いて実現可能である。なお、当該記憶部は、地図表示装置１０とネットワークを介して接続される記憶装置等を用いて実現されていても良い。
【００８４】
階数割当部１０８は、バウンディングボックス特定部１０５により特定されたバウンディングボックスに対応する建物が有する階数について、屋内地図データに含まれる建物の階数の高さ（後述するフロア階層）に応じた階数を割り当てる。すなわち、階数割当部１０８は、複数の建物の階数について、フロア階数が同一である場合には、同一の階数となるように、階数を割り当てる。
【００８５】
階数マージ部１０６Ａは、階数割当部１０８により割り当てられた階数をマージする。
【００８６】
屋内地図データ記憶部１２０Ａは、屋内地図データを記憶する。ここで、屋内地図データ記憶部１２０Ａに記憶されている屋内地図データの詳細について、図１０を参照しながら説明する。図１０は、本実施形態に係る屋内地図データの一例を示す図である。
【００８７】
図１０に示すように、屋内地図データ記憶部１２０Ａに記憶されている屋内地図データには、建物ＩＤと、建物名と、バウンディングボックスと、階数と、フロア階層と、屋内地図描画データとが対応付けられたデータである。これらのうち、建物ＩＤ、建物名、バウンディングボックス、階数、及び屋内地図描画データは、第一の実施形態と同様である。
【００８８】
フロア階層は、建物の階数毎に対応付けられており、当該階数の高さ（例えば、地表からの相対的な高さ）を表す情報である。
【００８９】
例えば、建物Ａの１階にはフロア階層「１０」が、建物Ａの２階にはフロア階層「１５」が、建物Ａの３階にはフロア階層「２０」が対応付けられている。同様に、例えば、建物Ｄの地下２階にはフロア階層「−１０」が、建物Ｄの地下１階にはフロア階層「−５」が、建物Ｄの１階にはフロア階層「１０」が、建物Ｄの２階にはフロア階層「２０」が対応付けられている。
【００９０】
ここで、建物Ａの３階と、建物Ｄの２階とは、同一のフロア階層「２０」が対応付けられている。したがって、建物Ａの３階と、建物Ｄの２階とは、同じ高さにあることがわかる。
【００９１】
同様に、例えば、建物Ｂの地下１階と、建物Ｄの地下２階とは、同一のフロア階層「−１０」が対応付けられている。したがって、建物Ｂの地下１階と、建物Ｄの地下２階とは、同じ高さ（この場合、地表から同じ深さ）にあることがわかる。
【００９２】
このように、屋内地図データには、建物のバウンディングボックスが含まれていると共に、この建物の階数と、この建物の階数の地表からの相対的な高さと、階数毎の屋内地図描画データとが含まれている。
【００９３】
＜処理の詳細＞
次に、本実施形態に係る地図表示装置１０の処理の詳細について説明する。以降では、屋内地図を表示する階数をユーザが選択するための階数選択欄を表示する処理について、図１１を参照しながら説明する。図１１は、本実施形態に係る階数選択欄の表示処理の一例を示すフローチャートである。なお、図１１のステップＳ６０１〜ステップＳ６０５の処理は、第一の実施形態と同様であるため、その説明を省略する。
【００９４】
ステップＳ６０５に続いて、階数割当部１０８は、バウンディングボックス特定部１０５により特定されたバウンディングボックスに対応する建物が有する階数について、屋内地図データに含まれる建物の階数のフロア階層に応じた階数を割り当てる（ステップＳ１１０１）。すなわち、階数割当部１０８は、バウンディングボックス特定部１０５により特定されたバウンディングボックスに対応する建物が有する階数を、同一のフロア階層が同一の階数となるように割り当てる。
【００９５】
ここで、フロア階層に応じた階数の割り当てについて、図１２を参照しながら説明する。図１２は、フロア階層に応じた階数の割り当ての一例を説明する図である。
【００９６】
図１２（ａ）に示すように、建物Ａの１階のフロア階層が「１０」、２階のフロア階層が「１５」、３階のフロア階層が「２０」であるものとする。同様に、建物Ｄの地下２階のフロア階層が「−１０」、地下１階のフロア階層が「−５」、１階のフロア階層が「１０」、２階のフロア階層が「２０」であるものとする。また、同様に、建物Ｂの地下１階のフロア階層が「−１０」、１階のフロア階層が「１０」であるものとする。
【００９７】
このとき、階数割当部１０８は、建物Ａ、建物Ｂ、及び建物Ｄについて、最も小さいフロア階層から順に階数を割り当てる。
【００９８】
まず、階数割当部１０８は、最も小さいフロア階層「−１０」に対応する階数に、最も小さい階数「Ｂ２」を割り当てる。すなわち、階数割当部１０８は、フロア階層が「−１０」である建物Ｄの階数「Ｂ２」をそのままとする一方で、図１２（ｂ）に示すように、フロア階層が「−１０」である建物Ｂの階数「Ｂ１」を階数「Ｂ２」に変更する。
【００９９】
次に、階数割当部１０８は、次に小さいフロア階層「−５」に対応する階数に、次に小さい階数「Ｂ１」を割り当てる。すなわち、階数割当部１０８は、建物Ｄの階数「Ｂ１」を、階数「Ｂ１」のままとする。
【０１００】
次に、階数割当部１０８は、次に小さいフロア階層「１０」に対応する階数に、次に小さい階数「１Ｆ」を割り当てる。すなわち、階数割当部１０８は、建物Ａ、建物Ｂ、及び建物Ｄの階数「１Ｆ」を、それぞれ階数「１Ｆ」のままとする。
【０１０１】
次に、階数割当部１０８は、次に小さいフロア階層「１５」に対応する階数に、次に小さい階数「２Ｆ」を割り当てる。すなわち、階数割当部１０８は、建物Ａの階数「２Ｆ」を、階数「２Ｆ」のままとする。
【０１０２】
最後に、階数割当部１０８は、次に小さいフロア階層「２０」に対応する階数に、次に、小さい階数「３Ｆ」を割り当てる。すなわち、階数割当部１０８は、フロア階層が「２０」である建物Ａの階数「３Ｆ」をそのままとする一方で、図１２（ｂ）に示すように、フロア階層が「２０」である建物Ｄの階数「２Ｆ」を階数「３Ｆ」に変更する。
【０１０３】
このように、本実施形態に係る地図表示装置１０は、最も小さいフロア階数から順に、同一のフロア階層に対応付けられている階数が同一の階数となるように、階数を割り当てる。これにより、本実施形態に係る地図表示装置１０では、図１２に示すように、例えば、建物Ａの階数「３Ｆ」と、建物Ｄの階数「２Ｆ」（割り当て後の階数「３Ｆ」）と、これらを繋ぐ連絡通路とを、階数「３Ｆ」の屋内地図により表示することができるようになる。
【０１０４】
図１１に戻る。階数マージ部１０６Ａは、階数割当部１０８により割り当てられた階数をマージする（ステップＳ１１０２）。
【０１０５】
例えば、上記のステップＳ１１０１において、建物Ａの階数「１Ｆ」、「２Ｆ」、及び「３Ｆ」と、建物Ｂの階数「Ｂ２」及び「１Ｆ」と、建物Ｄの階数「Ｂ２」、「Ｂ１」、「１Ｆ」、及び「３Ｆ」とが割り当てられた場合、階数マージ部１０６Ａは、これらの階数をマージする。このとき、階数マージ部１０６Ａによるマージ結果は、「Ｂ２」、「Ｂ１」、「１Ｆ」、「２Ｆ」、及び「３Ｆ」である。
【０１０６】
次に、表示制御部１０７は、上記のステップＳ１１０２でマージされた階数を含む階数選択欄を表示する（ステップＳ１１０３）。これにより、第一の実施形態と同様に、例えば図８に示す地図表示画面Ｇ１００が表示される。
【０１０７】
このとき、本実施形態では、例えば、階数選択欄Ｇ１１０の中から、ユーザが「３Ｆ」を選択した場合、表示制御部１０７は、建物Ａ、建物Ｂ、及び建物Ｄのうち、「３Ｆ」がある建物（すなわち、建物Ａ及び建物Ｄ）の屋内地図を、地図表示画面Ｇ１００上に表示する。なお、これらの屋内地図は、建物Ａの屋内地図データに含まれる「３Ｆ」の屋内地図描画データと、建物Ｄの屋内地図データに含まれる「２Ｆ」の屋内地図描画データとに基づいて表示される。
【０１０８】
また、このとき、表示制御部１０７は、建物Ａの３階（階数「３Ｆ」）と、建物Ｄの２階（階数「３Ｆ」）とを繋ぐ連絡通路の屋内地図も表示する。これにより、ユーザは、階数選択欄Ｇ１１０の中から「３Ｆ」を選択することで、建物Ａの３階（階数「３Ｆ」）の屋内地図と、建物Ｄの２階（階数「３Ｆ」）の屋内地図と、建物Ａの３階（階数「３Ｆ」）及び建物Ｄの２階（階数「３Ｆ」）の間を繋ぐ連絡通路の屋内地図とを表示することができる。なお、連絡通路の屋内地図を表示するための屋内地図データは、屋内地図データ記憶部１２０Ａに記憶されている。
【０１０９】
同様に、例えば、階数選択欄Ｇ１１０の中から、ユーザが「Ｂ２」を選択した場合、表示制御部１０７は、建物Ａ、建物Ｂ、及び建物Ｄのうち、「Ｂ２」がある建物（すなわち、建物Ｂ及び建物Ｄ）における「Ｂ２」の屋内地図を、地図表示画面Ｇ１００上に表示する。なお、これらの屋内地図は、建物Ｂの屋内地図データに含まれる「Ｂ１」の屋内地図描画データと、建物Ｄの屋内地図データに含まれる「Ｂ２」の屋内地図描画データとに基づいて表示される。
【０１１０】
また、このとき、表示制御部１０７は、例えば、建物Ｂの地下１階（階数「Ｂ２」）と、建物Ｄの地下２階（階数「Ｂ２」）とを繋ぐ連絡通路が存在する場合、この連絡通路の屋内地図も表示する。これにより、ユーザは、階数選択欄Ｇ１１０の中から「Ｂ２」を選択することで、建物Ｂの地下１階（階数「Ｂ２」）の屋内地図と、建物Ｄの地下２階（階数「Ｂ２」）の屋内地図と、建物Ｂの地下１階（階数「Ｂ２」）及び建物Ｄの地下２階（階数「Ｂ２」）の間を繋ぐ連絡通路の屋内地図とを表示することができる。
【０１１１】
以上のように、本実施形態に係る地図表示装置１０では、建物の各階数の高さ（例えば、地表からの相対的な高さ）を示すフロア階層に応じて、階数を割り当て直した上で、階数選択欄を表示する。このとき、本実施形態に係る地図表示装置１０では、各建物について、同一のフロア階層は同一の階数となるように、階数を割り当てる。
【０１１２】
このため、本実施形態に係る地図表示装置１０では、階数選択欄から所望の階数を選択することで、例えば、選択した階数において建物同士を繋ぐ連絡通路の屋内地図も表示することもできるようになる。
【０１１３】
＜まとめ＞
以上のように、第一の実施形態に係る地図表示装置１０では、表示範囲内（すなわち、画面内）の屋外地図上に存在する建物の階数のみを階数選択欄に表示する。このため、第一の実施形態に係る地図表示装置１０は、当該表示範囲内において表示可能な屋内地図の階数のみを階数選択欄から選択させることができるようになる。
【０１１４】
また、第二の実施形態に係る地図表示装置１０では、建物の各階数の高さ（例えば、地表からの相対的な高さ）を示すフロア階層に応じて、同一のフロア階層が同一の階数となるように、階数を割り当て直した上で、階数選択欄を表示する。このため、第二の実施形態に係る地図表示装置１０では、例えば、階数選択欄から選択された階数において建物同士を繋ぐ連絡通路の屋内地図も表示することもできるようになる。
【０１１５】
なお、第一の実施形態及び第二の実施形態では、屋外地図データや屋内地図データの取得、階数選択欄に表示する階数のマージ等の処理をすべて地図表示装置１０が行うものとして説明したが、これらの処理のうちの一部の処理が、地図表示装置１０とネットワークＮを介して接続される地図提供サーバ２０で行われても良い。
【０１１６】
すなわち、第一の実施形態及び第二の実施形態は、例えば、図１３に示す地図表示システム１により実現することもできる。図１３に示す地図表示システム１では、地図提供プログラム２００がインストールされ、屋外地図データ記憶部２１０と、屋内地図データ記憶部２２０とを有する地図提供サーバ２０が、ネットワークＮを介して、地図表示装置１０と通信可能に接続されている。
【０１１７】
このとき、地図提供サーバ２０は、地図提供プログラム２００により、例えば、屋外地図データや屋内地図データの取得、階数選択欄に表示する階数のマージ等の処理（すなわち、表示制御部１０７が行う処理以外の処理）を行って、これらの処理の結果を地図表示装置１０に送信する。これにより、地図表示装置１０は、屋外地図データや屋内地図データの取得、階数選択欄に表示する階数のマージ等の処理を行う必要がなくなる。
【０１１８】
なお、本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
【符号の説明】
【０１１９】
１０      地図表示装置
１００    地図表示プログラム
１０１    表示位置取得部
１０２    屋外地図取得部
１０３    表示範囲特定部
１０４    屋内地図取得部
１０５    バウンディングボックス特定部
１０６    階数マージ部
１０７    表示制御部
１１０    屋外地図データ記憶部
１２０    屋内地図データ記憶部
【図１】
2018060143.tif 000003
【図２】
2018060143.tif 000004
【図３】
2018060143.tif 000005
【図４】
2018060143.tif 000006
【図５】
2018060143.tif 000007
【図６】
2018060143.tif 000008
【図７】
2018060143.tif 000009
【図８】
2018060143.tif 000010
【図９】
2018060143.tif 000011
【図１０】
2018060143.tif 000012
【図１１】
2018060143.tif 000013
【図１２】
2018060143.tif 000014
【図１３】
2018060143.tif 000015