(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0019】
A.第1実施例:
A1.全体構成:
図1は、本発明の第1実施例である経路探索システムのハードウェア構成を示す説明図である。第1実施例の経路探索システムは、経路探索サーバ100と、地図サーバ150と、携帯電話200と、を含む。
【0020】
携帯電話200は、GPSユニット201と、表示パネル202と、音声出力部203と、振動機構204と、通信部205と、コマンド入力部206と、時計部209と、主制御部210と、通話制御部220とを有している。
【0021】
GPSユニット201は、GPS(Global Positioning System:全地球測位システム)の衛星からの電波を受信するためのアンテナを含むユニットである。GPSのアンテナが受信する電波に基づいて、GPSユニット201は、携帯電話200の現在位置を表す現在位置情報を生成することができる。
【0022】
表示パネル202は、画像を表示することができる液晶ディスプレイである。表示パネル202は、液晶ディスプレイの上に透明のタッチパネルが重ねられて構成される。タッチパネルは、液晶ディスプレイに表示している画像に応じてパネルの一部に接触されることにより、ユーザからの指示を受けとることができる。すなわち、タッチパネルは、コマンド入力部206の一部として機能する。ユーザは、たとえば、表示パネル202の表面を指で押したり、表示パネル202の表面に接触した状態で指を動かすことにより、画像の表示を制御するための操作を行うことができる。なお、本明細書において、「画像」とは、狭義の画像のほか、文字、記号等を含む概念である。すなわち、本明細書において、「画像」とは、2次元で表現できる任意の対象を含む。
【0023】
なお、表示パネル202としては、感圧式、静電方式など、様々な方式のタッチパネルを採用することができる。たとえば、「抵抗膜方式(アナログ抵抗膜方式)」、「静電容量方式」、ガラスなどの表面を物理的な振動として伝播する表面弾性波を使用した「超音波表面弾性波方式」、ガラス表面を伝播する音響波を利用してタッチ位置を検出する「音響パルス認識方式」、タッチ面のタッチによる物理的な振動を検出し位置を求める「振動検出方式(DST)」、表示パネルの表面周囲の縦壁および横壁に発光部と受光部とを設け光が遮られた部分を検出する「赤外線遮光方式」、磁界を発生できる特別なペンによりタッチすることでパネル側でその電磁エネルギーを受け取りペンの位置を検出する「電磁誘導方式」、画面近くの主にコーナーに配置された複数個のイメージセンサでタッチする指などの画像を撮影しその画像解析結果からタッチ位置とタッチしたことを判断する「画像認識方式」、静電容量が変化する物体がセンサ電極に近接すると電極の静電容量が増加する特性を利用した「静電センサ方式」、LCD自体が直接イメージセンサとなる「光センサ内蔵LCD方式」など、様々な方式を採用することができる。
【0024】
コマンド入力部206は、上記のタッチパネル(表示パネル202)に加えて、ハードウェアとしてのキー206bを含む。ユーザは、タッチパネルに加えて、キー206bを押してONの操作を行うことによっても、携帯電話200に情報を入力することができる。
【0025】
音声出力部203は、スピーカを含む装置であって、経路案内などのユーザへのメッセージやメロディなどを音声で出力できる装置である。振動機構204は、所定のパターンの振動でユーザの注意を促すことができる装置である。
【0026】
通信部205は、通信ネットワークとしてのインターネットINTを介して、経路探索サーバ100および地図サーバ150と通信を行い、情報を送受信することができる。なお、通信ネットワークとしては、インターネットのほかにLANやWAN、公衆回線等を使用できる。通話制御部220は、通話のための着信呼出、音声/電気信号の変換などを行う回路である。時計部209は、主制御部210からの要求に応じて、現在時刻を表す現在時刻情報を出力する。
【0027】
主制御部210は、携帯電話200の各部を制御するための制御ユニットである。主制御部210は、それらの制御に使用されるCPU211、RAM212、ROM213を備えている。例えば、主制御部210は、CPUでアプリケーションソフトウェア230を実行することによって、携帯電話200の各部を制御して様々な処理を行わせることができ、また、携帯電話200から経路探索サーバ100や地図サーバ150に情報を送信して経路探索サーバ100および地図サーバ150に様々な処理を行わせることができる。
【0028】
経路探索サーバ100は、通信部102と、制御部104と、記憶部106とを有している。通信部102は、インターネットINTを介して地図サーバ150および携帯電話200と通信を行うことができる。
【0029】
記憶部106は、経路探索のための経路ネットワークデータベース108を格納している。記憶部106は、さらに、地図サーバ150および携帯電話200から受け取ったデータ、およびそれらに基づいて生成されたデータを格納する。
【0030】
経路ネットワークデータベース108が保持する経路ネットワークデータは、ノード情報と、アーク情報とを含む。ノード情報は、交差点や、道路上で車線数が変わる地点、有料道路への進入路が分岐している場所、カーブの開始点および終了点、路線の駅などの地点を表す情報である。
【0031】
アーク情報は、ノードとノードを結ぶ道路であるアークに関する情報である。各アークには固有のIDが割り当てられている。各アーク情報は、それぞれのアークに含まれる多数の地点の緯度および経度のデータを含んでいる。すなわち、ルートを設定することができる道路は、それらの地点の点列として表すことができる。各アーク情報は、それらのIDおよび点列の情報に加えて、さらに、それぞれのアークが有料道路であるか否かに関する情報や、車線数の情報等の情報を含んでいる。
【0032】
経路探索サーバ100の制御部104は、記憶部106に格納されている経路ネットワークデータベース108を参照しつつ、出発地および目的地、ならびに経由地その他の探索条件の情報に基づいて、ルートを探索することができる。そして、制御部104は、出発地点から目的地に至る経路を表す経路データを生成し、携帯電話200に送信することができる。経路データは、ノード情報、アーク情報などを含む。
【0033】
地図サーバ150は、通信部152と、制御部154と、記憶部156とを有している。通信部152は、インターネットINTを介して経路探索サーバ100や携帯電話200と通信を行うことができる。
【0034】
記憶部156は、携帯電話200に送信するための画像データとしての地図画像データを含む地図データベースを格納している。地図データベースは、複数の縮尺の地図画像をそれぞれ表す複数組の地図画像データを含んでいる。制御部154は、携帯電話200から受け取ったデータに基づいて携帯電話200が要求する一部の領域の地図を表す地図画像データを特定し、通信部152を介して携帯電話200に送信することができる。
【0035】
A2.経路を決定する際の処理例1:
図2は、目的地に至る経路を経路探索システムが決定する際の処理を表すフローチャートである。ステップS10において、ユーザは、まず、携帯電話200のコマンド入力部206を介して、目的地および出発地を入力し、さらに経路探索をすべき旨の指示を入力する。
【0036】
なお、出発地は、ユーザによって入力された地点に代えて、GPSユニット201によって特定される現在位置とすることもできる。また、ユーザは、目的地および出発地に加えて経由地を入力することもできる。以下の実施例の説明において経由地について言及する場合がある。しかし、ステップS10において経由地が入力されない場合には、経路探索システムの処理において経由地は考慮されない。
【0037】
ユーザからの上記入力を受けた後、携帯電話200の主制御部210は、通信部205を介して、経路探索サーバ100に目的地、経由地、および出発地、ならびに経路探索をすべき旨の指示を送信する。
【0038】
経路探索サーバ100の制御部104は、通信部102を介して目的地、経由地、および出発地、ならびに経路探索をすべき旨の指示を受け取る。そして、制御部104は、経路ネットワークデータベース108を参照して、目的地、経由地、および出発地に基づいて、出発地から経由地を経由して目的地に至る経路を探索する。そして、制御部104は、経路を表す経路データを生成し、携帯電話200に送信する。なお、経路データは、ノード情報、アーク情報などを含む。このような機能を奏する制御部104の機能部を、経路決定部112として、
図1に示す。
【0039】
携帯電話200の主制御部210は、通信部205を介して経路データを受信する。そして、主制御部210は、受信した経路データに基づき、経路データが表す経路全体を地図上に表示するための地図データを、通信部205を介して地図サーバ150に要求する。主制御部210は、より具体的には、地図において表示されるべき範囲を緯度および経度で指定して、地図データを地図サーバ150に要求する。
【0040】
地図サーバ150の制御部154は、通信部152を介して携帯電話200からの要求を受信すると、記憶部156の地図データベースを参照して、経路全体を地図上に表示できる範囲の地図データを作成し、携帯電話200に送信する。
【0041】
携帯電話200の主制御部210は、経路探索サーバ100から受信した経路データと、地図サーバ150から受信した地図データとを使用して、表示パネル202上に経路全体と地図とを重畳して表示する。ここでは、たとえば、経路は太い黄色の線で表示されるものとする。また、主制御部210は、それらの表示とともに、表示パネル202上に「案内開始」ボタンDB1と、「消去」ボタンDB2とを表示する(
図1参照)。このような機能を奏する主制御部210の機能部を、経路表示部231として、
図1に示す。
【0042】
図2のステップS15においては、携帯電話200の主制御部210は、表示パネル202(タッチパネル)上の「案内開始」ボタンDB1がタップされたか否かを判定する。
【0043】
本明細書では、表示パネル202(タッチパネル)に対する操作として、「タップ」と「フリック」に言及する。ユーザがタッチパネルに接触して入力を行った際、(i)ユーザがタッチパネルに接触している領域である接触部が移動しないか、または接触部の移動距離が第1のしきい値ThL1以下であり、かつ、(ii)接触時間が第2のしきい値Tht2よりも短い場合に、主制御部210は、その入力が「タップ」であると判定する。また、ユーザがタッチパネルに接触して入力を行った際、(i)接触部の移動距離が第3のしきい値ThL3(ThL3≧ThL1)より大きく、かつ、(ii)接触時間が第4のしきい値Tht4(ThL4≧ThL2)よりも短い場合に、主制御部210は、その入力が「フリック」であると判定する。なお、ユーザがタッチパネルに接触して入力を行った際、(i)接触部の移動距離が第3のしきい値ThL3(ThL3≧ThL1)より大きく、かつ、(ii)接触時間が第4のしきい値Tht4(ThL4≧ThL2)よりも大きい場合に、主制御部210は、その入力が「ドラッグ」であると判定する。
【0044】
ステップS15において、「案内開始」ボタンDB1がタップされた場合には、処理はステップS20に移行する。ステップS20において、携帯電話200の主制御部210は、表示パネル202および音声出力部203を制御して、経路データにしたがって経路案内を行う。その際、経路上を現在位置が進行するにしたがい、現在位置周辺の地図データを地図サーバ150から取得し、表示パネル202上に、現在位置周辺の地図とその地図に含まれる経路の一部を表示する。現在位置が目的地に到達すると、主制御部210は、経路案内を終了する。一方、ステップS15において、「案内開始」ボタンDB1がタップされない場合には、処理はステップS25に移行する。
【0045】
ステップS25においては、携帯電話200の主制御部210は、表示パネル202(タッチパネル)上の経路がタップされたか否かを判定する。表示パネル202上の経路がタップされた場合には、処理はステップS30に移行する。一方、経路がタップされない場合には、処理はステップS15に戻る。
【0046】
ステップS30においては、携帯電話200の主制御部210は、動作モードを通常モードから経路変更モードに移行させる。「通常モード」は、出発地および目的地、ならび経由地に基づいて、経路探索システムに自動的に経路探索を行わせるための動作モードである。「経路変更モード」は、経路探索システムが探索した経路をユーザの指示に従って変更するための動作モードである。ステップS30において、主制御部210は、表示パネル202上の経路の表示色を、たとえば、黄色からピンク色に変更して、経路変更モードに移行したことをユーザに示す。
【0047】
図3は、
図2のステップS10で表示パネル202上に表示された経路R0と、ステップS40で表示パネル202(タッチパネル)に入力されるフリック操作Af1の関係を示す図である。
図3において、出発地S01から目的地G01に至る経路R0が示されている。経路R0上の大きい黒丸は、ノードを表す。ノードとノードを結ぶ線は、アークである。経路R0は、
図2のステップS10で探索された経路である。
【0048】
図2のステップS40においては、ユーザは、表示パネル202上に表示された経路と交差するように、フリック操作Af1を行う。携帯電話200の主制御部210は、表示パネル202を介してユーザによるフリック操作Af1を受け付ける。このような機能を奏する主制御部210の機能部を、フリック受付部232として、
図1に示す。
【0049】
図3の例では、フリック操作Af1において、点F11で最初にユーザの指が表示パネル202(タッチパネル)に接触し、その後、点F12まで接触を維持したまま指が移動し、点F12で表示パネル202(タッチパネル)から離れたものとする。なお、本明細書では、フリック操作についての説明は、ユーザの指がタッチパネルに接触している領域の代表点(F11,F12)を使用して行われる。ユーザの指がタッチパネルに接触している領域の代表点は、たとえば、それぞれの領域の重心とすることができる。
図3に示すように、ユーザによるフリック操作Af1と経路R0とは、フリック通過点FP1で交差している。
【0050】
図2のステップS50においては、ユーザによるフリック操作Af1に基づいて、経路R0の一部が変更される。経路を変更するための処理については、後に説明する。そして、携帯電話200の主制御部210は、変更後の経路R1全体を地図に重畳させて、表示パネル202に表示する。表示パネル202に経路R1を表示する際の処理は、ステップS10において経路R0を表示する際の処理と同じである。主制御部210は、地図および経路の表示とともに、表示パネル202上に「確定」ボタンDB3と、「もとに戻す」ボタンDB4とを表示する。
【0051】
ステップS55においては、携帯電話200の主制御部210は、「確定」ボタンDB3がタップされたか否かを判定する。「確定」ボタンDB3がタップされた場合には、主制御部210は、動作モードを通常モードに移行させ、処理を、ステップS15に戻す。なお、その際、主制御部210は、表示パネル202上の経路の表示色を、ピンク色から黄色に戻す。そして、変更前の経路R0に代えて変更後の経路R1に基づいて、ステップS15以下の処理が行われる。一方、「確定」ボタンDB3がタップされない場合には、処理は、ステップS57に進む。
【0052】
ステップS57においては、携帯電話200の主制御部210は、「もとに戻す」ボタンDB4がタップされたか否かを判定する。「もとに戻す」ボタンDB4がタップされない場合には、処理は、ステップS40に戻る。そして、変更前の経路R0に代えて変更後の経路R1に基づいてステップS40以下の処理が行われる。一方、「もとに戻す」ボタンDB4がタップされた場合には、処理は、ステップS60に進む。
【0053】
ステップS60においては、携帯電話200の主制御部210は、変更後の経路R1に代えて、変更前の経路R0を表示パネル202に表示する。表示パネル202に経路R0を表示する際の処理は、ステップS10において経路R0を表示する際の処理と同じである。そして、処理は、ステップS40に戻る。以降の処理では、再び変更前の経路R0に基づいてステップS40以下の処理が行われる。
【0054】
図4は、
図2のステップS50の詳細な処理を説明するフローチャートである。ステップS510においては、携帯電話200の主制御部210は、ステップS40で入力されたフリック操作の向き、距離、速さを決定する。具体的には、主制御部210は、フリック操作Af1における最初の接触領域の代表点F11および最後の接触領域の代表点F12の位置の情報と、時計部209から得られるフリック操作の開始時刻と終了時刻と、に基づいて、フリック操作の向き、距離、速さを決定することができる(
図3参照)。
【0055】
図4のステップS520においては、携帯電話200の主制御部210は、表示パネル202上においてユーザのフリック操作と経路とが交差する点であるフリック通過点を決定する。
図3いおいてフリック通過点をFP1で示す。
【0056】
図4のステップS530においては、携帯電話200の主制御部210は、フリック通過点に基づいて、基準変更通過ノードを決定する。「基準変更通過ノード」は、変更前の経路に含まれるノードのうち、フリック通過点に最も近いノードである。
図3において、基準変更通過ノードをOP00で示す。
【0057】
図4のステップS540においては、携帯電話200の主制御部210は、フリック操作の速さに基づいて、新通過地点の数Nmを決定する。「新通過地点」は、変更後の経路に含まれる地点であって、変更後の経路を決定する際に通過すべきものとしてあらかじめ設定される地点である。主制御部210は、下記表1にしたがって、新通過地点の数Nmを決定する。表1のデータは、携帯電話200の主制御部210のROM213にあらかじめ格納されている。
【0059】
表1に示されるように、フリック操作の速さが1cm/s以上5cm/s未満である場合には、変更前の経路の全ノードの数に対する新通過地点の数Nmの割合が約1/2となるように、新通過地点の数Nmが設定される。なお、新通過地点の数Nmは、偶数に設定される。新通過地点の数Nmの決定に際して、2未満の数は切り捨てられる。同様に、フリック操作の速さが5cm/s以上20cm/s未満である場合には、変更前の経路の全ノードの数に対する新通過地点の数Nmの割合が約1/3となるように、新通過地点の数Nmが設定される。フリック操作の速さが20cm/s以上である場合には、変更前の経路の全ノードの数に対する新通過地点の数Nmの割合が約1/5となるように、新通過地点の数Nmが設定される。
【0060】
ここでは、フリック操作の速さが約10cm/sであるものとする。その結果、変更前の経路の全ノードの数(14)に対する新通過地点の数Nmの割合が約1/3となるように、新通過地点の数Nmが4に設定される。
【0061】
なお、新通過地点の位置は、それぞれ変更前の経路に含まれる変更通過ノードの位置に基づいて決定される。このため、ステップS540の処理は、新通過地点の数Nmを決定する処理であると同時に、変更通過ノードの数(Nmに等しい)を決定する処理である。変更通過ノードについては、後に説明する。
【0062】
図4のステップS550においては、携帯電話200の主制御部210は、基準変更通過ノードの位置(ステップS530)と、変更通過ノードの数Nm(ステップS540)とに基づいて、変更通過ノードを決定する。「変更通過ノード」は、変更前の経路に含まれるノードのうち、基準変更通過ノードの近傍の所定の範囲に含まれるノードである。具体的には、主制御部210は、変更前の経路上のノードであって、基準変更通過ノードの上流側(出発地側)において基準変更通過ノードに最も近いNm/2個のノードと、変更前の経路上のノードであって、基準変更通過ノードの下流側(目的地側)において基準変更通過ノードに最も近いNm/2個のノードと、を変更通過ノードとして決定する。
【0063】
そして、主制御部210は、変更前の経路上のノードであって、変更通過ノードとして決定されなかったノードを、維持通過ノードFNとして決定する。「維持通過ノード」は、変更前の経路上のノードであって、変更後の経路においても通過すべきノードである。
【0064】
図5は、維持通過ノードFN、基準変更通過ノードOP00、変更通過ノードOP01〜OP04、ならびに基準参考地点MP00、参考地点MP01〜MP04、を示す説明図である。
図5において、維持通過ノードFNは黒丸に「X」を付した表示で示す。
【0065】
変更通過ノードOP01〜OP04は、フリック通過点FP1に基づいて定められる基準変更通過ノードOP00(
図3参照)と、フリック操作Af1の速さに応じて定められる(表1および
図5参照)。そして、変更通過ノードOP01〜OP04が定められることにより、維持通過ノードFNが定められる。よって、維持通過ノードFNは、ステップS530〜S550において、フリック通過点FP1とフリック操作Af1の速さに基づいて定められているといえる。
【0066】
図4のステップS560においては、携帯電話200の主制御部210は、基準変更通過ノードの位置と、フリック操作の向きと距離とに基づいて、基準参考地点の位置を決定する。また、携帯電話200の主制御部210は、変更通過ノードの位置と、フリック操作の向きと距離とに基づいて、参考地点の位置を決定する。
【0067】
より具体的には、携帯電話200の主制御部210は、基準変更通過ノードOP00の位置から、フリック操作Af1の向きに沿って、フリック操作Af1の距離だけ離れた位置に、基準参考地点MP00の位置を決定する。なお、「ある基準位置から、フリック操作の距離だけ離れた位置」とは、フリック操作が行われた時点(
図2のステップS40)で、表示パネル202の表示されている地図の縮尺において、表示パネル202(タッチパネル)に対して行われたフリック操作の距離が表す地図上の距離だけ、その基準位置から離れた位置である。
図5においては、そのようにして定められた基準参考地点MP00と、基準変更通過ノードOP00とが示されている。
【0068】
なお、基準変更通過ノードOP00の位置は、フリック通過点FP1に基づいて決定されるため(ステップS530)、基準参考地点MP00の位置は、フリック通過点FP1の位置と、フリック操作Af1の向きと距離と、に基づいて決定されるともいえる。
【0069】
また、携帯電話200の主制御部210は、それぞれの変更通過ノードOP01〜OP04の位置から、フリック操作Af1の向きに沿って、フリック操作Af1の距離に所定の係数を掛けて得られる距離だけ離れた位置に、それぞれの参考地点MP01〜MP04の位置を決定する。本実施例では、この係数は、基準変更通過ノードからそれぞれの変更通過ノードまでの直線距離の逆数であるものとする。
図5においては、そのようにして定められた参考地点MP01〜MP04と、変更通過ノードOP01〜OP04とが示されている。
【0070】
その後、携帯電話200の主制御部210は、以上のような処理で定められた維持通過ノード(ステップS550)ならびに基準参考地点および参考地点(ステップS560)の情報を、目的地、経由地および出発地の情報、ならびに経路を再探索すべき旨の指示とともに、通信部205を介して経路探索サーバ100に送信する。
【0071】
図6は、基準参考地点MP00および参考地点MP01〜MP04の引きこみ処理を示す説明図である。
図4のステップS570においては、経路探索サーバ100の制御部104は、通信部102を介して、維持通過ノードならびに基準参考地点および参考地点の情報を、経路を再探索すべき旨の指示と共に受信すると、以下で説明する処理を行う。すなわち、制御部104は、基準参考地点および参考地点を、最寄りの道路上に引き込む引きこみ処理を行う。
【0072】
図4のステップS560で定められる基準参考地点および参考地点は、道路上に位置するとは限らない。このため、制御部104は、基準参考地点の位置に基づいて、基準参考地点の位置に最も近い道路上の地点を、変更後の経路が通過すべき地点として決定する。その地点を、
図6において、基準新通過地点MP10として示す。基準新通過地点は、フリック通過点FP1に対してフリック操作Af1の向きの側に位置する。なお、本明細書においては、フリック通過点FP1を含む変更前の経路R0上に基準新通過地点がある場合も、「フリック通過点FP1に対してフリック操作Af1の向きの側に位置する」に含まれるものとする。
【0073】
同様に、制御部104は、それぞれの参考地点の位置に基づいて、それぞれの参考地点の位置に最も近い道路上の位置を、変更後の経路が通過すべき地点として決定する。それらの地点を、
図6において、新通過地点MP11〜MP14として示す。このようにして、基準参考地点および参考地点に基づいて、基準新通過地点および新通過地点を定める処理を、本明細書においては、基準参考地点および参考地点の「引きこみ処理」と呼ぶ。
【0074】
図4のステップS580においては、経路探索サーバ100の制御部104は、維持通過ノードと、基準新通過地点および新通過地点と、経由地と、を通過するように、出発地から目的地に至る経路を探索する。そして、制御部104は、経路を表す経路データを生成し、携帯電話200に送信する。携帯電話200の主制御部210は、経路探索サーバ100から変更後の経路R1の経路データを受け取って、探索された経路R1全体を地図とともに表示パネル202に表示する。
【0075】
ステップS510〜S560,S580の機能を奏する主制御部210の機能部を、経路変更部233として、
図1に示す。ステップS570,S580の機能を奏する制御部104の機能部を、経路変更部114として、
図1に示す。
【0076】
図7は、
図4のステップS580で探索された経路R1を示す説明図である。なお、
図7においては、ステップS580において経路R1とともに表示パネル202上に示される「確定」ボタンDB3と「もとに戻す」ボタンDB4も示す(
図3のステップS50参照)。また、
図2のステップS10で最初に探索された経路R0も、破線で表示される。変更前の経路R0は、基準変更通過ノードOP00、変更通過ノードOP01,OP03を通過していた。しかし、変更後の経路R1は、それらのノードは通過していない。すなわち、変更後の経路R1は、それらのノードが存在する領域を回避した経路である。
【0077】
よって、本実施例によれば、ユーザは、最初にシステムによって探索された経路のうち、通過したくない領域を通過している部分と交差するようにフリック操作をすることにより(
図3のAf1参照)、通過したくない領域を通過しない経路(
図7参照)を設定することができる。
【0078】
なお、本実施例における表示パネル202が、[課題を解決するための手段]における「表示部」に相当する。経路探索サーバ100の制御部104および携帯電話200の主制御部210が、「制御部」に相当する。経路探索サーバ100の経路決定部112が、「経路決定部」に相当する。携帯電話200の経路表示部231が、「経路表示部」に相当する。携帯電話200のフリック受付部232が、「フリック受付部」に相当する。経路探索サーバ100の経路変更部114および携帯電話200の経路変更部233が、「経路変更部」に相当する。
【0079】
また、本実施例における経路R0が、[課題を解決するための手段]における「初期経路」に相当する。経路R1が、「変更後の経路」に相当する。基準新通過地点MP10が、「基準新通過地点」に相当する。維持通過ノードFNが、「維持通過地点」に相当する。新通過地点MP11〜MP14が、「新通過地点」に相当する。変更通過ノードOP01〜OP04が、「変更通過地点」に相当する。
【0080】
A3.経路を決定する際の処理例2(フリック操作が速い場合):
図8は、
図2のステップS40におけるフリック操作が前述の処理例よりも速い場合における、変更通過ノードOP11,OP12、ならびに参考地点MP21,MP22を示す説明図である。
図8において、
図5と共通する表記は、
図5の表記が表す対象と同じ対象を表している。以下では、前述の処理例1に対して、フリック操作の位置、すなわち向きおよび距離が同じであり、一方、フリック操作の速さがより速い例について説明する。処理例2においては、フリック操作の速さがより速いことに起因して、処理の結果が処理例1とは異なる。しかし、処理例2における各ステップの処理は、処理例1と同じである。以下では、処理例2について、処理例1とは異なる部分についてのみ、説明する。
【0081】
前述のように、
図4のステップS540においては、携帯電話200の主制御部210は、表1にしたがって、フリック操作の速さに基づいて、新通過地点の数Nmを決定する。ここでは、フリック操作の速さが約25cm/sであるものとする。その結果、変更前の経路の全ノードの数(14)に対する参考地点の数Nmの割合が約1/5となるように、新通過地点の数Nmが2に設定される。
【0082】
図4のステップS550においては、携帯電話200の主制御部210は、前述のように、基準変更通過ノードの位置と、変更通過ノードの数Nm(2)とに基づいて、変更通過ノードを決定する。その結果、
図8に示すように、2個の変更通過ノードOP11,OP12が決定される。また、変更前の経路上のノードであって、変更通過ノードとして決定されなかったノードが、維持通過ノードとして決定される。
図8において、維持通過ノードFNを、
図5と同様に「X」を付した黒丸で示す。処理例2では、フリック操作の速さが処理例1より速いことに起因して、変更通過ノードの数が処理例1より少なく、維持通過ノードの数が処理例1よりも多い。
【0083】
図4のステップS560においては、携帯電話200の主制御部210は、基準変更通過ノードの位置と、フリック操作の向きと距離とに基づいて、基準参考地点の位置を決定する。基準変更通過ノードOP00の位置、ならびにフリック操作の向きと距離は、処理例2においても処理例1と同じである。このため、基準参考地点MP00の位置は、処理例1と同じ位置に定められる。
【0084】
また、携帯電話200の主制御部210は、それぞれの変更通過ノードの位置から、フリック操作の向きに沿って、フリック操作の距離に所定の係数を掛けて得られる距離だけ離れた位置に、それぞれの参考地点の位置を決定する。その結果、
図8の例においては、参考地点MP21,MP22が定められる。その後、携帯電話200の主制御部210は、維持通過ノードならびに基準参考地点および参考地点の情報を、目的地、経由地および出発地の情報、ならびに経路を再探索すべき旨の指示とともに、通信部205を介して経路探索サーバ100に送信する。
【0085】
図4のステップS570においては、経路探索サーバ100の制御部104は、基準参考地点および参考地点を、最寄りの道路上に引き込む処理を行う。その結果、基準新通過地点MP30、ならびに新通過地点MP31,MP32が定められる。
【0086】
図4のステップS580においては、経路探索サーバ100の制御部104は、維持通過ノードと、基準新通過地点および新通過地点と、経由地と、を通過するように、出発地から目的地に至る経路を探索する。そして、制御部104は、経路を表す経路データを生成し、携帯電話200に送信する。携帯電話200の主制御部210は、経路探索サーバ100から変更後の経路R2の経路データを受け取って、探索された経路を表示パネル202に表示する。
【0087】
図9は、処理例2において、
図4のステップS580で探索された経路R2を示す説明図である。なお、
図9においては、参考のために処理例1の経路R1も、破線で表示している。変更前の経路R0は、変更通過ノードOP11と変更通過ノードOP12の間の区間を通過していた。しかし、変更後の経路R2は、当該区間は通過していない。すなわち、変更後の経路R2は、変更通過ノードOP01と変更通過ノードOP03の間の区間が存在する領域を回避した経路である。
【0088】
処理例1,2から分かるように、フリック操作が速い場合には、変更通過ノードの数Nm、すなわち新通過地点の数が少なくなり、維持通過ノードの数が多くなる。その結果、あらかじめ探索された経路のうち変更される区間が小さくなる(
図7および
図9参照)。このため、ユーザは、フリック操作の速さを調整することにより、初期経路のうち、変更後の経路にも含まれるべき部分の割合を、好ましい程度に設定することができる。
【0089】
また、本実施例においては、フリック操作が速い場合には変更される区間が小さくなり(
図9参照)、フリック操作が速い場合には変更される区間が大きくなる(
図7参照)。このため、ユーザは、あらかじめ探索された経路のうち長い区間を変更したい場合には、フリック通過点の前後の長い区間を引き連れていくイメージで、ゆっくりフリック操作を行うことで、長い区間が変更された経路をシステムに探索させることができる。そして、ユーザは、あらかじめ探索された経路のうち短い区間を変更したい場合には、フリック通過点の前後の短い区間のみを動かすイメージで、素早くフリック操作を行うことで、短い区間のみが変更された経路をシステムに探索させることができる。このため、ユーザは、直感に従ってフリック操作の速さを調整することにより、初期経路のうち、変更後の経路にも含まれるべき部分の割合を、好ましい程度に設定することができる。
【0090】
なお、本処理例における基準新通過地点MP30が、[課題を解決するための手段]における「基準新通過地点」に相当する。新通過地点MP31,MP32が、「新通過地点」に相当する。変更通過ノードOP11,OP12が、「変更通過地点」に相当する。
【0091】
A4.経路を決定する処理例3(フリック操作の距離が長い場合):
以下では、前述の処理例1に対して、フリック操作の向きおよび速さが同じであり、一方、フリック操作の距離がより長い例について説明する。処理例3においては、フリック操作の始点F11の位置は処理例1と同じであり、フリック操作の終点F12の位置が始点から遠い。処理例3においては、フリック操作の終点の位置がより遠いことに起因して、処理の結果が処理例1とは異なる。しかし、処理例3における各ステップの処理は、処理例1,2と同じである。以下では、処理例3について、処理例1とは異なる部分についてのみ、説明する。
【0092】
前述のように、
図4のステップS540においては、携帯電話200の主制御部210は、表1にしたがって、フリック操作の速さに基づいて、参考地点の数Nmを決定する。ここでは、フリック操作の速さは処理例1と同じであるので、処理例1と同様に、参考地点の数Nmは4に設定される。
【0093】
図10は、処理例3において、
図4のステップS580で探索された経路R3を示す説明図である。なお、
図10においては、参考のために経路R0,R1を含む他の道路も、破線で表示している。
【0094】
図4のステップS550においては、携帯電話200の主制御部210は、前述のように、基準変更通過ノードの位置と、変更通過ノードの数Nmとに基づいて、変更通過ノードを決定する。その結果、処理例1と同様に、4個の変更通過ノードOP01〜OP04が決定される。また、変更前の経路上のノードであって、変更通過ノードとして決定されなかったノードが、維持通過ノードとして決定される。
図10において、維持通過ノードFNを、
図5と同様に「X」を付した黒丸で示す。
【0095】
図4のステップS560においては、携帯電話200の主制御部210は、基準変更通過ノードの位置から、フリック操作の向きに沿って、フリック操作の距離だけ離れた位置に、基準参考地点の位置を決定する。処理例3においては、フリック操作の始点F11の位置は処理例1と同じであり、フリック操作の終点F12の位置が始点から遠い(
図3参照)。このため、処理例3においては、基準参考地点(
図10において示されず)は、
図5の処理例1にくらべて、基準変更通過ノードOP00からより遠方に設定される。同様に、処理例3においては、参考地点(
図10において示されず)も、
図5の処理例1にくらべて、それぞれ変更通過ノードOP01〜OP04からより遠方に設定される。
【0096】
図4のステップS570においては、経路探索サーバ100の制御部104は、基準参考地点および参考地点を、最寄りの道路上に引き込む処理を行う。その結果、
図10に示す基準新通過地点MP50、ならびに新通過地点MP51〜MP54が定められる。
【0097】
図4のステップS580においては、経路探索サーバ100の制御部104は、維持通過ノードと、基準新通過地点および新通過地点と、経由地と、を通過するように、出発地から目的地に至る経路を探索する。そして、制御部104は、経路を表す経路データを生成し、携帯電話200に送信する。携帯電話200の主制御部210は、経路探索サーバ100から変更後の経路R3の経路データを受け取って、探索された経路を表示パネル202に表示する。
【0098】
図10に示すように、変更前の経路R0は、基準変更通過ノードOP00、変更通過ノードOP01〜OP04を通過していた。しかし、変更後の経路R3は、それらのノードは通過していない。すなわち、変更後の経路R3は、それらのノードが存在する領域を回避した経路である。
【0099】
処理例1,3から分かるように、フリック操作の距離が大きい場合には、基準新通過地点MP50、ならびに新通過地点MP51〜MP54が、基準変更通過ノードOP00、ならびに変更通過ノードOP01〜OP04からより遠方に設定される。その結果、あらかじめ探索された経路R0から大きく外れた経路R3が設定される。このため、ユーザは、フリック操作の距離(長さ)を調整することにより、変更後の経路が初期経路から離れる距離を、好ましい程度に設定することができる。すなわち、本実施例においては、フリック操作が始点から遠くまで行われる場合には、変更後の経路の変更前の経路からの解離の程度が大きくなり(
図10参照)、フリック操作が始点から近くまでしか行われない場合には、解離の程度が小さくなる(
図7参照)。このため、ユーザは、直感に従ってフリック操作の距離を調整することにより、変更後の経路の変更前の経路からの解離の程度を、好ましい程度に設定することができる。
【0100】
また、処理例1〜3から分かるように、いったん設定された経路が回避したい領域を通過している場合に、ユーザは、以下のようにして、簡易な方法で、ユーザが望む経路を再設定できる。すなわち、フリック操作の速さを調節することにより、経路に沿った方向についての経路変更の大きさを、好ましい程度に設定することができる。また、フリック操作の距離を調節することにより、経路に垂直な方向についての経路変更の大きさを好ましい程度に設定することができる。その結果、ユーザは、直感的で簡易な方法で、ユーザが望む経路を再設定できる。
【0101】
なお、本処理例における基準新通過地点MP50が、[課題を解決するための手段]における「基準新通過地点」に相当する。新通過地点MP51〜MP54が、「新通過地点」に相当する。変更通過ノードOP01〜OP04が、「変更通過地点」に相当する。
【0102】
B.第2実施例:
第2実施例は、
図2のステップS50の処理が第1実施例とは異なっている。第2実施例の他の点は、第1実施例と同じである。
【0103】
図11は、
図2のステップS50の第2実施例における処理を説明するフローチャートである。
図11のフローチャートは、
図4のステップS560,S570,S580に代えて、それぞれステップS565,S575,S585を備えている。
図11のフローチャートの他の点は、
図4のフローチャートと同じである。
【0104】
図11のステップS565においては、携帯電話200の主制御部210は、基準変更通過ノードの位置から、フリック操作の向きに沿って、フリック操作の速さと距離に基づいて定められる距離Dmだけ離れた位置に、基準参考地点の位置を決定する。主制御部210は、表2に従って、基準変更通過ノードと基準参考地点との間の地図上の距離Dmを定める。表2のデータは、携帯電話200の主制御部210のROM213にあらかじめ格納されている。
【0106】
表2に示されるように、フリック操作の速さが1cm/s以上5cm/s未満である場合には、距離Dmは、フリック操作が行われた時点(
図2のステップS40)で、表示パネル202の表示されている地図の縮尺において、表示パネル202(タッチパネル)に対して行われたフリック操作の距離が表す地図上の距離である。フリック操作の速さが5cm/s以上20cm/s未満である場合には、距離Dmは、フリック操作が行われた時点で、表示パネル202の表示されている地図の縮尺よりも1段階縮尺が小さい(より広域を表す)縮尺において、表示パネル202に対して行われたフリック操作の距離が表す地図上の距離である。フリック操作の速さが20cm/s以上である場合には、距離Dmは、フリック操作が行われた時点で、表示パネル202の表示されている地図の縮尺よりも2段階縮尺が小さい(より広域を表す)縮尺において、表示パネル202に対して行われたフリック操作の距離が表す地図上の距離である。
【0107】
地図サーバ150が記憶部156内に格納している地図データベースは、複数の縮尺の地図画像をそれぞれ表す複数組の地図画像データを含んでいる。表2にしたがって基準変更通過ノードの位置と、基準参考地点の位置との地図上の距離Dmを決定する際には、携帯電話200の主制御部210は、通信部205を介して、フリック操作の距離と、現状の地図データの縮尺と、表2に基づく縮尺の調整の情報と、を地図サーバ150に送信する。地図サーバ150の制御部154は、通信部152を介してそれらを受信すると、現状の地図データの縮尺と、表2に基づく縮尺の調整の情報と、に基づいて、距離Dmを計算する際の縮尺を決定する。そして、制御部154は、決定した縮尺とフリック操作の距離とに基づいて、地図上の距離Dmを計算し、通信部152を介して携帯電話200に送信する。携帯電話200の主制御部210は、受信した地図上の距離Dmを以降の処理に使用する。
【0108】
このように、基準変更通過ノードの位置と基準参考地点の位置との地図上の距離Dmを定めることにより、以下の効果が得られる。すなわち、ユーザは、フリック操作を素早く行うことにより、基準参考地点を、基準変更通過ノードから遠くの地点、たとえば、フリック操作の時点で表示パネル202に表示されていない地点にも、設定できる。そして、フリック操作が速いほど、基準変更通過ノードの位置と基準参考地点の位置との地図上の距離Dmが大きくなるため(表2参照)、ユーザは、直感的な操作で、基準変更通過ノードの位置から基準参考地点の位置までの好ましい距離Dmを設定することができる。
【0109】
その後、携帯電話200の主制御部210は、維持通過ノード(ステップS550)ならびに基準参考地点(ステップS565)の情報を、目的地、経由地および出発地の情報、ならびに経路を再探索すべき旨の指示とともに、通信部205を介して経路探索サーバ100に送信する。
【0110】
図11のステップS575においては、経路探索サーバ100の制御部104は、基準参考地点について、最寄りの道路上に引き込む引きこみ処理を行う。基準参考地点の引き込み処理の方法は、第1実施例のステップS570(
図4)における処理と同じである。その結果、基準新通過地点が定められる。
【0111】
図11のステップS585においては、経路探索サーバ100の制御部104は、維持通過ノードと、基準新通過地点と、経由地と、を通過するように、出発地から目的地に至る経路を探索する。そして、制御部104は、経路を表す経路データを生成し、携帯電話200に送信する。そして、携帯電話200の主制御部210は、経路探索サーバ100から変更後の経路の経路データを受け取って、探索された経路を表示パネル202に表示する。
【0112】
このような態様においても、ユーザは、最初にシステムによって探索された経路のうち、通過したくない領域を通過している部分と交差するようにフリック操作をすることにより(
図3のAf1参照)、通過したくない領域を通過しない経路を設定することができる。
【0113】
また、第2実施例においては、ステップS565,S575において、参考地点および新通過地点を定めていない(
図4のステップS560,S570、ならびに
図6のMP01〜MP04,MP11〜MP14参照)。そして、ステップS585において、新通過地点を考慮して経路を探索していない。このため、第1実施例に比べてシステムの処理負荷を小さくすることができる。また、ステップS585において、新通過地点を考慮して経路を探索していないため、より少ない制約条件の下で、より短時間で目的地に到達できる経路や、より安価に目的地に到達できる経路、より曲がり角の少ない経路を決定することができる。
【0114】
C.第3実施例:
第3実施例は、
図2のステップS50の処理が第1実施例とは異なっている。第3実施例の他の点は、第1実施例と同じである。
【0115】
図12は、
図2のステップS50の第3実施例における処理を説明するフローチャートである。
図12のフローチャートは、
図4のステップS580に代えて、ステップS587を備えている。また、
図12のフローチャートは、
図4のステップS560,S570を備えていない。
図11のフローチャートの他の点は、
図4のフローチャートと同じである。
【0116】
図11のステップS587においては、経路探索サーバ100の制御部104は、変更通過ノード(ステップS550)を通過せず、維持通過ノード(ステップS550)と経由地とを通過するように、出発地から目的地に至る経路を探索する。
【0117】
具体的には、制御部104は、携帯電話200から受信した変更通過ノードに基づいて、それら変更通過ノードと接続しているアークの区間を通過するのに要する時間を、あらかじめ設定されている値の100倍に設定する。すると、経路探索において、変更通過ノードを通過する経路の候補は、他の経路の候補に比べて目的地への到達時刻が大幅に遅い経路となる。その結果、目的地までの所要時間を優先度の基準として経路探索が行われることにより、変更通過ノードを通過する経路の候補は、経路探索において最終的に制御部104によって選択されないこととなる。このようにして、制御部104は、変更通過ノードを通過しない経路を探索する。
【0118】
また、制御部104は、経路R0に対してフリック操作Af1の向きの側とは逆の側に位置する経路R0近傍の所定の範囲内のノードについても、同様に、それらのノードと接続しているアークの区間を通過するのに要する時間を、100倍する。その結果、目的地までの所要時間を優先度の基準として経路探索が行われることにより、経路R0に対してフリック操作の向きの側とは逆の側に位置するノードを通過しない経路が探索される。すなわち、フリック通過点に対してフリック操作の向きの側に位置する地点と、維持通過地点と、を通過する経路が探索される。
【0119】
変更前の経路は、変更通過ノード(ステップS550)を通過する。しかし、上記のように生成される変更後の経路は、変更通過ノードを通過しない。すなわち、変更後の経路は、それらのノードが存在する領域を回避した経路である。よって、本実施例によれば、ユーザは、最初にシステムによって探索された経路のうち、通過したくない領域を通過している部分と交差するようにフリック操作をすることにより(
図3のAf1参照)、通過したくない領域を通過しない経路を設定することができる。そして、フリック通過点に対してフリック操作の向きの側に位置する地点と、維持通過地点と、を通過する経路が探索されるため、ユーザの意向を反映した側に迂回する新経路を提供することができる。
【0120】
そして、第3実施例においては、参考地点および新通過地点を定めていない(
図4のステップS560,S570参照)。このため、第1実施例に比べてシステムの処理負荷を小さくすることができる。
【0121】
D.変形例:
以上、本発明の実施の形態について説明したが、本発明はこのような実施の形態に限定されるものではなく、その要旨を逸脱しない範囲内において種々なる態様での実施が可能である。例えば、以下のような変形が可能である。
【0122】
D1.変形例1:
上記実施例においては、フリック操作の向き、距離、速さは、フリック操作Af1における最初の接触領域の代表点F11および最後の接触領域の代表点F12の位置の情報と、に基づいて計算される。しかし、フリック操作の向き、距離、速さは、フリック操作の途中の2以上の接触領域の位置に基づいて決定することもできる。
【0123】
上記実施例においては、タッチパネルの接触領域の代表点は、接触領域の重心である。接触領域の代表点は、他の方法で定めることもできる。たとえば、接触領域の代表点は、その接触領域のうち他方の接触領域に最も近い点とすることができる。また、接触領域の代表点は、その接触領域のうち最も強い力で押圧されている点とすることもできる。さらに、フリック操作において、タッチパネルに最初に接触した点と、最後まで接触していた点を、フリック操作を規定する代表点とすることもできる。
【0124】
D2.変形例2:
上記実施例では、基準変更通過ノードの位置から、フリック操作Af1の向きに沿って、フリック操作Af1の距離だけ離れた位置に、基準参考地点の位置を決定する。しかし、基準変更通過地点としての基準変更通過ノード位置から基準参考地点の位置を決定する方法は、他の方法を採用することもできる。たとえば、フリック操作Af1のうち、経路を通過した後の部分の距離だけ基準変更通過地点から離れた地点を、基準参考地点とすることもできる。
【0125】
また、上記実施例では、変更通過ノードの位置から、フリック操作Af1の向きに沿って、フリック操作Af1の距離に所定の係数を掛けて得られる距離だけ離れた位置に、それぞれの参考地点の位置を決定する。そして、係数は、基準変更通過ノードからそれぞれの変更通過ノードまでの直線距離の逆数である。しかし、変更通過地点としての変更通過ノード位置から参考地点の位置を決定する方法は、他の方法を採用することもできる。たとえば、フリック操作Af1のうち、経路を通過した後の部分の距離に係数を掛けて得られる距離だけ変更通過地点から離れた地点を、参考地点とすることもできる。
【0126】
また、上記の係数も、基準変更通過ノードからそれぞれの変更通過ノードまでの直線距離の逆数以外の数とすることもできる。たとえば、係数は、あらかじめ定めておいてもよい。ただし、係数は、基準変更通過ノードに近いほど1に近づき、遠いほど0に近づくものであることが好ましい。
【0127】
D3.変形例3:
上記実施例においては、表示パネル202上に表示された経路をタップすることにより、通常モードから経路変更モードに移行する。しかし、動作モードの移行は、表示部に表示されたボタンや、ハードウェアスイッチによって行われることもできる。
【0128】
D4.変形例4:
上記実施例では、新通過地点の数(変更通過ノードの数)は、表1にしたがって決定される。しかし、新通過地点の数(変更通過ノードの数)は、他の方法で決定することもできる。たとえば、フリック操作の速さの区分は、他の区分とすることもできる。また、各区分における新通過地点の割合も、適宜設定することができる。ただし、フリック操作の速さが速い区分ほど、新通過地点の割合が小さくなることが好ましい。また、フリック操作の速さを入力値とする関数を使用して、新通過地点の数(変更通過ノードの数)を決定することもできる。ただし、新通過地点の数(変更通過ノードの数)は、フリック操作が速いほど少なくなることが好ましい。
【0129】
また、上記実施例においては、変更通過ノードは、基準変更通過ノードの前後において同数(Nm/2個)となるように定められる。しかし、変更通過ノードは、基準変更通過ノードの前において後ろより多くなるように定めることもでき、後ろにおいて前より多くなるように定めることもできる。
【0130】
D5.変形例5:
上記実施例において、「変更通過ノード」は、変更前の経路に含まれるノードのうち、基準変更通過ノードの近傍の所定の範囲に含まれるノードである。本明細書において、「Xの近傍」は、Xを含む所定の領域に含まれる範囲とする。そして、その領域に含まれない範囲を、「近傍」ではないものとする。
【0131】
D6.変形例6:
上記実施例では、変更通過ノードと新通過地点との間の距離は、フリック操作の距離と表2とにしたがって決定される。しかし、変更通過地点としての変更通過ノードと新通過地点との間の距離は、他の方法で決定することもできる。たとえば、フリック操作の速さの区分は、他の区分とすることもできる。また、各区分における縮尺の変更の程度も、適宜設定することができる。ただし、フリック操作の速さが速い区分ほど、より広い領域を表す縮尺への変更の程度が大きくなることが好ましい。また、フリック操作の距離とフリック操作の速さを入力値とする関数を使用して、変更通過地点と新通過地点との間の距離を決定することもできる。ただし、変更通過地点と新通過地点との間の距離は、フリック操作の距離が大きいほど大きくなることが好ましい。そして、変更通過地点と新通過地点との間の距離は、フリック操作が速いほど大きくなることが好ましい。
【0132】
D7.変形例7:
上記第3実施例では、経路R0に対してフリック操作Af1の向きの側とは逆の側に位置するノードと接続しているアークや、変更通過ノードと接続しているアークについて、その区間を通過するのに要する時間を、あらかじめ設定されている値の100倍に設定する。その結果、目的地までの所要時間を優先度の基準として経路探索が行われることにより、それらのノードを通過しない経路が探索される。
【0133】
しかし、それらのアークの区間を通過するのに要する時間の改変は、他の方法で行うこともできる。たとえば、あらかじめ設定されている値に、1以上の他の値を掛けることで、所要時間を改変してもよい。また、あらかじめ設定されている値に、所定の正の数を加えることによって、所要時間を改変してもよい。
【0134】
さらに、目的地に至る経路の距離を優先度の基準として経路探索が行われる場合には、経路R0に対してフリック操作Af1の向きの側とは逆の側に位置する経路R0近傍の所定の範囲内のノードと接続しているアークや、変更通過ノードと接続しているアークについて、その区間の距離を、上記の所要時間と同様に改変することができる。その結果、それらのノードを通過しない経路が探索される。
【0135】
なお、目的地までの所要時間を優先度の基準として経路探索を行うべきか、目的地に至る経路の距離を優先度の基準として経路探索を行うべきか、等の経路探索の際の優先度の基準の指示は、以下のように行うことができる。すなわち、表示パネル202への表示や音声出力部203による音声案内などの出力機器を通じたユーザへの選択肢の提示と、ユーザによるコマンド入力部206を介した選択の入力と、によって、経路探索の際の優先度の基準の指示は、経路探索システムに対して行われることができる。
【0136】
D8.変形例8:
上記第1および第2実施例では、あらかじめ定められた基準新通過地点を通過するように、新たな経路が探索される(
図4のステップS580、および
図11のステップS585)。しかし、第3実施例に示すように、基準新通過地点をあらかじめ定めずに、新たな経路を探索する態様とすることもできる。ただし、フリック通過点に対してフリック操作の向きの側に位置する地点を通過するような新経路が探索されることが好ましい。
【0137】
D9.変形例9:
上記実施例においては、あらかじめ定めた維持通過地点を通過するように、新たな経路が探索される(
図4のステップS580、
図11のステップS585、
図12のステップS587)。そして、フリック操作の速さが、速いほど、維持通過地点を多くする(表1参照)。しかし、フリック操作の速さが、速いほど、維持通過地点を少なく設定することもできる。
【0138】
D10.変形例10:
上記実施例においては、あらかじめ定めた維持通過地点を通過するように、新たな経路が探索される(
図4のステップS580、
図11のステップS585、
図12のステップS587)。しかし、システムが探索した初期経路の変更は、フリック通過点とフリック操作の速さとに基づいて、初期経路の少なくとも一部を変更するものであればよい。
【0139】
たとえば、フリック操作の速さが速いほど、初期経路のうち変更後の経路において通過しない範囲を小さくする態様とすることができる。また、フリック操作の速さが速いほど、初期経路のうち変更後の経路において通過しない範囲を大きくする態様とすることもできる。ただし、変更後の経路において通過しない範囲は、フリック操作の位置に基づいて定められることが好ましく、フリック通過点に基づいて定められることがさらに好ましい。
【0140】
一方、フリック操作の速さが速いほど、初期経路と変更後の経路の差異を大きくすることもできる。なお、「初期経路と変更後の経路の差異」は、初期経路と変更後の経路とがそれぞれフリックの向きに平行な直線と交差する点の間の距離のうち、最大の距離をいう。
【0141】
なお、本明細書において、「XがよりAであるほど、YはよりBである」という記述は、「XがよりAであるが、Yは変化しない」という部分を一部に含んでいてもよいものとする。すなわち、Yの特性Bが、Xの特性Aの変化に対して階段状に変化する態様を含む。
【0142】
D11.変形例11:
上記各実施例は、組み合わせて適用することもできる。たとえば、第1実施例において、基準参考地点と参考値点の位置を決定する際に(
図4のステップS560)、第2実施例の表2を適用して、基準参考地点と参考値点の位置を決定する態様とすることもできる。
【0143】
D12.変形例12:
なお、上記実施例では、GPSを利用する態様について説明したが、現在位置の情報の生成は、GLONASS(GlobalNavigation Satellite System)、Galile oなどのGPS以外の他の衛星測位システム(Satellite Navigation System)、言い換えれば、世界的航法衛星システム(GNSS:Global Navigation System)によってもよい。また、たとえば、移動端末における位置情報の生成は、携帯電話の基地局のみに基づいて、行ってもよい。そのような態様においては、移動端末は、世界的航法衛星システムの受信装置を備えない態様とすることができる。さらに、移動端末において位置情報を生成する構成要素は、複数の方式、たとえば、衛星測位システムを利用した方式と、携帯電話の基地局を利用する方式を併用する態様とすることもできる。
【0144】
すなわち、移動端末において位置情報を生成する構成要素は、現在位置の情報を特定できるものであれば、どのような原理に基づくもの、どのような機関が運営するシステムを利用するものであってもよい。
【0145】
D13.変形例13:
地図サーバ150の地図データベース156内に格納されている画像データとしての地図画像データは、ラスタデータとして保持されていてもよいし、ベクトルデータとして保持されていてもよい。ユーザが携帯する端末装置としての携帯電話200に送信される地図画像データも、ラスタデータであってもよいし、ベクトルデータであってもよい。さらに、地図データベース156内の地図画像データと、端末装置に送信される地図画像データは、いずれか一方をベクトルデータとし、他方をラスタデータとすることもできる。
【0146】
D14.変形例14:
上記実施例においては、経路探索システムは、その構成要素として、経路探索サーバ100と、地図サーバ150と、携帯電話200と、を含む。しかし、ユーザが携帯し、GPSユニットおよびディスプレイを備える携帯端末に、経路探索サーバ100、地図サーバ150の機能を備える態様とすることもできる。また、経路探索サーバ100と、地図サーバ150とは、同じサーバであってもよい。なお、携帯端末は、電話機能を備えない機器としての、PDA(Personal Data Assistant)やノート型のコンピュータなどとすることもできる。すなわち、携帯端末は、ユーザが携帯でき、データに基づいてユーザに対して所定の出力を行うことができる装置であればよい。
【0147】
すなわち、案内装置としての経路探索システムは、その各構成要素が一つの筐体内に収納されている一つの装置であってもよい。また、経路探索システムは、その構成要素が、互いにデータ通信回線で結ばれている2以上の装置として構成されるものとすることもできる。経路データを生成する機能、特定領域を選択する機能などの各機能については、各装置に1以上の任意の機能を割り当てることができる。そして、各機能は、それぞれ一つの装置で実現されてもよく、2以上の装置が協働して実現してもよい。なお、2以上の構成要素が通信回線で結ばれている態様においては、ユーザに対して情報を出力する出力部は、ユーザに携帯されるものであることが好ましい。
【0148】
D15.変形例15:
上記実施例において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されていた構成の一部をハードウェアに置き換えるようにしてもよい。例えば、アプリケーションソフトウェア212(
図1)の機能の一部を制御回路が実行するようにすることもできる。
【0149】
このような機能を実現するコンピュータプログラムは、磁気ディスクやCD−ROM等の、コンピュータ読み取り可能な記録媒体に記録された形態で提供される。ホストコンピュータは、その記録媒体からコンピュータプログラムを読み取って内部記憶装置または外部記憶装置に転送する。あるいは、通信経路を介してプログラム供給装置からホストコンピュータにコンピュータプログラムを供給するようにしてもよい。コンピュータプログラムの機能を実現する時には、内部記憶装置に格納されたコンピュータプログラムがホストコンピュータのマイクロプロセッサによって実行される。また、記録媒体に記録されたコンピュータプログラムをホストコンピュータが直接実行するようにしてもよい。
【0150】
この明細書において、ホストコンピュータとは、ハードウェア装置とオペレーションシステムとを含む概念であり、オペレーションシステムの制御の下で動作するハードウェア装置を意味している。コンピュータプログラムは、このようなホストコンピュータに、上述の各部の機能を実現させる。なお、上述の機能の一部は、アプリケーションプログラムでなく、オペレーションシステムによって実現されていても良い。
【0151】
なお、この発明において、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスクやCD−ROMのような携帯型の記録媒体に限らず、各種のRAMやROM等のコンピュータ内の内部記憶装置や、ハードディスク等のコンピュータに固定されている外部記憶装置も含んでいる。