以下、情報処理装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
図1は、本実施の形態における情報処理装置1のブロック図である。情報処理装置1は、格納部11、受付部12、処理部13、出力部14、受信部15および送信部16を備える。格納部11は、領域格納部111および全域格納部112を備える。処理部13は、位置取得部131および検索部132を備える。
格納部11では、例えば、地図情報、領域情報、全域情報などが格納される。地図情報は、処理部13が経路の探索および案内を行うための地図に関する情報であり、1以上の領域の情報それぞれに対応する1以上の領域内の地図に関する情報(領域内地図情報)と、1以上の領域を含む全域の地図に関する情報(全域地図情報)とを含む。全域地図情報は、全国地図、都道府県地図というように、各層化されていてもよい。また、格納部11は、受付部12が受け付けた情報、処理部13が処理した結果に関する情報なども格納される。
格納部11は、領域内地図情報が格納される領域格納部111と、全域地図情報が格納される全域格納部112とを備え、これら格納部11と領域格納部111と全域格納部112とは、不揮発性もしくは揮発性の記録媒体で構成される。また、格納部11に情報が記憶される過程は、記録媒体を介した過程であったり、通信回線等を介した過程であったり、入力デバイス(タッチパネルやキーボードやメニュー画面によるものなど)を介した過程であってもよい。
領域格納部111は、領域それぞれに対応する情報が格納される。領域は、例えば、駅の構内である。駅の構内とは、駅舎の改札内を指す場合もあるが、ここでは、改札外の施設や設備が配された空間も含む、駅舎内の全体をいうものとしてもよい。また、領域は、駅の構内に限らず、領域内外において利用できる施設や使用できる設備が異なるエリアであればよい。具体的には、テーマパークや遊園地など領域の内外が自由に往来できないように区別されており、領域内へは改札やゲートを通過する必要がある、あるいは、領域内へ立ち入るためには入場券やチケット購入の必要があるなど、領域内外が明確に隔てられたエリアを対象とすることが望ましい。
領域情報は、例えば、領域に対応する領域ID、領域IDに対応する境界線情報、領域IDに対応する1以上の領域内店舗等情報、1以上の領域内店舗等情報それぞれに対応する1以上の位置情報などを含む。なお、領域IDとは、領域を識別する識別子であり、例えば、“1”,“2”といった番号が領域IDとして用いられる。ただし、領域を識別可能な情報であれば、種類は問わない。また、領域IDに対応する境界線は、領域の輪郭線でもあり、境界線情報とは、領域IDに対応する領域内外(領域内と領域外)の境界線に関する情報であり、例えば、かかる境界線ないし輪郭線に沿う一連の点に関する位置座標の集合であったり、かかる境界線ないし輪郭線を定義または近似する関数などでもよく、境界線情報の種類は問わない。
また、領域内店舗等情報とは、店舗・施設・設備等に関する情報であり、ユーザが認識可能なテキストまたは画像、あるいはそれらの組み合わせで構成される。ただし、ユーザが認識可能であれば、領域内店舗等情報の構成は問わない。領域内店舗等情報は、店舗の名称に関する情報、位置に関する情報、属性に関する情報、営業日時に関する情報、価格に関する情報(例えば平均価格帯、割引クーポン等)、連絡先に関する情報(例えば電話番号、電子メールアドレス、ホームページのURL等)、領域内へ入場する際に必要となる費用に関する情報(入場料、チケット価格等)などを含む。なお、全ての情報は、上位層から下位層までの階層化とされてもよく、例えば、属性は、売店、飲食店といった上位の属性、および、土産物店、キヨスク、中華料理店、カレー屋といった下位の属性を含んでもよい。
なお、店舗とは、例えば、領域内にある売店、飲食店等である。施設とは、例えば待合室、授乳室、案内所等である。設備とは、例えば券売機、エレベーター、トイレ、コインロッカー等である。
領域内店舗等情報に対応する位置とは、領域内店舗近傍の目印を示すテキスト(“1階改札付近”等)、駅構内の地図等であり、この位置に、領域内にある店舗等の位置に関する位置情報が含まれる。ここでいう位置情報は、緯度・経度といった位置座標を含む。なお、店舗等の位置を特定可能な情報、言い換えると、処理部13が経路の探索を行えるような位置情報であれば、位置情報の種類は問わない。
全域格納部112は、全域店舗等情報が位置情報と対にして格納される。全域店舗等情報とは、例えば、領域も含む全域にある各店舗、施設、設備等に関する情報であり、領域内店舗等情報と同様に、テキストまたは画像、あるいはそれらの組み合わせで構成される。また、全域とは、通常、格納部11に格納されている全域地図情報の範囲に対応する範囲である。ただし、例えば、全域地図情報のうち、上記1以上の領域を含む一部分でもよく、1以上の領域を包含する範囲であれば、広さは問わない。
なお、全域店舗等情報と、領域内店舗等情報とで、取り扱う店舗等の規模や知名度に差があるか否かは問わない。また、全域店舗等情報における店舗等の一部は、領域内店舗等情報における店舗等と重複していてもよい。
全域店舗等情報は、領域内店舗等情報と同様に、領域を含む全域(例えば全域地図情報に対応する範囲)にある店舗等の、名称に関する情報、位置に関する情報、属性に関する情報、営業日時に関する情報、価格に関する情報、連絡先に関する情報、領域内へ入場する際に必要となる費用に関する情報などを含む。そのため、領域内店舗等情報の場合と同様、属性は階層化されていてもよい。
全域店舗等情報と対になる位置情報は、領域を含む全域にある店舗等の位置に関する位置情報であり、例えば、緯度・経度といった位置座標を含む。
受付部12は、入力デバイスのデバイスドライバや、メニュー画面の制御ソフトウェア等で実現され、地点に関する地点情報を受け付ける。地点に関する地点情報とは、通常、地点に対応する名称、または、地点に関連するもの(テーマパーク等)に対応する名称(駅名等)、または住所、電話番号などに関する情報である。ただし、例えば、座標が定義された画面に地図を表示し、地図上の任意の点へのタッチをタッチパネル等のポインティングデバイスで検出し、タッチされた点の座標に対応する地点の位置座標を取得することで、地点の位置に関する地点情報を受け付けることも可能である。また、処理部13(具体的には位置取得部131)が取得した位置情報(ユーザの現在位置)を地点情報としてもよい。要するに、地点を示す情報であれば、種類は問わない。なお、受付部12における受け付けとは、入力デバイスから入力された情報の受け付け、有線もしくは無線の通信回線を介して送信された情報の受信、メモリなどの記録媒体から読み出された情報の受け付けなどを含む概念である。
処理部13は、ユーザの位置に関する位置情報を取得する位置取得部131と、受付部12が受け付けた地点情報を用いて検索し、地点情報が示す地点に関連する情報である検索結果を取得する検索部132とを備え、位置情報の取得、位置情報の示す位置が領域内外に関する判定、地点情報に対応する店舗等の検索、現在位置から地点情報が示す地点への経路の探索および案内、といった処理を行う。地点に関連する情報とは、例えば、当該地点に関連する店舗や、施設、設備などに関する情報であり、より具体的には、店舗等の名称、位置、属性、営業時間、価格、領域内へ入場する際に必要な入場料などの情報を含む。これら処理部13と位置取得部131と検索部132とは、MPUやメモリ(ROM,RAM)等から実現される。処理部13等の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現してもよい。
位置取得部131は、例えば、GPS受信機等の位置検出手段や、無線通信ネットワークが持つ位置検出機能を利用して、ユーザの現在位置を示す位置情報を取得する。ただし、位置検出の手法は問わない。
検索部132は、受付部12が受け付けた地点情報を用いて、位置取得部131が取得した位置情報に応じて異なる検索条件にて検索を行い、地点情報が示す地点に関連する情報である検索結果を取得する。そのため、検索部132による検索結果は、地点に関連する情報に加え、現在位置から地点情報が示す地点への経路案内の情報を含む。そのため、処理部13は、現在位置から地点情報が示す地点への経路の探索を行い、探索した経路に沿ってユーザを案内するための経路案内の情報を取得し、取得した情報を検索部132の検索結果に含めてもよい。なお、位置情報に応じて異なる検索条件とは、ユーザが予め決められた領域、例えば領域内外のどちらに居るのかというユーザの位置に応じて検索条件を変えることである。
すなわち、検索部132は、位置取得部131が取得した位置情報の示す位置が予め決められた領域内である場合と、予め決められた領域外である場合とで、異なる検索条件にて検索を行う。その際、検索部132は、位置情報に応じて自動的に検索条件を変更してもよい。ただし、位置情報の示す位置が領域外であっても、例えば、当該位置が、領域の輪郭線付近にあり(具体的には、当該位置から当該輪郭線までの距離が閾値以下である等)、かつ輪郭線に向かって移動している(つまり、ユーザが領域に入ろうとしている)と判断される場合は、領域内であると見なして処理を行ってもよい。同様に、位置情報の示す位置が領域内であっても、例えば、当該位置が、領域の輪郭線付近にあり、かつ当該輪郭線に向かって移動している(つまり、ユーザが領域から出ようとしている)と判断される場合は、領域外であると見なして処理を行ってもよい。
上記の検索条件とは、通常、検索の対象(「検索の幅」ともいう)に関する条件である。具体例としては、位置情報の示す位置が1以上のいずれかの領域内の場合は、当該領域内の店舗等を対象に検索を行い、領域外の場合は当該領域の内外の店舗等を対象に検索を行う等が挙げられる。ただし、検索対象の店舗等が規模、知名度等に応じて階層化されている場合、検索条件は、例えば、検索の深さに関する条件でもよい。具体例としては、位置がいずれかの領域内である場合は、深い階層まで検索を行う一方、領域外の場合は、浅い階層までしか検索を行わない等が挙げられる。なお、これらは例示に過ぎず、検索条件の種類は問わない。
また、検索部132は、位置取得部131が取得した位置情報の示す位置が予め決められた領域内(領域が定義されている場合は、任意の領域内)である場合には、領域内の店舗、施設または設備を対象に検索を行い、予め決められた領域外(1以上の領域が定義されている場合は、いずれの領域内でもない)である場合には、領域の内および外(領域が定義されている場合は、領域を含む全域)の店舗、施設または設備を対象に検索を行う。
具体的には、検索部132は、位置取得部131が取得した位置情報の示す位置が予め決められた領域内である場合には、領域格納部111に格納されている領域情報を利用して、領域内の店舗、施設または設備を対象に検索を行い、予め決められた領域外である場合には、例えば全域格納部112に格納されている全域情報を利用して、領域の内外、つまり全域の店舗、施設または設備を対象に検索を行う。または、領域内店舗等情報および全域店舗等情報がそれぞれ階層化されていることを必須条件として、検索部132は、位置情報の示す位置が領域内である場合には、領域内の店舗等を対象に、深い階層まで検索する詳細検索を行い、領域外である場合には、領域内外の店舗等を対象に、浅い階層までを検索対象とした簡易検索を行ってもよい。
処理部13は、位置情報の示す位置が領域内である場合、現在位置から地点情報が示す地点への経路の探索、および経路に沿ってユーザを案内するための経路案内の情報の取得を行う。また、処理部13は、位置情報の示す位置が領域外である場合、かかる経路の探索および経路案内情報の取得を行ってもよい。または、処理部13は、位置情報の示す位置が領域内であると判断された場合には、現在位置から地点情報が示す地点への経路の探索を行う一方、位置情報の示す位置が領域外であると判断された場合には、現在位置から領域を代表する地点への経路の探索を行って、探索した経路に関する経路案内の情報を検索結果に含めてもよい。すなわち、位置情報に応じて、経路の探索および案内における目的地を変える。
出力部14は、処理部13の処理結果などを含む情報を出力する。出力とは、ディスプレイへの表示、スピーカーからの音出力などである。ただし、外部の装置への送信、記録媒体への蓄積、他の情報処理装置や他のプログラムなどへの処理結果の引渡しなどでもよい。
また、出力部14は、検索部132が取得した検索結果を出力する。出力部14は、位置取得部131が取得した位置情報の示す位置が予め決められた領域内である場合と、予め決められた領域外である場合とで異なる検索結果を出力する。そして、出力部14は、位置取得部131が取得した位置情報に応じて、検索部132が取得した検索結果を異ならせて出力する。位置情報に応じるとは、ユーザが領域の内に居る場合と外に居る場合とを区別することである。
また、出力部14は、位置取得部131が取得した位置情報の示す位置が予め決められた領域内である場合と、予め決められた領域外である場合とで、検索部132が取得した検索結果を異ならせて出力する。この検索結果を異ならせて出力するとは、検索結果の内容および態様の少なくとも一方を異ならせて出力することである。ここで、「検索結果の内容を異ならせて出力する」とは、(1)位置情報の示す位置が領域外である場合は検索結果の一部のみ出力する一方、領域内である場合は全部出力することと、(2)位置情報の示す位置が領域外である場合は概要情報のみ出力する一方、領域内である場合は詳細情報も出力することと、(3)領域内である場合は出力する一方、領域外である場合は出力しないことと、(4)位置情報の示す位置が領域内である場合は検索結果をソートして出力する一方、領域外である場合はソートせずに出力したり、ソートする際の基準を領域内と領域外とで変えたりすることであってもよい。また、「検索結果の態様を異ならせて出力する」とは、位置情報の示す位置が領域外である場合は映像出力する一方、領域内である場合は音声出力することなどである。また、「検索結果の内容および態様を異ならせて出力」するとは、位置情報の示す位置が領域内である場合は検索結果の一部のみ音声出力する一方、領域外である場合は全部映像出力するなどである。なお、映像出力の場合、位置情報の示す位置が領域内である場合は検索結果の一部をグレーアウトして出力する一方、領域外である場合はどの部分もグレーアウトせずに出力したり、グレーアウトの範囲を領域内外とで異ならせたりしてよい。グレーアウトに限らず、例えば、サイズ、色、明るさ、鮮明度等を領域内と領域外とで変えたりしてもよい。音声出力の場合、例えば、音量、再生速度、音色などを領域内と領域外とで変えてもよい。あるいは、検索結果の一部(例えば経路案内で曲がるべき交差点に近づいたことの報知など)が振動により出力されてもよく、その場合、振動により出力される部分を領域内と領域外とで変えてもよい。
また、出力部14は、位置情報の示す位置が領域内であると判断された場合には、現在位置から地点情報の示す地点への経路案内の情報を含む検索結果を出力し、予め決められた領域外であると判断された場合には、かかる経路案内の情報を含まない検索結果を出力してもよい。具体的には、処理部13が、位置情報の示す位置が領域内か否かにかかわらず、現在位置から地点情報が示す地点への経路の探索、および経路に沿ってユーザを案内するための経路案内の情報の取得を行うことによって、出力部14は、位置情報の示す位置が領域内であると判断された場合には、現在位置から地点情報の示す地点への経路案内の情報を含む検索結果を出力し、予め決められた領域外であると判断された場合には、かかる経路案内の情報を含まない検索結果を出力することができる。
または、出力部14は、処理部13が、位置情報の示す位置が領域内の場合にだけ、現在位置から地点情報が示す地点への経路の探索、および経路に沿ってユーザを案内するための経路案内の情報の取得を行うことによっても、位置情報の示す位置が領域内である場合には、現在位置から地点情報の示す地点への経路案内の情報を含む検索結果を出力し、予め決められた領域外である場合には、かかる経路案内の情報を含まない検索結果を出力する。
または、出力部14等は、出力デバイスのドライバソフトまたは、出力デバイスのドライバソフトと出力デバイス等で実現される。そのため、出力部14は、処理部13が、位置情報の示す位置が領域内であると判断された場合には、現在位置から地点情報が示す地点への経路の探索を行う一方、位置情報の示す位置が領域外であると判断された場合には、現在位置から領域への経路の探索を行うことで、位置情報の示す位置が領域内である場合には、現在位置から地点情報の示す地点への経路案内の情報を含む検索結果を出力し、予め決められた領域外である場合には、現在位置から領域への経路案内の情報を含む検索結果を出力する。一般には、処理部13が、位置情報に応じて経路の探索における目的地を変更することで、出力部14は、位置情報に応じて異なる目的地への経路案内情報を出力できる。
受信部15は、外部の装置から地図情報、領域情報、全域情報などを受信し、無線または有線の通信手段で実現されるが、放送を受信する手段で実現されてもよい。また、送信部16は、処理部13の処理結果などを含む情報を外部の装置に送信し、無線または有線の通信手段で実現されるが、放送手段で実現されてもよい。なお、通信手段、放送手段、放送を受信する手段とは、例えば、ネットワークカードやモデムなどである。
次に、情報処理装置1の動作について図2〜図4のフローチャートを用いて説明する。図2〜図4は、情報処理装置1の動作について説明するためのフローチャートである。図2のフローチャートが全体動作を示し、図3のフローチャートは一部動作の詳細を示し、図4のフローチャートは他の一部動作の詳細を示している。
前提として、領域格納部111には、例えば図5に示すような領域情報が格納されており、また、全域格納部112には、例えば図6に示すような全域情報が格納されているとする。図5は、領域格納部111に格納されている1以上の領域情報に関するデータ構造図である。
領域格納部111には、例えば、領域ID“1”に対応付けて、境界線情報L1と、n個の領域内店舗情報F11,F12,…,F1nと、領域内店舗情報F11,F12,…,F1nそれぞれに対応するn個の位置情報P11,P12,…,P1nとが格納されている。同様に、領域ID“i”に対応付けて、境界線情報Liと、n個の領域内店舗情報Fi1,Fi2,…,Finと、領域内店舗情報Fi1,Fi2,…,Finそれぞれに対応するn個の位置情報Pi1,Pi2,…,Pinとが格納されている(iは1以上の整数)。なお、個数nは、1以上の整数であり、領域によって値が異なる。ただし、一部または全部の領域で、個数nが同じ値になる場合もある。
図6は、全域格納部112に格納されている全域情報に関するデータ構造図である。全域格納部112には、例えば、全領店舗等情報F01を位置情報P01と対応付けて格納されている。同様に、全領店舗等情報F0jを位置情報P0jと対応付けて格納されている(jは1以上の整数)。なお、領域ID、境界線情報、領域内店舗等情報、全域店舗等情報および位置情報等については、前述したので省略する。
(ステップS201)処理部13は、受付部12が地点情報を受け付けたか否かを判別する。入力デバイスを介して受付部12が地点情報を受け付けた場合は、ステップS202に進み、受け付けていない場合はステップS210に進む。
(ステップS202)位置取得部131は、位置検出手段を利用して、ユーザの位置(以下、「現在位置」ともいう)に関する位置情報を取得する。取得した位置情報は、例えば格納部11、または処理部13の内部メモリ等に書き込まれる。
(ステップS203)検索部132は、領域を示す変数iに初期値“1”をセットする。
(ステップS204)検索部132は、領域格納部111を参照して、i番目の領域があるか否かを判別する。i番目の領域がある場合は、ステップS205に進み、ない場合はステップS208に進む。
(ステップS205)検索部132は、現在位置がi番目の領域内か否かを判定する。すなわち、ステップS202で取得した位置が、境界線情報Liで定義または近似される領域iの内部か否かを判定する。なお、境界線は、領域の内部に含めても、外部に含めてもよい。かかる判定は、公知のアルゴリズムを用いて行うことができる。
現在位置がi番目の領域内であると判定された場合は、ステップS207に進み、i番目の領域内でない(すなわち領域外である)と判定された場合は、ステップS206に進む。
(ステップS206)検索部132は、変数iをインクリメントする。その後、ステップS204に戻る。
(ステップS207)検索部132は、領域格納部111に格納されている領域情報を利用して、領域i内の店舗、施設または設備等を対象に検索を行う処理である領域i内店舗等検索処理を実行する。
ここで、領域i内店舗等検索処理の詳細を図3のフローチャートにより説明する。
(ステップS301)検索部132は、店舗等を示す変数jに初期値1をセットする。なお、領域格納部111において、領域i内店舗等情報Fi1,Fi2,…,Finを優先順位に従う順序で配列しておけば、変数jは、2以上の店舗等の間の優先順位をも示す。2以上の店舗等の間の優先順位は、例えば、規模、知名度、人気度、価格等に基づいて決定される。ただし、優先順位を決める基準は問わない。
(ステップS302)検索部132は、領域格納部111を参照して、j番目の領域i内店舗等情報Fij(以下、単に“領域内店舗等情報Fij”と記す場合がある)があるか否かを判別する。領域内店舗等情報Fijがある場合は、ステップS303に進み、ない場合は図2のフローチャートにリターンする。
(ステップS303)検索部132は、領域内店舗等情報Fijが地点情報と対応しているか否かを判別する。対応しているとは、通常、一致していることであるが、近接していることでもよい。2つの情報が近接しているとは、両者の差分が閾値よりも小さい(または閾値以下である)ことである。例えば、受付部12が“新神戸、中華料理店”という地点情報を受け付けた場合、j番目の領域i内店舗等情報Fijの中に、新神戸を示す情報(例えば、“新神戸”という駅名のほか、“新神戸○○アベニュー”、“新神戸○○劇場”といった、新神戸駅に関連、隣接または近接する施設等の名称でもよい)と、中華料理店を示す情報(例えば“中華料理店”という飲食店の属性を示す情報のほか、“ふかひれ”といった代表的な料理名でもよい)とが含まれていれば、対応していると検索部132は判別する。領域内店舗等情報Fijが地点情報と対応していると検索部132が判別した場合、ステップ304に進み、対応していないと判別した場合、ステップS307に進む。
(ステップS304)検索部132は、領域格納部111を参照して、領域内店舗等情報Fijに対応する位置情報Pijを取得し、取得した位置情報Pijを目的地に設定する。
(ステップS305)検索部132は、現在位置から目的地への経路を探索し、経路案内の情報を取得する。経路は、例えば、位置取得部131が取得した位置情報と、目的地に設定した位置情報Pijと、領域iに関する領域地図情報とに基づいて、公知のアルゴリズムにより計算される。なお、この計算処理は、どのようなアルゴリズムを用いてもよい。なお、具体的な計算方法は、発明の趣旨と直接には関係ないので、説明を省略する。また、経路案内の情報とは、探索した経路に沿ってユーザを誘導するための情報であり、例えば、進むべき通路と方向を示す情報(例えば“改札前の通路を西に進んでください”といったテキストや音声、あるいは、こうした通路と方向を矢印付きの線で示した構内地図等)、他の通路との交差したとき進むべき方向を示す情報(例えば“次の角を右に曲がってください”といったテキストや音声、あるいは、こうした交差点と方向を矢印の位置と向きで示した構内地図等)などを含んでいる。なお、これらは単なる例示であり、様々な案内情報を含む。
(ステップS306)検索部132は、領域内店舗情報Fijと、取得した経路案内の情報とを、検索結果に設定する。なお、検索結果に設定するとは、例えば、処理部13の内部メモリに形成されているメモリ領域であって、かつ検索結果と対応付けられたメモリ領域(以下、“検索結果メモリ”と記す場合がある)に、領域内店舗情報Fijと、取得した経路案内の情報とを書き込む(蓄積する)ことである。その後、ステップS307に進む。
(ステップS307)検索部132は、変数jをインクリメントする。その後、ステップS302に戻る。
こうして、ステップS302〜S307の処理が繰り返され、変数jが個数nを超えると、ステップS302の判別結果がNOとなり、図2のフローチャートにリターンする。なお、この時点で、検索結果メモリには、通常、領域i内店舗等情報と経路案内情報との対が1つまたは2以上格納されている。ただし、何も格納されていない場合もある。
(ステップS208)検索部132は、全域格納部112に格納されている全域情報を利用して、領域iを含む全域の店舗、施設または設備等を対象に検索を行う処理である全域店舗等検索処理を実行する。ここで、全域店舗等検索処理の詳細を図4のフローチャートにより説明する。
(ステップS401)検索部132は、店舗等を示す変数jに初期値1をセットする。
なお、全域格納部112において、例えば、1以上の全域店舗等情報F01,F02,…,F0nを優先順位に従う順序で配列しておけば、上述した領域i内店舗等情報Fi1,Fi2,…,Finの場合と同様、変数jは、2以上の店舗等の間の優先順位をも示す。2以上の店舗等の間の優先順位は、例えば、規模、知名度、人気の高さ、価格等に基づいて決定されるが、優先順位を決める基準は問わない。
(ステップS402)検索部132は、全域格納部112を参照して、j番目の全域店舗等情報F0j(以下、単に“全域店舗等情報F0j”と記す場合がある)があるか否かを判別する。全域店舗等情報F0jがある場合は、ステップS403に進み、ない場合は図2のフローチャートにリターンする。
(ステップS403)検索部132は、全域店舗等情報F0jが地点情報と対応しているか否かを判別する。対応していることの定義および例示は、ステップS303で述べたので繰り返さない。全域店舗等情報F0jが地点情報と対応していると検索部132が判別した場合、ステップ404に進み、対応していないと判別した場合、ステップS405に進む。
(ステップS404)検索部132は、全域店舗情報F0jを検索結果に設定する。その後、ステップS405に進む。
(ステップS405)検索部132は、変数jをインクリメントする。その後、ステップS402に戻る。
こうして、ステップS402〜S405の処理が繰り返され、変数jが個数nを超えると、ステップS302の判別結果がNOとなり、図2のフローチャートにリターンする。なお、この時点で、検索結果メモリには、通常、領域i内店舗等情報と経路案内情報との対が1つまたは2以上格納されているか、あるいは、1つまたは2以上の全域店舗情報が格納されている。ただし、何も格納されていない場合もある。
(ステップS209)出力部14は、検索結果があるか否かを判別する。具体的には、例えば、検索結果メモリに、領域i内店舗等情報と経路案内情報との対が1組または2組以上格納されているか、あるいは、1つまたは2以上の全域店舗情報が格納されている場合、検索結果があると判別され、ステップS240に進む。かかる情報が検索結果メモリに1つも格納されていない場合、検索結果がないと判別され、ステップS201に戻る。
(ステップS210)出力部14は、検索結果、つまり検索結果メモリに格納されている情報を、ディスプレイやスピーカー等の出力デバイスを介して出力する。情報は、通常、ディスプレイおよびスピーカーを介して出力されるが、いずれか一方を介して出力されてもよい。
これにより、位置情報の示す位置つまり現在位置が領域内にある(一般には、いずれかの領域内にある)場合は、当該領域に対応する領域内店舗等情報のうち、地点情報と対応する領域内店舗等情報が出力され、現在位置が領域外にある(一般には、いずれの領域内にもない)場合は、1以上の全域店舗等情報のうち、地点情報と対応する1以上の全域店舗等情報が出力される結果となる。
好ましくは、出力部14は、検索結果を、位置情報の示す位置が領域内である場合にはスピーカーを介して音声の態様で出力し、領域外である場合にはディスプレイを介して映像の態様で出力してもよい。より好ましくは、出力部14は、検索結果を、位置情報の示す位置が含まれる領域によって異なる態様で出力してもよい。この場合、例えば、格納部11に、領域IDに対応付けて、態様に関する態様情報がさらに格納され、出力部14は、検索結果を、領域“i”に対応する態様で出力する。態様情報は、例えば、領域IDと、態様を示す態様フラグ(例えば、映像出力を示すフラグ、音声出力を示すフラグなど)との対の集合で構成される。
その後、ステップS201に戻る。
(ステップS211)処理部13は、終了イベントが発生したか否かを判別する。終了イベントが発生するとは、例えば電源オフ操作が行われたり、終了処理の割り込みが発生したりすることである。終了イベントが発生した場合は動作を終了し、終了イベントが発生していない場合はステップS201に戻る。
なお、図2〜図4のフローチャートにおいて、経路探索(ステップS305参照)は、領域内でのみ行い、領域外では行っていないが、領域外でも行って構わない。さらに、経路案内の情報は、領域内でのみ出力し、領域外では出力していない(ステップS306,S404,S210参照)が、領域外でも出力して構わない。または、領域内でも領域外でも経路探索を行うが、経路案内の情報の出力は、領域内でしか行わないような構成もある。
また、図2〜図4のフローチャートにおいて、全域検索処理(ステップS208参照)は、現在位置が領域外の場合しか行っていないが、現在位置が領域内の場合にも行ってよい。かかる変形例は、ステップS208をステップS206とステップS207との間に挿入すれば実現できる。ステップS204でNOの場合は、ステップS208に進めばよい。
ステップS210では、現在位置が領域内の場合、通常、ステップS207の領域内検索処理による検索結果と、ステップS208の全域検索処理による検索結果との両方が出力される。ただし、全域検索処理による検索結果のうち、領域内検索処理による検索結果領と重複する部分は、出力しなくてよい。従って、重複部分は、全域検索処理による検索結果から除外する。
また、図2〜図4のフローチャートにおいて、領域格納部111が格納している領域内店舗等情報が階層化されている場合、ステップS207で、検索部132は、領域i内の店舗等を対象に、深い階層(例えば、下記詳細検索の場合と比べて相対的に深い階層)まで検索する詳細検索を行ってもよい。同様に、全域格納部112が格納している全域店舗等情報が階層化されている場合、ステップS208で、検索部132は、領域i内の店舗等を対象に、浅い階層(例えば、上記簡易検索の場合と比べて相対的に浅い階層)までしか検索しない簡易検索を行ってもよい。例えば、階層の層数を上位および下位の2層とすると、検索部132は、現在位置が領域内にある場合、領域に対応する1以上の領域内店舗等情報のうち、上位層に属するものおよび下位層に属するものの両方を対象に検索を行う一方、現在位置が領域外にある場合には、1以上の全域店舗等情報のうち、上位層に属するものだけを対象に検索を行ってもよい。これにより、現在位置が領域外の場合は、上位層に属する全域店舗等情報だけが出力され、現在位置が領域内の場合は、下位層に属する領域内店舗等情報まで出力される結果となる。
以下、本実施の形態における情報処理装置1の具体的な動作例について説明する。情報処理装置1の構成は、図1に示されている。情報処理装置1のフローチャートは、図2〜図4に示されている。領域格納部111の内容は図5に示され、全域格納部112の内容は図6に示されている。
本例において、情報処理装置1は、例えば、スマートフォン、タブレット、モバイルPC等の携帯端末であり、ユーザによって携帯されている。領域“1”は、例えば“新神戸駅の構内”であり、領域“2”は、例えば“神戸テーマパーク”である。
格納部11には、領域内地図情報として、新神戸駅の構内地図、“神戸テーマパーク”の構内地図などが格納され、さらに、全域地図情報として、例えば、領域“1”および領域“2”を含む神戸の地図などが格納されている。
領域格納部111には、1以上の領域情報として、例えば、新神戸駅の構内に関する情報、および“神戸テーマパーク”の構内に関する情報などが格納され、全域格納部112には、全域情報として、例えば神戸市や兵庫県に関する情報が格納される。
ユーザは、いま、三ノ宮付近に居り、地点情報として“新神戸,中華料理店”を情報処理装置1に入力したとする。
情報処理装置1では、受付部12が、ユーザによって入力された地点情報を受け付ける。これに応じて、位置取得部131が、ユーザの現在位置に関する位置情報(現在位置)を取得し、検索部132は、領域格納部111を参照して、取得された現在位置が1以上のいずれかの領域内であるか否かを判定する。
取得した現在位置は、いずれの領域内でもないと判定されるので、検索部132は、全域格納部112を参照して、神戸市全域の店舗等を対象に検索を行う。
この場合の検索結果には、通常、新神戸駅の構内にある中華料理店だけでなく、新神戸駅の構外(通常は新神戸駅の周辺)にある中華料理店も含まれる。
出力部14は、かかる検索結果に関する情報、好ましくは、検索結果の概要を示す概要情報(例えば、当該店舗等の位置、営業時間、連絡先のみ)を出力する。
これに対し、ユーザが新神戸駅の構内に居るとき“新神戸,中華料理店”を入力したとすると、取得された現在位置は、領域“1”内と判定されるので、検索部132は、領域格納部111を参照して、領域“1”つまり新神戸駅の構内にある店舗等を対象に検索を行う。
この場合の検索結果には、通常、新神戸駅の構内にある中華料理店だけが含まれ、新神戸駅の構外にある中華料理店は含まれない。出力部14は、かかる検索結果に関する情報、好ましくは、検索結果の詳細を示す詳細情報(例えば、当該店舗等の位置、営業時間、連絡先、さらには、平均価格帯、割引クーポン、領域内へ入場する際に必要な入場料、チケット価格等)を出力する。
より好ましくは、処理部13が、領域格納部111を参照して、領域“1”内の中華料理店に対応する位置情報を取得し、取得した位置情報を目的地に設定する。そして、領域“1”に対応する領域地図情報を用いて、現在位置から目的地への経路を探索し、経路案内の情報を取得する。取得した経路案内の情報は、検索結果に関する情報または詳細情報に含めて出力される。
さらに好ましくは、出力部14は、検索結果のうち、経路案内の情報については、主として音声の態様で出力する。適時、振動を交えてもよいし、映像の併用も可能である。
このように、情報処理装置1は、ユーザが駅の構内に居る場合、構外に関する検索結果はあまり必要でないので出力しないか、または概要情報の出力に止める一方、駅の構内に関する情報は必要性が高いので、詳細まで出力する。また、混雑した駅の構内は衝突や転落等が多いので、専ら音声出力を行うようにしている。
同様に、例えば、“神戸テーマパーク”内に居るユーザによって、“神戸テーマパーク,トイレ”が情報処理装置1に入力されたとすると、位置取得部131が、ユーザの現在位置を取得し、検索部132は、当該取得した現在位置が領域“2”内であると判定して、領域“2”内の店舗・施設・設備等を対象に検索を行う。さらに、処理部13が、領域“2”内のトイレに対応する位置情報を取得し、取得した位置情報を目的地に設定する。そして、領域“2”に対応する領域地図情報を用いて、現在位置から目的地への経路を探索し、経路案内の情報を取得する。出力部14は、検索結果として、“神戸テーマパーク”内にあるトイレに関する情報を、当該トイレへの経路案内情報と共に出力する。
以上、本実施の形態によれば、受付部12が、地点に関する地点情報を受け付け、位置取得部131が、ユーザの位置に関する位置情報を取得し、検索部132は、受付部12が受け付けた地点情報を用いて検索を行い、地点情報が示す地点に関連する情報である検索結果を取得し、出力部14は、位置取得部131が取得した位置情報の示す位置が予め決められた領域内である場合と、予め決められた領域外である場合とで、検索部132が取得した検索結果を異ならせて出力するので、ユーザから受け付けた地点に関する検索結果を、ユーザが領域内に居る場合と領域外に居る場合とで異ならせて出力できるようになる。
また、本実施の形態によれば、出力部14は、位置取得部131が取得した位置情報の示す位置が予め決められた領域内である場合と、予め決められた領域外である場合とで、検索部132が取得した検索結果を異なる態様で出力するので、ユーザから受け付けた地点に関する検索結果を、ユーザが領域内に居る場合と領域外に居る場合とで異なる出力態様で出力できるようになる。
また、本実施の形態によれば、出力部14は、検索結果の態様を異ならせて出力するので、ユーザから受け付けた地点に関する検索結果を、ユーザが領域内に居る場合と領域外に居る場合とで、内容および態様の少なくとも一方を異ならせて出力できるようになる。
また、本実施の形態によれば、検索結果は、現在位置から地点情報が示す地点への経路案内の情報を含み、出力部14は、位置取得部131が取得した位置情報の示す位置が予め決められた領域内である場合のみ、経路案内を含む検索結果を出力するので、ユーザが領域内に居る場合、地点に関する検索結果の出力と共に当該地点への経路案内を行って、ユーザを当該地点に導くことができる一方、ユーザが領域外に居る場合、検索結果の出力だけで経路案内は行わないので、経路案内のための処理負荷ひいては電力消費を低減できるようになる。
また、本実施の形態によれば、検索部132は、位置取得部131が取得した位置情報に応じて異なる検索条件にて検索を行うので、ユーザから受け付けた地点に関する検索を、当該ユーザの位置に応じた検索条件にて行い、かつ検索結果を、ユーザの位置に応じた出力態様で出力できるようになる。
また、本実施の形態によれば、受付部12が、地点に関する地点情報を受け付け、位置取得部131が、ユーザの位置に関する位置情報を取得し、検索部132は、受付部12が受け付けた地点情報を用いて、位置取得部131が取得した位置情報に応じて異なる検索条件にて検索を行い、地点情報が示す地点に関連する情報である検索結果を取得し、出力部14は、検索部132が取得した検索結果を出力するので、ユーザから受け付けた地点に関する検索を、ユーザが領域内に居る場合と領域外に居る場合とで異なる条件にて行えるようになる。
また、本実施の形態によれば、検索部132は、位置取得部131が取得した位置情報の示す位置が予め決められた領域内である場合と、予め決められた領域外である場合とで、異なる検索条件にて検索を行うので、ユーザから受け付けた地点に関する検索を、ユーザが領域内に居る場合と領域外に居る場合とで異なる条件にて行えるようになる。
また、本実施の形態によれば、検索部132は、位置取得部131が取得した位置情報の示す位置が予め決められた領域内である場合には領域内の店舗、施設または設備を対象に検索を行い、予め決められた領域外である場合には領域の内および外の店舗、施設または設備を対象に検索を行うので、ユーザが領域内に居る場合は当該領域内の店舗等を対象とした検索が行え、領域外に居る場合は当該領域の内および外の店舗等を対象とした検索が行えるようになる。
また、本実施の形態によれば、処理部13が、位置情報の示す位置が予め決められた領域内である場合は現在位置から地点情報が示す地点への経路を探索する一方、領域外である場合は現在位置から当該領域への経路を探索して、探索した経路に関する経路案内の情報を検索結果に含めるので、ユーザが領域内に居る場合、地点に関する検索結果の出力と共に当該地点への経路案内を行って、ユーザを当該地点に導くことができる一方、ユーザが領域外に居る場合には、当該領域への経路案内を行って、ユーザを当該領域まで導くことができるようになる。
また、本実施の形態によれば、予め決められた領域は駅の構内なので、ユーザから受け付けた地点に関する検索を、ユーザが駅の構内に居る場合と、当該駅の外に居る場合とで、異なる条件にて行えるようになる。
なお、本実施の形態では、全域店舗等情報と領域内店舗等情報とを区別しているが、区別しなくてもよい。このような変形例は、図5に示した1以上の領域情報から、領域内店舗等情報と位置情報との対の集合を削除する一方、削除された領域内店舗等情報と位置情報との対の集合を、図6の全域情報に組み込むことで実現できる。すなわち、この変形例において、格納部11には、例えば、領域IDと境界線情報との対の集合、および店舗等情報と位置情報との対の集合が格納される。受付部12が地点情報を受け付けると、位置取得部131がユーザの位置情報を取得し、処理部13は、当該位置情報を各境界線情報と比較することで、当該位置情報の示す位置がいずれかの領域内か否かを判定する。検索部132は、当該位置情報の示す位置がいずれかの領域内であると判定された場合と、いずれの領域内でもないと判定された場合とで、当該地点情報に対応する店舗等情報を異なる検索条件にて検索する。出力部14は、当該位置情報の示す位置がいずれかの領域内であると判定された場合と、いずれの領域内でもないと判定された場合とで、検索結果を異なる出力態様で出力する。
さらに、本実施の形態における処理は、ソフトウェアで実現してもよい。そして、このソフトウェアをソフトウェアダウンロード等により配布してもよい。また、このソフトウェアをCD−ROMなどの記録媒体に記録して流布してもよい。なお、このことは、本明細書における他の実施の形態においても該当する。なお、本実施の形態における情報処理装置1を実現するソフトウェアは、コンピュータ(例えば、図7に示すコンピュータシステム900におけるコンピュータ901)を、上記各部として機能させるためのプログラムである。
図7は、上記プログラムを実行して、上記実施の形態による情報処理装置1を実現するコンピュータシステム900の構成例を示す図である。図7において、コンピュータシステム900は、キーボード902と、ネットワークカード903と、ディスプレイ904と、CD−ROMドライブ905と、GPS受信機906と、MPU911と、ROM912と、RAM913と、ハードディスク914と、バス915とを備える。CD−ROMドライブ905には、CO−ROM921が装着される。図7に示した各構成要素は、公知であるので、説明を省略する。この実施の形態では、MPU911、ROM912、RAM913、ハードディスク914、バス915およびCD−ROMドライブ905を「コンピュータ901」と呼ぶ場合がある。ただし、これに限らず、例えば、MPU911およびメモリ(ROM912,RAM913)をコンピュータと呼んでもよいし、MPU911をコンピュータと呼んでも構わない。コンピュータシステム900は、例えばモバイルPCであるが、スマートフォンやタブレットでもよく、種類は問わない。スマートフォンやタブレットの場合、キーボード902は、例えばタッチパネルに置き換えられ、ハードディスクは、例えばフラッシュメモリに置き換えられ、CD−ROMドライブ905およびCD−ROM921は、例えばメモリカードスロットおよびメモリカードに置き換えられる。ここで挙げた各構成要素も、公知であるので、説明を省略する。なお、上で挙げたハードウェア構成は例示に過ぎず、本発明を何ら限定するものではないことは言うまでもない。
なお、上記プログラムにおいて、情報を送信する送信ステップや、情報を受信する受信ステップなどでは、ハードウェアによって行われる処理、例えば、送信ステップにおけるモデムやインターフェースカードなどで行われる処理(ハードウェアでしか行われない処理)は含まれない。また、上記プログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
また、上記各実施の形態において、一の装置に存在する2以上の通信手段(受信部15、送信部16など)は、物理的に一の媒体で実現されてもよいことは言うまでもない。
また、上記実施の形態において、各処理(各機能)は、単一の装置(システム)によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。