以下、図面を参照して本願の最良の実施形態について詳細に説明する。なお、以下に説明する実施の形態は、歩行者用通信ナビゲーションシステムに対して本発明を適用した場合の実施形態である。
[1.第1実施形態]
[1.1 歩行者用通信ナビゲーションシステムの構成及び機能概要]
先ず、第1実施形態に係る歩行者用通信ナビゲーションシステムSの構成及び概要機能について、図1を用いて説明する。
図1は、第1実施形態に係る歩行者用通信ナビゲーションシステムSの概要構成の一例を示す図である。
図1に示すように、歩行者用通信ナビゲーションシステムSは、サーバSVと、携帯用電話端末装置の一例としての複数の携帯電話機MPと、を含んで構成されている。
サーバSVと携帯電話機MPとは、ネットワークNWを介して相互にデータの送受信が可能(例えば、通信プロトコルにTCP/IP(Transmission Control Protocol/Internet Protocol)を用いて、相互にデータの送受信が可能)になっている。なお、ネットワークNWは、例えば、インターネット、専用通信回線(例えば、CATV(Community Antenna Television)回線)、移動体通信網(無線基地局等を含む)、及びゲートウェイ等により構築されている。
本実施形態においては、ユーザが携帯電話機MPを操作して、所望の目的地を指定すると、サーバSVが、携帯電話機MPの現在位置から目的地までの経路を探索し、探索された経路に基づいて、携帯電話機MPが、現在位置周辺の地図を画面に表示しながら目的地までの誘導を行うようになっている。
サーバSVは、経路探索時において、目的地まで徒歩のみで移動可能な経路を探索するとともに、鉄道を利用して、または、鉄道と徒歩とを併用して移動可能な経路を探索し、探索結果を示す後述する探索結果画面300(図8(a)参照)を携帯電話機MPに表示させ、当該画面に従ってユーザにより選択された経路に基づいて、携帯電話機MPにより誘導が開始されるようになっている。また、サーバSVは、目的地まで徒歩のみで移動することが妥当であると判定した場合には、探索結果画面300の表示を省略して、徒歩のみで移動する経路(以下、「徒歩経路」という)に基づく誘導を携帯電話機MPにより行わせるようになっている。
携帯電話機MPは、サーバSV等からダウンロードされた地図表示アプリケーションプログラム(以下、「地図アプリ」という)を実行することにより、ユーザにより指定された地点周辺の地図を画面に表示したり、上述した目的地までの誘導を行うようになっている。ここで、携帯電話機MPは、地図アプリの起動後、目的地が設定される前に現在位置の測定を開始するようになっている。
[1.2 サーバSVの構成及び機能]
次に、サーバSVの構成及び機能について説明する。図2は、第1実施形態に係るサーバSVの概要構成の一例を示すブロック図である。
図2に示すように、サーバSVは、各種プログラム及びデータ等を記憶する記憶部(例えば、ハードディスク等)11と、ネットワークNWに接続して携帯電話機MPとの通信状態を制御する通信12(例えば、ネットワークアダプタ等)と、CPU(Central Processing Unit)、RAM(Random Access Memory)、ROM(Read Only Memory)等を備えるシステム制御部13と、を備え、システムバス14を介して相互に接続されている。
記憶部11には、携帯電話機MPの画面に地図を表示するとともに、サーバSVにより経路探索を行うために用いられる地図データが記憶されている。この地図データは、例えば、道路データ、鉄道網データ、施設データ、背景データ等、各種のデータから構成されている。これらの各データは、例えば、地図表示対象の地域を緯度方向及び経度方向に夫々所定間隔で略矩形領域に分割されたメッシュ毎に夫々まとめて格納されるようになっている。
また、記憶部11には、携帯電話機MPを利用するユーザ毎に、ユーザのお気に入りとして登録されたスポット、最近検索したスポットの情報、パスワード等が、ユーザ毎に固有の情報であるユーザID(Identify)に対応付けて記憶されている。
道路データは、例えば、各リンク(道路)の道路種別、当該リンクが接続するノード(道路の分岐点、合流点、交差点等、状態変化点等)の識別情報、道路番号、道路名称、道路形状等を規定するリンクデータや、各ノードの座標(緯度経度)、当該ノードに接続するリンクの識別番号等を規定するノードデータ等により構成されている。また、鉄道網データは、例えば、鉄道の各駅の名称、座標、鉄道の発着時刻や各駅の線路による接続関係、路線名、駅間の移動の所要時間等により構成されている。また、施設データは、例えば、商店街、公園、駅、デパート、病院、学校、工場等の施設の種別、名称、座標、形状等により構成されている。
システム制御部13は、CPUが、ROMまたは記憶部11に記憶されたサーバ装置用プログラム等の各種プログラムを読み出し実行することにより、サーバSVの各部を統括制御するようになっている。
具体的に、システム制御部13は、ユーザにより携帯電話機MPを用いて指定された目的地までの移動経路として、徒歩経路と鉄道を利用した移動を含む経路とを探索し、目的地まで徒歩経路で移動することが妥当であるか否かを判定するようになっている。
より詳細に、システム制御部13は徒歩案内の候補として、鉄道を利用した移動を含む経路がなく、徒歩経路のみが抽出された場合には、徒歩経路で移動することが妥当であると判定する。また、システム制御部13は、探索された徒歩経路を沿った目的地までの距離(以下、「実距離」という)が、徒歩による移動が容易である上限の距離(以下、「基準距離」という)の未満であるか否かを判別し、実距離が当該上限未満である場合には、徒歩経路で移動することが妥当であると判定する。
ここで、不動産物件の紹介等においては、駅等から徒歩10分〜15分で到着できる物件を、当該駅から比較的近い(徒歩圏内にある)物件であるとして紹介されている場合が多い。そこで、人間の歩行速度を分速80m(不動産物件関連における徒歩による所要時間を計算するために用いられる歩行速度)とすると、10分〜15分で移動できる距離は800m〜1,2kmとなることから、本実施形態においては、1kmを基準距離とした。この基準距離は、例えば、サーバSVの管理者等により予め設定されて、記憶部11に記憶されている。
また、システム制御部13は、目的地まで徒歩経路で移動することが妥当であるとは判定しなかった場合には、探索された経路の所要時間、各区間(徒歩で移動する区間及び鉄道で移動する区間)の所要時間や距離、乗車駅及び降車駅の名称や座標等を含む探索結果情報を携帯電話機MPに送信させることにより、探索結果画面300を携帯電話機MPに表示させるようになっている。
一方、システム制御部13は、目的地まで徒歩経路で移動することが妥当であると判定した場合には、探索結果情報の送信を省略して、徒歩経路に基づく誘導を行わせる徒歩経路案内指示を携帯電話機MPに送信するようになっている。
なお、各種プログラム等は、例えば、他のサーバからダウンロードされるようにしても良いし、CD−ROM等の記録媒体に記録されてドライブを介して読み込まれるようにしても良い。
[1.3 携帯電話機の構成及び機能]
次に、携帯電話機MPの構成及び機能について、図3を用いて説明する。
図3は、第1実施形態に係る携帯電話機MPの概要構成の一例を示すブロック図である。
図3に示すように、携帯電話機MPは、基地局との電波送受信により移動体通信網に接続して、他の携帯電話機MPやネットワークNWに接続されたサーバ等との通信を制御する無線通信部21と、例えば、マイクロホン、D/A変換器等を有し、ユーザの発話音声等をマイクロホンから入力すると当該音声に対応した音声データを生成して無線通信部21に出力する音声入力部22と、例えば、スピーカ、増幅回路等を有し、無線通信部21から供給された音声データに対応する音声を生成してスピーカにより拡声する音声出力部23と、を備え、他の携帯電話機MPとの通話やサーバ等とのデータ通信が可能となっている。かかる通信方式には、例えば、PDC(Personal Digital Cellular)方式や、IMT(International Mobile Telecommunication)方式、PHS(Personal Handyphone System)方式等が採用されている。
また、携帯電話機MPは、文字や画像等の情報を表示する表示部24(例えば、液晶ディスプレイ等)と、ユーザからの操作指示を受け付け、その指示内容を指示信号としてシステム制御部28に出力する入力手段の一例としての操作部25(例えば、ダイヤルボタン、カーソルボタン等)と、各種プログラム(例えば、オペレーティングシステム、Webブラウザプログラム、地図アプリ等)及びデータ等を記憶する記憶部26(例えば、フラッシュメモリ等)と、を備えている。
更に、携帯電話機MPは、GPS衛星から発信された衛星軌道及び時刻データを含む電波を受信するとともに、この受信した電波に基づいて携帯電話機MPの現在位置(緯度経度)を算出する測定手段の一例としてのGPS測位部27を備えている。GPS測位部27は、システム制御部28の制御により、現在位置の測位を開始し、一度測位を開始すると、システム制御部28による他の処理(プログラムの実行を含む)と並行して、連続して測位を行うようになっている。
更にまた、携帯電話機MPは、CPU(Central Processing Unit)、RAM(Random Access Memory)、ROM(Read Only Memory)等を備えるシステム制御部28を備え、システム制御部28と各部とはシステムバス29を介して相互に接続されている。
このとき、システム制御部28は、本願に係る目的地設定手段、測定制御手段、メニュー画面表示手段、サブメニュー画面表示手段、地図表示手段、検出手段及び誘導手段の一例を構成する。
システム制御部28は、CPUが、ROMや記憶部26に記憶された各種プログラムを読み出し実行することにより携帯電話機MP全体を制御するようになっており、また、携帯アプリを実行することにより、目的地設定手段、測定制御手段、メニュー画面表示手段、サブメニュー画面表示手段、地図表示手段、検出手段及び誘導手段等として機能するようになっている。
具体的に、システム制御部28は、地図アプリを起動することにより、当該地図アプリの後述するトップ画面100(後述の図5(a):メニュー画面の一例)を表示させる。
また、システム制御部28は、表示されたトップ画面100上から、ユーザにより操作部25を用いて徒歩案内(誘導の一例)を行うことが選択された場合には、ナビゲーション用の後述する目的地設定画面200(後述の図5(b):サブメニュー画面の一例)を表示させるようになっている。このとき、システム制御部28は、システムバス29を介して測位開始命令をGPS測位部27に出力し、GPS測位部27により現在位置の測位を開始させるようになっている。
そして、システム制御部28は、ユーザにより操作部25を用いて目的地の指定が行われると、当該指定された目的地の名称や緯度経度等を示す目的地情報をRAMに設定し、当該目的地情報と、GPS測位部27により測位された現在位置を示す現在位置情報とを含む経路探索リクエストをサーバSVに送信するようになっている。
また、システム制御部28は、サーバSVから送信された探索結果情報を受信すると、当該探索結果情報に基づいて、探索結果画面300を表示するようになっている。そして、システム制御部28は、表示された探索結果画面300に従いユーザが操作部25を用いて所望の経路を選択すると、当該選択された経路に基づいて、目的地または乗車駅までの誘導を行うようになっている。
また、システム制御部28は、サーバSVから送信された徒歩経路案内指示を受信すると、探索結果画面300の表示を省略し、徒歩経路に基づいて、目的地までの誘導を行うようになっている。
なお、各種プログラム等は、例えば、サーバSV等からダウンロードされるようにしても良いし、メモリカード等の記録媒体から読み込まれるようにしても良い。
[1.4 歩行者用通信ナビゲーションシステムの動作]
次に、歩行者用通信ナビゲーションシステムSの動作について説明する。
[1.4.1 地図アプリの起動から経路探索をリクエストするまでの動作]
はじめに、地図アプリの起動から経路探索をリクエストするまでの動作について、図4及び図5を用いて説明する。
図4は、第1実施形態に係る携帯電話機MPの地図アプリの起動から経路探索をリクエストするまでの処理例を示すフローチャートである。また、図5(a)は、トップ画面100の表示例を示す図であり、図5(b)は、目的地設定画面200の表示例を示す図である。
図4に示すように、ユーザによる操作部25の操作に基づいて、携帯電話機MPのシステム制御部28は、記憶部26に記憶されている地図アプリを起動する(ステップS1)。以降、システム制御部28は、地図アプリのプログラムコードに従って処理を行うこととなる。
次いで、システム制御部28は、トップ画面100を、図5(a)に示すように表示部24に表示させる(ステップS2)。このトップ画面100は、地図アプリの各種メニューを表示するメイン画面であり、地図を表示させたい地点を指定するための各種ボタンや簡単ナビゲーションボタン101(選択項目の一例)等が設けられている。なお、表示された地図上において、ユーザが任意の場所を指定すると、システム制御部28は、指定された場所を徒歩案内の目的地として設定するようになっている。
ここで、ユーザが操作部25を用いて、簡単ナビゲーションボタン101を選択すると、システム制御部28は、当該ボタンの選択を検出する(ステップS3)。
次いで、システム制御部28は、目的地設定画面200を、図5(b)に示すように表示部24に表示させ(ステップS4)、GPS測位部27に測位開始命令を出力すると(ステップS5)、ユーザによる目的地の指定操作の受け付けを開始する(ステップS6)。
目的地設定画面200は、徒歩案内用に目的地を設定するためのサブメニュー画面であり、現在位置周辺のスポットを探索するためのボタン、目的地の名称や住所等を入力して検索を行うための入力フォーム及びボタン、ユーザのお気に入りとして登録されたスポットの中から目的地を選択するためのボタン、最近検索したスポットの中から目的地を選択するためのボタン等が設けられている。
ここで、ユーザが操作部25を用いて目的地の指定操作を行い、目的地の指定が完了すると、システム制御部28は、目的地の指定操作の受け付けを終了させ(ステップ7)、当該指定操作に基づいて目的地情報をRAM上に設定する(ステップS8)。
次いで、システム制御部28は、GPS測位部27により現在位置が測定されたか否かを、例えば、RAM上に現在位置情報が設定されているかを参照すること等により判定し(ステップS9)、現在位置が測定されるまで、当該判定処理を繰り返す(ステップS9:NO)。なお、ステップS8の時点で現在位置が測定が完了している場合には(ステップS9:YES)、当該判定処理は繰り返されず、ステップS10に移行する。
一方、GPS測位部27は、システム制御部28から測位開始命令が供給されることにより起動し(ステップS31)、現在位置の測位を開始する(ステップS32)。そして、GPS測位部27は、例えば、10秒前後で測位を完了し(ステップS33)、現在位置の緯度経度を示す現在位置情報をシステム制御部28のRAM上に設定する(ステップS34)。この後、GPS測位部27は、ステップS32〜S34の処理を繰り返す。
システム制御部28は、ステップS9において、現在位置が測定されたと判定すると(ステップS9:YES)、目的地情報及び現在位置情報を含む経路探索リクエストをサーバSVに送信する(ステップS10)。
[1.4.2 経路探索から誘導開始までの動作]
次に、経路探索から誘導開始までの動作について、図6乃至図8を用いて説明する。
図6は、第1実施形態に係るサーバSVのシステム制御部13の経路探索処理における処理例を示すフローチャートである。また、図7は、第1実施形態に係る携帯電話機MPのシステム制御部28の、経路探索をリクエストしてから誘導を開始するまでの処理例を示すフローチャートであり、同図において、図4と同様の要素については同様の符号を付してある。また、図8(a)は、探索結果画面300の表示例を示す図であり、図8(b)は、徒歩案内画面400の表示例を示す図である。
先ず、サーバSVのシステム制御部13の経路探索処理について説明する。
図6に示すように、サーバSVのシステム制御部13は、携帯電話機MPから送信された経路探索リクエストを受信すると(ステップS41)、通常の経路探索を行う(ステップS42)。具体的に、システム制御部13は、当該リクエストに設定された現在位置情報及び目的地情報が示す現在地から目的地までの経路として、徒歩経路及び鉄道の利用を含む経路を、地図データに基づいて探索する。
次いで、システム制御部13は、徒歩案内を行う候補として徒歩経路があるか否かを判定し(ステップS43)、徒歩経路がない場合には(ステップS43:NO)、探索結果情報を生成し、当該探索結果情報を携帯電話機MPに送信して(ステップS44)、経路探索処理を終了させる。
一方、システム制御部13は、徒歩案内を行う候補として徒歩経路がある場合には(ステップS43:YES)、徒歩案内を行う候補として鉄道の利用を含む経路があるか否かを判定する(ステップS45)。このとき、システム制御部13は、鉄道の利用を含む経路がない場合には(ステップS45:NO)、ステップS50に移行する。
一方、システム制御部13は、徒歩案内を行う候補として鉄道の利用を含む経路がある場合には(ステップS45:YES)、現在位置から目的地までの実距離を算出する(ステップS46)。
次いで、システム制御部13は、算出された目的地までの実距離が1km未満であるか否かを判定し(ステップS47)、1km未満ではない場合には(ステップS47:NO)、探索結果情報を携帯電話機MPに送信して(ステップS44)、経路探索処理を終了させる。
一方、システム制御部13は、目的地までの実距離が1km未満である場合には(ステップS47:YES)、徒歩経路が複数あるか否かを判定し(ステップS48)、徒歩経路が複数ある場合には(ステップS48:YES)、当該複数の徒歩経路の中から実距離が最短の徒歩経路を選択し(ステップS49)、ステップS50に移行する。
一方、システム制御部13は、徒歩経路が一つである場合には(ステップS48:NO)、当該徒歩経路を選択して、ステップS50に移行する。
ステップS50において、システム制御部13は、選択した徒歩経路についての徒歩経路案内指示を携帯電話機MPに送信し、経路探索処理を終了させる。
次に、携帯電話機MPのシステム制御部28の、経路探索をリクエストしてから誘導を開始するまでの処理について説明する。
図7に示すように、携帯電話機MPのシステム制御部28は、経路探索リクエストをサーバSVに送信すると(ステップS10)、サーバSVからメッセージを受信したか否かを判定し(ステップS11)、メッセージを受信した場合には(ステップS11:YES)、受信されたメッセージを表示部24により画面に表示さると(ステップ12)、ステップS11に移行する。
一方、システム制御部28は、メッセージを受信していない場合には(ステップS11:NO)、サーバSVから探索結果情報を受信したか否かを判定する(ステップS13)。このとき、システム制御部13は、探索結果情報を受信した場合には(ステップS13:YES)、当該探索結果情報に基づいて、探索結果画面300を、図8(a)に示すように表示部24に表示させる(ステップS14)。
探索結果画面300には、サーバSVにより探索された経路に関する経路情報301及び302が、経路毎に表示される。例えば、徒歩経路の経路情報301としては、目的地までの所要時間、出発地及び目的地の名称、出発地から目的地までの区間の移動距離、所要時間等が表示され、出発地から目的地までの区間に対応して、誘導ボタン303が表示される。また、鉄道の利用を含む経路の経路情報302としては、出発地、乗車駅及び降車駅を含む中継駅、目的地夫々の名称、中継駅で分割される各区間における移動距離(徒歩の場合)、所要時間等が表示され、徒歩で移動する区間(例えば、出発地から乗車駅までの区間、降車駅から目的地までの区間)に夫々対応して誘導ボタン303が夫々表示される。
なお、図示はしていないが、システム制御部28は、探索結果情報を記憶部26に記憶させておき、前回探索した結果の探索結果画面300を再表示することができるようになっている。これにより、例えば、出発地から乗車駅まで徒歩案内が終わった後、一旦地図アプリを終了させ、降車駅に到着してからアプリを再起動した場合に、再度経路探索を行わなくても、降車駅から目的地までの徒歩案内を簡単に素早く開始させることができる。
次いで、システム制御部28は、何れかの誘導ボタン303が選択されたか否かを判定し(ステップS15)、何れかの誘導ボタン303が選択されるまで、当該判定処理を繰り返す(ステップS15:NO)。
ここで、ユーザが操作部25を用いて、何れかの誘導ボタン303を選択すると(ステップS15:YES)、システム制御部28は、徒歩案内画面400を、図8(b)に示すように表示部24に表示させ、選択された経路に基づく徒歩案内処理を開始させる。
具体的に、システム制御部28は、サーバSVから受信した地図データに基づいて、現在位置周辺の地図を画面に表示するとともに、現在位置を示す現在位置マーク401を、画面の中央にする。また、システム制御部28は、現在位置から目的地までの直線距離402を画面に表示し、現在位置から目的地の方向を示す矢印403を表示する。なお、現在位置から目的地までの距離の表示の方法や目的地の方向を示す表示の方法は、これに限られるものではない。
そして、携帯電話機MPを持ったユーザの移動に対応して、GPS測位部27により測位された現在位置情報に基づいて、随時サーバSVにリクエストを送信することにより必要な地図データを取得しながら、背景の地図をスクロール表示させるとともに、直線距離402及び矢印403の表示を動的に更新する。このとき、システム制御部28は、画面を凝視しなくても目的地までのおおよその距離をユーザが把握できるように、直線距離402の表示として、目的地までの直線距離が40m未満である場合は赤色で表示し、目的地までの直線距離が40m以上1km未満である場合はオレンジ色で表示し、目的地までの直線距離が1km以上である場合には青色で表示する。
また、システム制御部28は、ユーザが10m移動する毎に、ユーザの移動した軌跡を示す軌跡マーク404を画面に表示する。また、システム制御部28は、画面内に目的地があると、当該目的地を目的地フラグ405として画面に表示する。そして、システム制御部28は、目的地までの直線距離が40mに近づいたときに、バイブレータを振動させるとともに、「目的地付近です」というメッセージを画面に表示する。
一方、システム制御部28は、ステップS13において、探索結果情報を受信していない場合には(ステップS13:NO)、サーバSVから徒歩経路案内指示を受信したか否かを判定する(ステップS17)。このとき、システム制御部13は、徒歩経路案内指示を受信していない場合には(ステップS17:NO)、ステップS11に移行し、徒歩経路案内指示を受信した場合には、探索結果画面300を表示せずに、ステップS16と同様にして、徒歩経路に基づく徒歩案内処理を開始させる(ステップS18)。
[1.4.3 現在位置から任意の位置の距離動的表示の動作]
次に、ユーザのカーソルキーの操作により地図をスクロール表示させて、現在位置から任意の位置までの直線距離を動的表示させる場合の動作について、図9及び図10を用いて説明する。
図9は、第1実施形態に係る携帯電話機MPのシステム制御部28の、ユーザ操作による現在位置から任意の位置までの距離動的表示処理における処理例を示す図である。また、図10は、現在位置から任意の位置までの直線距離を動的表示させる場合の徒歩案内画面400を表示例を示す図であり、同図において、図8(b)と同様の要素については同様の符号を付してある。
図9に示すように、システム制御部28は、徒歩案内処理を実行している際に、何れかのカーソルキーが押下された(押し下げられた)か否かを判定し(ステップS61)、何れのカーソルキーも押下されていない場合には(ステップS61:NO)、徒歩案内処理を継続する。
一方、システム制御部28は、何れかのカーソルキーが押下された場合には(ステップS61:YES)、現在位置情報の経度X0及び緯度Y0を、夫々変数Xi及びYiに設定する(ステップS62)。
次いで、システム制御部28は、押下されたカーソルキーが何れのカーソルキーであるかを判別する(ステップS63)。このとき、システム制御部28は、上カーソルキーが押下された場合には(ステップS63:上キー)、Yiに、地図スクロールによる緯度変化分のΔYを加算して得られた緯度をYiに設定し(ステップS64)、下カーソルキーが押下された場合には(ステップS63:下キー)、YiからΔYを減算して得られた緯度をYiに設定し(ステップS65)、左カーソルキーが押下された場合には(ステップS63:左キー)、Xiに、地図スクロールによる経度変化分のΔXを加算して得られた緯度をXiに設定し(ステップS66)、右カーソルキーが押下された場合には(ステップS63:右キー)、XiからΔXを減算して得られた緯度をXiに設定する(ステップS67)。
ステップS64〜S67の何れかの処理を終えたシステム制御部28は、X0及びY0が示す現在位置からXi及びYiが示す位置までの距離Lを、以下に示す式(1)により算出する(ステップS68)。
次いで、システム制御部28は、経度Xi及び緯度Yiを中心とする地図を画面に表示し(ステップS69)、算出した距離Lを直線距離406として、図10に示すように画面に表示する(ステップS70)。このとき、システム制御部28は、任意の位置Xi及びYiを示す位置マーク407を画面の中央に表示するとともに、再開ボタン408を表示する。
次いで、システム制御部28は、カーソルキーが押下されているか否かを判定し(ステップS71)、カーソルキーが押下されている場合には(ステップS71:YES)、ステップS63に移行する。
一方、システム制御部28は、カーソルキーが押下されていない場合には(ステップS71:NO)、再開ボタン408がユーザにより選択されたか否かを判定する(ステップS72)。このとき、システム制御部13は、再開ボタン408が選択されていない場合には(ステップS72:NO)、ステップS71に移行する。
このようにして、システム制御部28は、ステップS63〜S72の処理を繰り返すことにより、ユーザによるカーソルキーの操作に応じて、地図をスクロール表示させるとともに、現在位置(X0及びY0が示す位置)から画面に表示された地図の中央の位置(Xi及びYiが示す位置)までの直線距離を動的の表示する。
ここで、ユーザが操作部25を操作して再開ボタン408を選択すると(ステップS72:YES)、システム制御部28は、現在位置X0及びY0を中心とする地図を、例えば、図8(b)に示すように画面に表示し(ステップS73)、通常の徒歩案内処理に戻る。
以上説明したように、本実施形態によれば、サーバSVのシステム制御部13が、徒歩経路を探索するとともに、目的地まで鉄道を利用した移動を含む経路を探索し、探索した結果に基づいて探索結果情報を携帯電話機MPに送信し、携帯電話機MPのシステム制御部28は、当該探索結果情報に基づいて探索結果画面300を表示し、操作部25を用いてユーザにより経路が選択されると、当該選択された経路に基づいて徒歩案内を行うようになっている。ここで、サーバSVのシステム制御部13は、徒歩経路で移動することが妥当であるか否かを判定し、当該徒歩経路で移動することが妥当であると判定した場合には、探索結果情報の送信を省いて、徒歩経路案内指示を携帯電話機MPを送信し、携帯電話機MPのシステム制御部28は、当該徒歩経路案内指示を受信すると、サーバSVにより探索された徒歩経路に基づく徒歩案内を開始するようになっている。
従って、目的地が設定された後、目的地まで徒歩のみで移動することが妥当である場合には、探索結果画面300の表示なしで、徒歩経路に基づく徒歩案内が開始されるので、探索結果画面300において経路を選択するという煩雑な操作が省略され、徒歩案内開始までの時間を短縮させることができる。
また、サーバSVのシステム制御部13は、現在位置から目的地までの徒歩経路の実距離を算出し、当該実距離が、徒歩による移動が容易である上限の距離である基準距離未満である場合には、徒歩経路で移動することが妥当であると判定し、徒歩経路案内指示を携帯電話機MPに送信するので、目的地まで徒歩で移動することが容易な距離であれば、煩雑な操作を省略して、徒歩案内開始までの時間を短縮させることができる。
また、サーバSVのシステム制御部13は、経路探索の結果、徒歩案内の候補として、鉄道を利用した移動を含む経路が抽出されなかった場合には、徒歩経路で移動することが妥当であると判定し、徒歩経路案内指示を携帯電話機MPに送信するので、明らかに徒歩経路で移動することが妥当な場合に、無駄な操作を省略して、徒歩案内開始までの時間を短縮させることができる。
また、携帯電話機MPのシステム制御部28は、地図アプリを起動し、操作部25を用いてユーザにより目的地の指定操作が行われると当該指定操作に基づいて目的地情報をRAMに設定するが、当該目的地情報の設定前に地図アプリの実行と並行させてGPS測位部27に携帯電話機MPの現在位置の測定を開始させ、GPS測位部27により測位された現在位置から、設定された目的地情報が示す目的地までの徒歩案内を行うので、現在位置の測定待ち時間が短縮され、迅速に徒歩案内を開始させることができる。
また、携帯電話機MPのシステム制御部28は、地図アプリの起動によりトップ画面100を表示し、当該画面上の簡単ナビゲーションボタン101がユーザにより選択されると、目的地設定画面200を表示するが、このときに、GPS測位部27に携帯電話機MPの現在位置の測定を開始させるので、徒歩案内を行う可能性が高くなった段階で現在位置の測定が開始されることにより、GPS測位部27による測位が行われたにもかかわらず徒歩案内が行われなかったために当該測位により携帯電話機MPのバッテリー(電力)が浪費されることを防止することができる。
従来、携帯電話機において、目的地が設定される前に現在位置の測定を行わない理由の一つとして、現在位置の測定によるバッテリー消費を最小限に抑えるということが考えられるが、本実施形態によれば、現在位置の測定待ち時間を短縮しつつも、バッテリーの無駄な消費を抑えることができる。
なお、上記説明した第1実施形態においては、GPS測位部27により現在位置の測位を開始するタイミングを、目的地設定画面200の表示時としていたが、これ以外のタイミングで、測位を開始しても良い。例えば、簡単ナビゲーションボタン101の選択時であっても良い。また、徒歩案内が行われることがより確実な、ユーザによる目的地の入力の開始を検出した時点であっても良い。また、地図アプリの起動時において、ユーザにより指定された地点の地図を表示させた時点であっても良い。
また、徒歩誘導の開始待ちを短縮するという観点からいえば、現在位置の測位を開始するタイミングとしては、地図アプリの起動時から目的地が設定される前までの間であれば良い。
また、GPS測位部27の起動と測位開始とが別個の命令で行われるような場合には、例えば、システム制御部28は、簡単ナビゲーションボタン101がユーザにより選択されたときにGPS測位部27を起動させ、目的地設定画面200を表示したときに測位を開始させるといったように、異なるタイミングでGPS測位部27の起動と測位開始とを行うように制御しても良い。
[2.第2実施形態]
次に、第2実施形態について、図11を用いて説明する。
図11は、第2実施形態に係るサーバSVのシステム制御部13の経路探索処理における処理例を示すフローチャートである。
上記説明した第1実施形態においては、サーバSVのシステム制御部13は、経路探索処理において、先ず、徒歩経路と鉄道の利用を含む経路の双方を探索していたが、以下に説明する第2実施形態は、目的地まで徒歩経路で移動することが妥当であると判定した場合には、徒歩経路のみを探索する場合の実施形態である。
図11に示すように、サーバSVのシステム制御部13は、携帯電話機MPから送信された経路探索リクエストを受信すると(ステップS91)、先ず、現在位置から目的地までの直線距離を算出する(ステップS92)。
次いで、システム制御部13は、算出された目的地までの直線距離が800m未満であるか否かを判定し(ステップS93)、800m未満ではない場合には(ステップS93:NO)、通常の経路探索を行い(ステップS94)、探索結果情報を携帯電話機MPに送信して(ステップS95)、経路探索処理を終了させる。
一方、システム制御部13は、算出された目的地までの直線距離が800m未満であると判定した場合には(ステップS93:YES)、徒歩経路のみを探索する(ステップS96)。
本実施形態においては、経路探索を行う前に、目的地まで徒歩経路で移動することが妥当であるか否かを判定することから、ステップS93の時点では、目的地までの実距離が分からないため、目的地までの距離を直線距離として算出することとした。また、徒歩経路は目的地まで直線であるとは限らないため、実距離を直線距離の1.5倍であると想定し、15分で移動できる距離1,2kmの3分の2である800mを基準距離として設定した。
次いで、システム制御部13は、徒歩経路があるか否かを判定し(ステップS97)、徒歩経路がない場合には(ステップS97:NO)、通常の経路探索を行い(ステップS98)、探索結果情報を携帯電話機MPに送信して(ステップS99)、経路探索処理を終了させる。
一方、システム制御部13は、徒歩経路がある場合には(ステップS97:YES)、徒歩経路が複数あるか否かを判定する(ステップS100)。このとき、システム制御部13は、徒歩経路が複数ある場合には(ステップS100:YES)、当該複数の徒歩経路の中から実距離が最短の徒歩経路を選択し(ステップS101)、ステップS102に移行する。
一方、システム制御部13は、徒歩経路が一つである場合には(ステップS100:NO)、当該徒歩経路を選択して、ステップS102に移行する。
ステップS102において、システム制御部13は、選択した徒歩経路についての徒歩経路案内指示を携帯電話機MPに送信し、経路探索処理を終了させる。
以上説明したように、本実施形態によれば、第1実施形態と同様に、目的地まで徒歩で移動することが容易な距離であれば、煩雑な操作を省略して、徒歩案内開始までの時間を短縮させることができる。
また、サーバSVのシステム制御部13は、徒歩経路で移動することが妥当であると判定した場合には、探索結果情報の送信を省くとともに、鉄道を利用した移動を含む経路の探索を省いて、徒歩経路案内指示を携帯電話機MPを送信するので、経路探索に要する時間が短縮されて、徒歩案内開始までの時間をより短縮させることができる。
また、サーバSVのシステム制御部13は、現在位置から目的地までの直線距離を算出し、当該直線距離が基準距離未満であるか否かを判定することにより、徒歩経路で移動することが妥当であるか否かを判定するので、実距離で算出するよりも計算時間が短縮されて、徒歩案内開始までの時間をより短縮させることができる。
[2.第3実施形態]
次に、第3実施形態について、図12及び図13を用いて説明する。
図12は、第3実施形態に係るサーバSVのシステム制御部13の経路探索処理における処理例を示すフローチャートである。また、図13は、現在地から目的地までの間に商店街がある場合について、許容距離を算出する方法を説明する図である。
上記説明した各実施形態においては、サーバSVのシステム制御部13は、経路探索処理において、目的地まで徒歩経路で移動することが妥当であるか否かに用いられる基準距離を固定としていたが、以下に説明する第3実施形態は、ユーザ情報に基づいて基準距離を設定する場合の実施形態である。また、上記説明した各実施形態においては、目的地までの実距離または直線距離が基準距離を超える場合には、必ず探索結果画面300を表示するようにしていたが、以下に説明する第3実施形態は、更に、施設データと目的地までの直線距離に基づいて、目的地まで徒歩経路で移動することが妥当であるか否かを判定する場合の実施形態である。
本実施形態において、サーバSVの記憶部11には、携帯電話機MPを利用するユーザに関するユーザ情報が記憶されている。ユーザ情報には、例えば、ユーザの氏名、性別、年齢情報(例えば、年齢、年代を示す情報(例えば、幼児、学童、中学生、高校生、成年、社会人、あるいは、青年、中高年、老年等))、体力情報(例えば、体型、体力、運動頻度)、優先フラグ等が、ユーザID(Identify)に対応付けて記憶されている。ここで、優先フラグは、経路探索を行う際に、徒歩経路を優先して選択するか否かを示す情報である。
このユーザ情報は、例えば、携帯電話機MPにおいて、地図アプリをはじめて起動したとき等に、ユーザが入力することができる。そうすると、携帯電話機MPのシステム制御部28が、入力されたユーザ情報をサーバSVに送信し、サーバSVのシステム制御部13が、受信したユーザ情報をユーザIDに対応付けて記憶部11に記憶させる。
そして、システム制御部13は、記憶されたユーザ情報に基づいて基準距離を算出し、当該基準距離をユーザIDに対応付けて記憶部11に記憶させる。
基準距離の算出方法としては、例えば、性別により、男性である場合には長め(例えば、1.2km等)に設定し、女性である場合には短め(例えば、800m)に設定したり、年齢に応じて設定しても良いし、体力情報に応じて設定しても良い。また、これらの情報を総合的に勘案して、基準距離を設定しても良い。
次に、経路探索処理について説明する。
図12に示すように、サーバSVのシステム制御部13は、携帯電話機MPから送信された経路探索リクエストを受信すると(ステップS111)、先ず、現在位置から目的地までの直線距離を算出する(ステップS112)。
次いで、システム制御部13は、携帯電話機MPのユーザのユーザIDに対応する基準距離を記憶部11から読み出し、算出された目的地までの直線距離が基準距離未満であるか否かを判定し(ステップS113)、基準距離未満ではない場合には(ステップS113:NO)、ステップS114に移行し、基準距離未満である場合には(ステップS113:YES)、ステップS124に移行する。
ステップS114において、システム制御部13は、携帯電話機MPのユーザのユーザIDに対応するユーザ情報に設定されている優先フラグが徒歩優先であるか否かを判定し(ステップS114)、徒歩優先である場合には(ステップS114:YES)、ステップS115に移行し、徒歩優先ではない場合には(ステップS114:NO)、ステップS116に移行する。
ステップS115において、システム制御部13は、目的地までの直線距離が2.5km以上であるか否かを判定し、2.5km以上である場合には(ステップS115:YES)、ステップS116に移行し、2.5km以上ではない場合には(ステップS115:NO)、ステップS119に移行する。なお、2.5kmは、これ以上の距離であると、明らかに徒歩に向かないとして想定される距離である。
ステップS116において、システム制御部13は、「徒歩圏内ではありません」というメッセージを携帯電話機MPに送信する。これにより、携帯電話機MPにより、当該メッセージが画面に表示される(図7ステップS12参照)。
次いで、システム制御部13は、通常の経路探索を行い(ステップS117)、探索結果情報を携帯電話機MPに送信して(ステップS118)、経路探索処理を終了させる。
このように、システム制御部13は、例え、徒歩優先であっても、目的地までの直線距離が、明らかに徒歩に向いていないと判定した場合には、必ず探索結果画面300が表示されるように処理を行う。
一方、システム制御部13は、ステップS115において、2.5km以上ではない場合には、現在位置から目的地までの間に商店街があるか否かを判定する(ステップS119)。具体的に、システム制御部13は、地図データに含まれる施設データを参照し、例えば、図13に示すように、現在値Psから目的地Pdまでの直線PsPd上に、商店街Sdがあるか否かを判定する。この結果、システム制御部13は、現在地から目的地までの間に商店街がない場合には(ステップS119:NO)、ステップS122に移行する。
一方、システム制御部13は、現在位置から目的地までの間に商店街がある場合には(ステップS119:YES)、許容距離を算出する。ここで、許容距離とは、目的地までの直線距離が基準距離以上ではあるが、徒歩でも比較的楽に移動することができると想定される距離をいう。具体的に、システム制御部13は、以下の式(2)により、許容距離Lpを算出する。
ここで、Kは1未満の係数であり、Labは、図13に示す直線PsPd上における商店街の始点Paから終点Pbまでの距離であり、Lsは基準距離である。
次いで、システム制御部13は、目的地までの直線距離が、算出された許容距離未満であるか否かを判定し(ステップS121)、許容距離未満ではない場合には(ステップS121:NO)、ステップS122に移行し、許容距離未満である場合には(ステップS121:YES)、ステップS124に移行する。
現在地から目的地までの間に商店街がある場合には、ユーザが徒歩で目的地まで移動する際に、当該商店街を通る可能性が高い。商店街を通る際には、ユーザは、様々な店の様子を眺めたり、その店で売っているものを見たりというような行動をとることが考えられる。このようにして商店街の中を歩いていくと、ユーザは、目の保養、刺激等により、歩行時間(または、距離)が通常よりも短く感じ、また、気分転換にもなり疲れにくくなるものと考えられる。
そこで、システム制御部13は、目的地までの直線距離が基準距離以上であっても、現在地から目的地までの間に商店街がある場合には、ユーザが徒歩で通ると想定される商店街の距離に応じて許容距離を算出し、目的地までの直線距離が許容距離未満であれば、目的地まで徒歩経路で移動することが妥当と判定し、携帯電話機MPにより探索結果画面300の表示を省略して、徒歩経路に基づく徒歩案内処理が行われるように処理を行うのである。
なお、本実施形態においては、商店街のみを判断の対象としているが、例えば、公園、遊歩道、専門店街等を判断の対象としても良い。
システム制御部13は、ステップS121において、目的地までの直線距離が許容距離未満ではない場合には、現在位置から目的地までの間に、喫茶店や公園等の休憩施設があるか否かを判定する(ステップS122)。具体的には、ステップS119と同様に、図13に示す直線PsPd上に休憩施設があるか否かを判定する。この結果、システム制御部13は、現在地から目的地までの間に休憩施設がない場合には(ステップS122:NO)、通常の経路探索を行い(ステップS125)、探索結果情報を携帯電話機MPに送信して(ステップS126)、経路探索処理を終了させる。
一方、システム制御部13は、現在地から目的地までの間に休憩施設がある場合には(ステップS122:YES)、ステップS123に移行する。
このように、目的地までの直線距離が基準距離以上であっても、途中に休憩施設がある場合には、その休憩施設で休憩を入れながら移動すれば、徒歩でも比較的楽に移動できると考えられる。そこで、システム制御部13は、目的地までの直線距離が基準距離以上であっても、現在地から目的地までの間に休憩施設がある場合には、目的地まで徒歩経路で移動することが妥当であると判定し、携帯電話機MPにより探索結果画面300の表示を省略して、徒歩経路に基づく徒歩案内処理が行われるように処理を行うのである。
一方、目的地までの直線距離が基準距離以上であって、現在地から目的地までの間に休憩施設がない場合には、目的地まで徒歩で移動することがそれほど楽ではないと考えられるため、システム制御部13は、通常の経路探索を行い、探索結果画面300が表示されるように処理を行うのである。
ステップS123〜S129において、システム制御部13は、図11のステップS96〜S102と同様にして、徒歩経路のみを探索して、徒歩経路がない場合には、探索結果情報を携帯電話機MPに送信し、徒歩経路がある場合には、徒歩経路案内指示を携帯電話機MPに送信する。
なお、本実施形態において、携帯電話機MPによる徒歩案内処理の際、現在位置から目的地までの間に、路線バスの運行上、隣接する2つのバス停が存在する場合には、夫々のバス停について、バス停であることを示す記号を徒歩案内画面400に表示するようになっている。
具体的に、サーバSVのシステム制御部13は、現在位置から目的地までの直線を長軸とし、短軸を、例えば0.1kmとする楕円で囲まれた領域内に、隣接する2つのバス停が存在するか否かを施設データに基づいて判定し、当該領域内に、隣接する2つのバス停が存在する場合には、地図データにバス停の記号を埋め込んで、携帯電話機MPに送信する。
このように、地図上にバス停を表示することで、バスに乗って目的地付近まで移動することができることをユーザは歩いていく途中で知ることができる。
以上説明したように、本実施形態によれば、第2実施形態の作用による効果に加えて、サーバSVのシステム制御部13は、記憶部11に記憶されたユーザ情報に基づいて、基準距離を算出するので、ユーザの体力等に適した基準距離をユーザ毎に設定することができる。
また、サーバSVのシステム制御部13は、地図データに基づいて、現在位置から目的地までに存在する施設を抽出し、現在位置から目的地までの距離が基準距離以上である場合には、当該距離と抽出された施設の種別とに基づいて、徒歩経路で移動することが妥当であるか否かを判定するので、例えば、目的地まで徒歩で移動する際にユーザから見える施設により目的地までの距離が短く感じるような状況や、途中で休憩できること等を考慮して、徒歩経路で移動することが妥当であるか否かを判定することができる。
なお、上記説明した第3実施形態においては、ユーザ情報に基づいて、基準距離を設定していたが、例えば、ユーザ自身が指定した基準距離を設定しても良い。また、現在の天候や気候を考慮して、基準距離を設定しても良い。具体的には、例えば、ユーザにより携帯電話機MPを用いて天候を入力させ、または、所定のサーバ装置等から現在位置あるいは目的地の天候情報をサーバSVが取得し、当該サーバSVにおいて、例えば、晴天であれば、基準距離として1kmを設定し、雨天であれば、基準距離として500mを設定する。
また、本実施形態においては、現在位置から目的地までの間に、商店街や休憩施設があるか否かを判定する際には、現在位置から目的地までの直線上に、これらの施設があるか否かを判定していたが、例えば、第1実施形態のように、はじめに経路探索を行うような場合であれば、徒歩経路上にこれらの施設があるか否かを判定しても良い。このとき、商店街の始点Pa及び終点Pbまでの距離としては、徒歩経路に沿って距離を算出すれば良い。
また、本実施形態においては、徒歩優先である場合に、現在位置から目的地までの間に、商店街や休憩施設があるか否かを判定するようにしていたが、例えば、徒歩優先であって、目的地までの距離が2.5km未満であれば、徒歩経路案内指示を送信しても良いし、または、徒歩優先ではなくても、目的地までの距離が2.5km未満であれば、現在位置から目的地までの間に、商店街や休憩施設があるか否かを判定し、当該判定結果に基づいて徒歩経路案内指示または探索結果情報を送信するようにしても良い。
また、上記各実施形態においては、目的までの実距離または直線距離が基準距離未満である場合に、徒歩経路案内指示を送信するようにしていたが、実距離または直線距離が基準距離と同一であっても徒歩経路案内指示を送信しても良い。
また、上記各実施形態においては、徒歩以外の移動手段として鉄道を適用していたが、例えば、路線バス、定期船、自家用車、タクシー、航空機等の他の移動手段を適用しても良い。
また、上記各実施形態においては、サーバSVにより経路探索を行い、徒歩経路で移動することが妥当であるか否かを判定していたが、例えば、携帯電話機MPに地図データの記憶させ、携帯電話機MPにより経路探索を行い、徒歩経路で移動することが妥当であるか否かを判定しても良い。この場合は、システムの構成上、サーバSVは必須ではない。