以下、本発明によるナビゲーション装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。また、本実施の形態において説明する各情報の形式、内容などは、あくまで例示であり、各情報の持つ意味を示すことができれば、形式、内容などは問わない。
(実施の形態1)
本実施の形態において、予め登録されている経路の中から選択された経路を含む経路を、走行予定の経路として設定するナビゲーション装置1について説明する。
なお、本実施の形態におけるナビゲーション装置1は、通常、移動体に搭載される。移動体は、例えば、自動車や、自動二輪車、自転車などである。また、移動体には、例えば、人が含まれてもよい。
図1は、本実施の形態におけるナビゲーション装置1のブロック図である。ナビゲーション装置1は、地図情報格納部11、経路情報格納部12、現在位置情報取得部13、受信部14、蓄積部15、受付部16、走行経路取得部17、出力部18を備える。
地図情報格納部11には、地図情報が格納される。地図情報とは、地図に関する情報である。また、地図情報により示される地図の種類や、地図情報のデータ形式などは、問わない。当該地図の種類は、例えば、地形図や、地勢図、地質図、土地利用図、住宅地図、路線図、道路地図、ガイドマップ、航空写真、衛星写真などである。また、当該データ形式は、例えば、ラスタデータや、ベクタデータ、KIWIフォーマットなどである。
また、地図情報は、通常、1以上の道路情報を有する。道路情報とは、地図上の道路に関する情報である。当該地図上の道路は、通常、地図上の道路を構成する区間(以下、適宜、道路の区間とする)である。また、道路情報は、例えば、道路を識別する情報や、道路の種類を示す情報、道路の両端の位置を示す情報などを有する。道路を識別する情報は、通常、道路の名称を示す情報である。また、道路を識別する情報は、例えば、道路のIDであってもよい。また、道路情報は、例えば、道路のスコアや、道路の車線数、道路の進行方向などを示す情報などを有する。当該スコアは、通常、経路探索時に用いるコストである。
また、地図情報は、例えば、1以上の地点情報を有していてもよい。地点情報とは、地図上の地点に関する情報である。地点情報は、例えば、地点の位置を示す情報を有する。また、地点情報は、例えば、地点を識別する情報や、地点の種類を示す情報などを有していてもよい。地点を識別する情報は、通常、地点の名称を示す情報である。また、地点の種類は、問わない。地点の種類は、例えば、交差点や、休憩地点、観光名所、駅、飲食店、各種販売店などである。休憩地点は、例えば、ガソリンスタンドや、いわゆるコンビニなどである。また、地点は、例えば、道路の端点であってもよい。
また、上記の位置を示す情報を、以下、適宜、位置情報とする。位置情報が示す位置は、通常、経緯度である。また、当該位置は、例えば、地図上の座標であってもよい。また、当該位置は、例えば、高さ(高度)を含んでもよい。
経路情報格納部12には、1以上の経路情報が格納される。経路情報とは、経路を示す情報である。また、経路情報は、通常、始点(出発地)の位置と、終点(目的地)の位置とのそれぞれを示す2つの位置情報を有する。また、経路情報は、例えば、当該2つの位置情報に加え、経由地の位置を示す1以上の位置情報を有していてもよい。また、経路情報は、例えば、当該2または3以上の位置情報から構成される情報であってもよい。また、当該位置および位置情報は、地点および地点情報であってもよい。また、経路情報は、例えば、2つの位置間または2つの地点間を結ぶ道路に関する1以上の道路情報を有していてもよい。
また、経路情報が有する2または3以上の位置情報は、通常、順序を有する。当該順序は、経路における順序である。また、「順序を有する」とは、例えば、順序を示す情報が対応付いていることであってもよい。
また、経路情報格納部12に格納される経路情報には、例えば、属性情報が対応付いている。属性情報とは、経路情報が示す経路の属性を示す情報である。属性は、例えば、種類、ジャンル、カテゴリなどとも言える。つまり、属性情報は、経路情報を分類するための情報であるとも言える。属性情報は、例えば、「ドライブ」、「海沿い」、「食いしん坊」などである。「ドライブ」は、例えば、経路がドライブ向きの経路であることを示す。また、「海沿い」は、例えば、経路が海沿いの経路であることを示す。また、「食いしん坊」は、例えば、経路が飲食店を巡る経路であることを示す。
また、属性情報と経路情報とが対応付いている場合、当該属性情報と経路情報とは、例えば、1対1で対応付いている。また、属性情報と経路情報とが対応付いている場合、当該属性情報と経路情報とは、例えば、1対多で対応付いている。また、属性情報と経路情報とが対応付いている場合、当該属性情報と経路情報とは、例えば、多対1で対応付いている。
現在位置情報取得部13は、現在位置情報を取得する。現在位置情報とは、現在位置を示す位置情報である。また、現在位置情報取得部13は、通常、定期的に現在位置情報を取得する。また、現在位置情報取得部13は、通常、衛星航法システム(GPS受信機など)や、移動体通信用の基地局から位置情報を受信する装置などから、現在位置情報を取得する。この場合、現在位置情報取得部13は、これらの装置を有していてもよいし、これらの装置で実現され得てもよい。また、現在位置情報取得部13の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。
受信部14は、1以上の経路情報を受信する。当該1以上の経路情報は、例えば、外部の装置が移動した経路を示す経路情報である。また、受信部14が受信する経路情報には、例えば、属性情報が対応付いていてもよい。
なお、受信部14が経路情報を受信する過程は、問わない。例えば、上記の外部の装置を端末装置2とすると、受信部14は、例えば、1以上の各端末装置2から、当該端末装置2が移動した経路を示す経路情報であり、当該端末装置2が取得した経路情報を受信する。また、受信部14は、例えば、1以上の経路情報が格納されるサーバ格納部を備えるサーバ装置3から、1以上の経路情報を受信する。当該サーバ格納部に格納される1以上の経路情報は、通常、1以上の各端末装置2から受信した経路情報である。
また、受信部14が経路情報を受信するタイミングは、問わない。受信部14は、例えば、定期的に送信される経路情報を受信する。また、受信部14は、例えば、ナビゲーション装置1からの要求に応じて送信される経路情報を受信する。
また、受信部14は、通常、無線または有線の通信手段で実現されるが、放送を受信する手段で実現されてもよい。
蓄積部15は、受信部14が受信した1以上の経路情報を、経路情報格納部12に蓄積する。また、受信部14が受信した1以上の各経路情報に属性情報が対応付いている場合、蓄積部15は、当該属性情報と共に当該経路情報を蓄積する。
受付部16は、経路選択指示を受け付ける。経路選択指示とは、経路情報を選択する指示である。また、経路選択指示は、経路情報が示す経路を選択する指示であるとも言える。また、経路選択指示は、例えば、属性情報を有していてもよい。また、経路選択指示は、通常、経路情報格納部12に格納されている1以上の経路情報の中から経路情報を選択する指示である。
なお、受付部16が、属性情報を有さない経路選択指示を受け付ける手順は、例えば、次のとおりである。まず、後述の出力部18が、経路情報格納部12に格納されている1以上の経路情報を、地図情報と共に出力する。このとき、出力部18は、例えば、現在位置情報が示す現在位置との距離が予め決められた条件を満たすほど近い経路を示す経路情報を出力する。そして、ユーザが、出力されている1以上の経路情報の中から、1つの経路情報を選択する。すると、受付部16は、当該選択された1つの経路情報を選択する経路選択指示を受け付ける。
また、受付部16が、属性情報を有する経路選択指示を受け付ける手順は、例えば、次のとおりである。まず、後述の出力部18が、経路情報格納部12に格納されている1以上の属性情報を出力する。このとき、出力部18は、例えば、属性情報により構成されるメニューなどを出力する。そして、ユーザが、出力されている1以上の属性情報の中から、1つの属性情報を選択する。すると、受付部16は、当該選択された1つの属性情報を有する経路選択指示を受け付ける。
また、受付部16は、目的地情報を受け付けてもよい。目的地情報とは、目的地を示す情報である。また、目的地情報は、例えば、位置情報である。また、目的地情報は、例えば、地点情報である。
また、受付部16は、例えば、電源ONや、電源OFFなどの指示も受け付ける。これらの指示を受け付けた場合、ナビゲーション装置1は、通常、これらの指示に応じた処理を行う。
また、受け付けとは、タッチパネルや、キーボードなどの入力デバイスから入力された情報の取得、光ディスクや磁気ディスク、半導体メモリなどの記録媒体に格納されている情報の取得、有線もしくは無線の通信回線を介して送信された情報の受信などを含む概念である。
また、受付部16における情報や指示などの入力手段は、メニュー画面によるものや、キーボードなど、何でもよい。受付部16は、メニュー画面の制御ソフトウェアや、キーボード等の入力手段のデバイスドライバなどで実現され得る。
走行経路取得部17は、走行経路情報を取得する。走行経路情報とは、走行経路を示す情報である。また、走行経路とは、経路選択指示により選択された経路情報が示す経路を含む経路である。ここで、経路選択指示により選択された経路情報を、以下、適宜、選択経路情報とする。また、選択経路情報が示す経路を、以下、適宜、選択経路とする。また、選択経路が有する始点を、以下、適宜、選択始点とする。また、選択経路が有する終点を、以下、適宜、選択終点とする。また、選択経路情報が有する位置情報であり、選択始点の位置を示す位置情報を、以下、適宜、選択始点情報とする。選択始点情報は、選択始点を示す情報であるとも言える。また、選択経路情報が有する位置情報であり、選択終点の位置を示す位置情報を、以下、適宜、選択終点情報とする。選択終点情報は、選択終点を示す情報であるとも言える。また、選択経路上の地点であり、現在位置からの距離が最も近い地点を、以下、適宜、現在位置直近地点とする。また、現在位置直近地点の位置を示す情報を、以下、適宜、現在位置直近地点情報とする。また、選択経路上の地点であり、目的地までの距離が最も近い地点を、以下、適宜、目的地直近地点とする。また、目的地直近地点の位置を示す情報を、以下、適地、目的地直近地点情報とする。
走行経路は、例えば、現在位置から選択始点までの経路と、選択経路とから構成される経路である。この場合、走行経路取得部17は、例えば、まず、選択経路情報を取得する。そして、走行経路取得部17は、例えば、地図情報と、現在位置情報と、選択経路情報が有する選択始点情報とを用いて、現在位置から選択始点までの経路を探索する。そして、走行経路取得部17は、当該探索した経路を示す経路情報を取得する。なお、探索した経路を示す情報を、以下、適宜、探索経路情報とする。また、当該地図情報は、地図情報格納部11に格納されている地図情報である。また、当該現在位置情報は、現在位置情報取得部13が取得した現在位置情報である。そして、走行経路取得部17は、選択経路情報と探索経路情報とを連結し、現在位置から選択始点までの経路と、選択経路とから構成される経路を示す走行経路情報を取得する。
また、走行経路は、例えば、現在位置から選択始点までの経路と、選択経路と、選択終点から現在位置までの経路とから構成される経路である。この場合、走行経路取得部17は、例えば、まず、選択経路情報を取得する。そして、走行経路取得部17は、例えば、地図情報と、現在位置情報と、選択経路情報が有する選択始点情報および選択終点情報とを用いて、現在位置から選択始点までの経路、および、選択終点から現在位置までの経路を探索する。そして、走行経路取得部17は、当該探索した2つの各経路を示す2つの探索経路情報を取得する。そして、走行経路取得部17は、選択経路情報と2つの探索経路情報とを連結し、現在位置から選択始点までの経路と、選択経路と、選択終点から現在位置までの経路とから構成される経路を示す走行経路情報を取得する。
また、走行経路は、例えば、現在位置から選択始点までの経路と、選択経路と、選択終点から目的地までの経路とから構成される経路である。この場合、走行経路取得部17は、例えば、まず、選択経路情報を取得する。そして、走行経路取得部17は、例えば、地図情報と、現在位置情報と、選択経路情報が有する選択始点情報および選択終点情報と、目的地情報とを用いて、現在位置から選択始点までの経路、および、選択終点から目的地までの経路を探索する。当該目的地情報は、受付部16が受け付けた目的地情報である。そして、走行経路取得部17は、当該探索した2つの各経路を示す2つの探索経路情報を取得する。そして、走行経路取得部17は、選択経路情報と2つの探索経路情報とを連結し、現在位置から選択始点までの経路と、選択経路と、選択終点から目的地までの経路とから構成される経路を示す走行経路情報を取得する。
なお、選択経路情報を取得する方法や手順などは、例えば、次のとおりである。例えば、経路選択指示が属性情報を有さない場合、走行経路取得部17は、経路情報格納部12から、当該経路選択指示により選択された経路情報を、選択経路情報として取得する。また、例えば、経路選択指示が属性情報を有する場合、走行経路取得部17は、経路情報格納部12から、当該経路選択指示が有する属性情報が対応付いている経路情報を、選択経路情報として取得する。
また、走行経路は、例えば、現在位置から現在位置直近地点までの経路と、現在位置直近地点から選択終点までの経路とから構成される経路である。この場合、走行経路取得部17は、例えば、まず、選択経路情報を取得する。そして、走行経路取得部17は、現在位置情報と、選択経路情報とを用いて、現在位置直近地点情報を取得する。そして、走行経路取得部17は、現在位置直近地点情報を用いて、選択経路情報から、現在位置直近地点から選択終点までの経路を示す経路情報を取得する。なお、選択経路情報から取得した経路情報を、以下、適宜、部分経路情報とする。そして、走行経路取得部17は、地図情報と、現在位置情報と、現在位置直近地点情報とを用いて、現在位置から現在位置直近地点までの経路を探索する。そして、走行経路取得部17は、当該探索した経路を示す探索経路情報を取得する。そして、走行経路取得部17は、探索経路情報と部分経路情報とを連結し、現在位置から現在位置直近地点までの経路と、現在位置直近地点から選択終点までの経路とから構成される経路を示す走行経路情報を取得する。
また、走行経路は、例えば、現在位置から現在位置直近地点までの経路と、現在位置直近地点から選択終点までの経路と、選択終点から現在位置までの経路とから構成される経路である。この場合、走行経路取得部17は、例えば、まず、選択経路情報を取得する。そして、走行経路取得部17は、現在位置直近地点情報を取得する。そして、走行経路取得部17は、現在位置直近地点から選択終点までの経路を示す部分経路情報を取得する。そして、走行経路取得部17は、現在位置から現在位置直近地点までの経路、および、選択終点から現在位置までの経路を探索する。そして、走行経路取得部17は、当該探索した2つの各経路を示す2つの探索経路情報を取得する。そして、走行経路取得部17は、部分経路情報と2つの探索経路情報とを連結し、現在位置から現在位置直近地点までの経路と、現在位置直近地点から選択終点までの経路と、選択終点から現在位置までの経路とから構成される経路を示す走行経路情報を取得する。
また、走行経路は、例えば、現在位置から現在位置直近地点までの経路と、現在位置直近地点から選択終点までの経路と、選択終点から目的地までの経路とから構成される経路である。この場合、走行経路取得部17は、例えば、まず、選択経路情報を取得する。そして、走行経路取得部17は、現在位置直近地点情報を取得する。そして、走行経路取得部17は、現在位置直近地点から選択終点までの経路を示す部分経路情報を取得する。そして、走行経路取得部17は、現在位置から現在位置直近地点までの経路、および、選択終点から目的地までの経路を探索する。そして、走行経路取得部17は、当該探索した2つの各経路を示す2つの探索経路情報を取得する。そして、走行経路取得部17は、部分経路情報と2つの探索経路情報とを連結し、現在位置から現在位置直近地点までの経路と、現在位置直近地点から選択終点までの経路と、選択終点から目的地までの経路とから構成される経路を示す走行経路情報を取得する。
なお、現在位置直近地点情報を取得する方法や手順などは、例えば、次のとおりである。まず、走行経路取得部17は、現在位置情報と、選択経路情報とを用いて、現在位置情報が示す現在位置から、選択経路情報が有する2または3以上の各位置情報が示す位置までの距離を算出する。そして、走行経路取得部17は、選択経路情報から、当該算出した距離が最短である位置を示す位置情報を、現在位置直近地点情報として取得する。
また、走行経路は、例えば、現在位置から選択始点までの経路と、選択始点から目的地直近地点までの経路と、目的地直近地点から目的地までの経路とから構成される経路である。この場合、走行経路取得部17は、例えば、まず、選択経路情報を取得する。そして、走行経路取得部17は、選択経路情報と、目的地情報とを用いて、目的地直近地点情報を取得する。そして、走行経路取得部17は、目的地直近地点情報を用いて、選択経路情報から、選択始点から目的地直近地点までの経路を示す部分経路情報を取得する。そして、走行経路取得部17は、地図情報と、現在位置情報と、選択経路情報が有する選択始点情報と、目的地直近地点情報と、目的地情報とを用いて、現在位置から選択始点までの経路、および、目的地直近地点から目的地までの経路を探索する。そして、走行経路取得部17は、探索した2つの各経路を示す2つの探索経路情報を取得する。そして、走行経路取得部17は、部分経路情報と2つの探索経路情報とを連結し、現在位置から選択始点までの経路と、選択始点から目的地直近地点までの経路と、目的地直近地点から目的地までの経路とから構成される経路を示す走行経路情報を取得する。
また、走行経路は、例えば、現在位置から現在位置直近地点までの経路と、現在位置直近地点から目的地直近地点までの経路と、目的地直近地点から目的地までの経路とから構成される経路である。この場合、走行経路取得部17は、例えば、まず、選択経路情報を取得する。そして、走行経路取得部17は、現在位置直近地点情報および目的地直近地点情報を取得する。そして、走行経路取得部17は、現在位置直近地点情報と、目的地直近地点情報とを用いて、選択経路情報から、現在位置直近地点から目的地直近地点までの経路を示す部分経路情報を取得する。当該部分経路情報が示す経路は、通常、選択始点から選択終点に向かう経路である。そして、走行経路取得部17は、現在位置から現在位置直近地点までの経路、および、目的地直近地点から目的地までの経路を探索する。そして、走行経路取得部17は、探索した2つの各経路を示す2つの探索経路情報を取得する。そして、走行経路取得部17は、部分経路情報と2つの探索経路情報とを連結し、現在位置から現在位置直近地点までの経路と、現在位置直近地点から目的地直近地点までの経路と、目的地直近地点から目的地までの経路とから構成される経路を示す走行経路情報を取得する。
なお、目的地直近地点情報を取得する方法や手順などは、例えば、次のとおりである。まず、走行経路取得部17は、選択経路情報と、目的地情報とを用いて、選択経路情報が有する2または3以上の各位置情報が示す位置から、目的地情報が示す目的地までの距離を算出する。そして、走行経路取得部17は、選択経路情報から、当該算出した距離が最短である位置を示す位置情報を、目的地直近地点情報として取得する。
また、走行経路は、例えば、選択経路を、当該選択経路の逆順に通過する経路を含む経路であってもよい。ここで、選択経路を、当該選択経路の逆順に通過する経路を、以下、適宜、選択逆順経路とする。また、選択逆順経路を示す経路情報を、以下、適宜、選択逆順経路情報とする。また、選択逆順経路は、例えば、選択経路の順序が逆転した経路であるとも言える。つまり、走行経路は、例えば、現在位置から選択終点までの経路と、選択逆順経路とから構成される経路、現在位置から選択終点までの経路と、選択逆順経路と、選択始点から現在位置までの経路、現在位置から選択終点までの経路と、選択逆順経路と、選択始点から目的地までの経路、現在位置から現在位置直近地点までの経路と、現在位置直近地点から選択始点までの経路とから構成される経路、現在位置から現在位置直近地点までの経路と、現在位置直近地点から選択始点までの経路と、選択始点から現在位置までの経路とから構成される経路、現在位置から現在位置直近地点までの経路と、現在位置直近地点から選択始点までの経路と、選択始点から目的地までの経路とから構成される経路、現在位置から選択終点までの経路と、選択終点から目的地直近地点までの経路と、目的地直近地点から目的地までの経路とから構成される経路、現在位置から現在位置直近地点までの経路と、現在位置直近地点から目的地直近地点までの経路であり選択終点から選択始点に向かう経路と、目的地直近地点から目的地までの経路とから構成される経路などであってもよい。これらの走行経路を示す走行経路情報を取得する方法や手順などは、上記と同様であるので、説明を省略する。
また、走行経路取得部17は、例えば、現在位置から選択始点までの距離、および、現在位置から選択終点までの距離を算出する。このとき、走行経路取得部17は、通常、現在位置から選択始点までの経路、および、現在位置から選択終点までの経路を探索し、当該経路の距離を算出する。そして、走行経路取得部17は、算出した2つの距離を比較する。そして、例えば、現在位置から選択始点までの距離の方が短い場合、走行経路取得部17は、現在位置から選択始点までの経路を含む走行経路を示す走行経路情報を取得する。また、例えば、現在位置から選択終点までの距離の方が短い場合、走行経路取得部17は、現在位置から選択終点までの経路を含む走行経路を示す走行経路情報を取得する。
また、走行経路取得部17は、例えば、現在位置から選択始点までの距離、および、現在位置から現在位置直近地点までの距離を算出する。このとき、走行経路取得部17は、通常、現在位置から選択始点までの経路、および、現在位置から現在位置直近地点までの経路を探索し、当該経路の距離を算出する。そして、走行経路取得部17は、算出した2つの経路を比較する。そして、例えば、現在位置から選択始点までの距離の方が短い場合、走行経路取得部17は、現在位置から選択始点までの経路を含む走行経路を示す走行経路情報を取得する。また、例えば、現在位置から現在位置直近地点までの距離の方が短い場合、走行経路取得部17は、現在位置から現在位置直近地点までの経路を含む走行経路を示す走行経路情報を取得する。
また、走行経路取得部17は、例えば、現在位置直近地点から選択終点までの距離、および、現在位置直近地点から選択始点までの距離を算出する。このとき、走行経路取得部17は、通常、選択経路情報から、現在位置直近地点から選択終点までの経路を示す経路情報、および、現在位置直近地点から選択始点までの経路を示す経路情報を取得する。そして、走行経路取得部17は、取得した2つの経路情報を用いて、現在位置直近地点から選択終点までの距離、および、現在位置直近地点から選択始点までの距離を算出する。そして、走行経路取得部17は、算出した2つの距離を比較する。そして、例えば、現在位置直近地点から選択終点までの距離の方が長い場合、走行経路取得部17は、現在位置直近地点から選択終点までの経路を含む走行経路を示す走行経路情報を取得する。また、例えば、現在位置直近地点から選択始点までの距離の方が長い場合、走行経路取得部17は、現在位置直近地点から選択始点までの経路を含む走行経路を示す走行経路情報を取得する。
また、走行経路取得部17は、例えば、選択終点から目的地までの距離、および、目的地直近地点から目的地までの距離を算出する。このとき、走行経路取得部17は、通常、選択終点から目的地までの経路、および、目的地直近地点から目的地までの経路を探索し、当該経路の距離を算出する。そして、走行経路取得部17は、算出した2つの距離を比較する。そして、例えば、選択終点から目的地までの距離の方が短い場合、走行経路取得部17は、選択終点から目的地までの経路を含む走行経路を示す走行経路情報を取得する。また、例えば、目的地直近地点から目的地までの距離の方が短い場合、走行経路取得部17は、目的地直近地点から目的地までの経路を含む走行経路を示す走行経路情報を取得する。
また、走行経路は、例えば、現在位置を出発地および目的地とする経路であり、選択経路を1度だけ通過する経路であってもよい。当該選択経路は、例えば、選択逆順経路であってもよい。つまり、この場合、走行経路取得部17は、例えば、現在位置から選択始点までの経路と、選択経路と、選択終点から現在位置までの経路とから構成される走行経路を示す走行経路情報を取得する。このとき、走行経路取得部17は、選択終点から現在位置までの経路について、選択逆順経路とは異なる経路を探索することが好適である。また、走行経路取得部17は、例えば、現在位置から選択終点までの経路と、選択逆順経路と、選択始点から現在位置までの経路とから構成される走行経路を示す走行経路情報を取得する。このとき、走行経路取得部17は、選択始点から現在位置までの経路について、選択経路とは異なる経路を探索することが好適である。
また、走行経路は、例えば、現在位置を出発地および目的地とする経路であり、選択経路を2度通過する経路であってもよい。「選択経路を2度通過する」とは、選択経路および選択逆順経路を通過することである。つまり、この場合、走行経路取得部17は、例えば、現在位置から選択始点までの経路と、選択経路と、選択逆順経路と、選択始点から現在位置までの経路とから構成される走行経路を示す走行経路情報を取得する。また、走行経路取得部17は、例えば、現在位置から選択終点までの経路と、選択逆順経路と、選択経路と、選択終点から現在位置までの経路とから構成される走行経路を示す走行経路情報を取得する。
また、上記において、現在位置直近地点から選択終点までの経路、選択始点から現在位置直近地点までの経路、選択始点から目的地直近地点までの経路は、通常、選択経路の一部の経路(選択経路が有する経路)である。また、現在位置直近地点から選択始点までの経路、選択終点から現在位置直近地点までの経路、選択終点から目的地直近地点までの経路は、通常、選択逆順経路の一部の経路(選択逆順経路が有する経路)である。
なお、経路の探索には、通常、最短経路問題の解法(アルゴリズム)を用いる。「最短経路問題の解法」は、例えば、ダイクストラ法や、A*アルゴリズムなどである。なお、これらの解法およびこれらの解法を用いて経路情報を取得する方法や手順などは、公知であるので、詳細な説明を省略する。
また、走行経路取得部17は、例えば、経路選択指示が有する属性情報に対応する2以上の経路情報を取得してもよい。この場合、当該2以上の経路情報は、例えば、後述の出力部18が出力することにより、ユーザに提示される。そして、走行経路取得部17は、当該提示された2以上の経路情報のうち、ユーザが選択した経路情報を、選択経路情報として取得し、走行経路情報を取得する。また、経路選択指示が有する属性情報に対応する2以上の経路情報を取得する場合、走行経路取得部17は、例えば、当該属性情報に対応する2以上の経路情報のうち、現在位置との距離が予め決められた条件を満たすほど近い経路を示す2以上の経路情報を取得する。
出力部18は、走行経路情報を出力する。当該走行経路情報は、走行経路取得部17が取得した走行経路情報である。また、出力部18は、走行経路情報を、通常、地図情報と共に出力する。出力部18は、例えば、地図情報により示される地図上に、走行経路情報により示される走行経路が記されるように、経路情報と地図情報とを共に出力する。
また、出力とは、ディスプレイへの表示、プロジェクターを用いた投影、プリンタでの印字、音出力、外部の装置への送信、記録媒体への蓄積、他の処理装置や他のプログラムなどへの処理結果の引渡しなどを含む概念である。なお、送信や蓄積、処理結果の引渡しについては、出力対象が最終的にユーザに提示されるものとする。
また、出力部18は、ディスプレイやスピーカーなどの出力デバイスを含むと考えてもよいし、含まないと考えてもよい。出力部18は、出力デバイスのドライバソフトまたは、出力デバイスのドライバソフトと出力デバイスなどで実現され得る。
なお、地図情報格納部11、経路情報格納部12は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。また、地図情報格納部11などに所定の情報が記憶される過程は、問わない。例えば、当該所定の情報は、記録媒体や、通信回線、入力デバイスなどを介して地図情報格納部11などに記憶されてもよい。
また、蓄積部15、走行経路取得部17は、通常、MPUやメモリ等から実現され得る。また、蓄積部15などの処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。なお、蓄積部15などは、ハードウェア(専用回路)で実現されてもよい。
次に、ナビゲーション装置1の全体動作について、図2のフローチャートを用いて説明する。なお、所定の情報におけるi番目の情報は、「情報[i]」と記載するものとする。
(ステップS201)ナビゲーション装置1は、受付部16が電源ONの指示を受け付けたか否かを判断する。受け付けた場合は、ステップS202に進み、そうでない場合は、ステップS201に戻る。
(ステップS202)ナビゲーション装置1は、電源ONの処理を行う。
(ステップS203)現在位置情報取得部13は、現在位置情報の取得を開始する。以降、現在位置情報取得部13は、ナビゲーション装置1の電源がOFFになるまで、現在位置情報を定期的に取得し続ける。
(ステップS204)蓄積部15は、受信部14が経路情報を受信したか否かを判断する。受信した場合は、ステップS205に進み、そうでない場合は、ステップS206に進む。
(ステップS205)蓄積部15は、ステップS204で受信した経路情報を、経路情報格納部12に蓄積する。このとき、例えば、経路情報に属性情報が対応付いている場合、蓄積部15は、通常、当該属性情報と共に経路情報を蓄積する。
(ステップS206)走行経路取得部17は、受付部16が経路選択指示を受け付けたか否かを判断する。受け付けた場合は、ステップS207に進み、そうでない場合は、ステップS219に進む。
(ステップS207)走行経路取得部17は、ステップS206で受け付けた経路選択指示が属性情報を有するか否かを判断する。有する場合は、ステップS209に進み、そうでない場合は、ステップS208に進む。
(ステップS208)走行経路取得部17は、ステップS206で受け付けた経路選択指示により選択された経路情報を、経路情報格納部12から、選択経路情報として取得する。
(ステップS209)走行経路取得部17は、カウンタiに1をセットする。ここで、経路情報格納部12には、m個の経路情報が格納されているものとする。
(ステップS210)走行経路取得部17は、属性情報[i]が、経路選択指示が有する属性情報である選択属性情報と同一であるか否かを判断する。同一である場合は、ステップS211に進み、そうでない場合は、ステップS212に進む。
(ステップS211)走行経路取得部17は、経路情報[i]を、経路情報格納部12から、選択経路情報として取得する。
(ステップS212)走行経路取得部17は、iがmであるか否かを判断する。mである場合は、ステップS219に進み、そうでない場合は、ステップS213に進む。
(ステップS213)走行経路取得部17は、iを1インクリメントする。そして、ステップS210に戻る。
(ステップS214)走行経路取得部17は、地図情報と、現在位置情報と、選択経路情報とを用いて、現在位置から選択始点までの経路を探索し、当該経路を示す探索経路情報を取得する。
(ステップS215)走行経路取得部17は、現在位置に戻ってくる走行経路を示す走行経路情報を取得するか否かを判断する。当該判断は、例えば、現在位置に戻ってくる走行経路を示す走行経路情報を取得するか否かを示す情報が予め決められた記憶領域に格納されており、当該情報を用いて行う。そして、現在位置に戻ってくる走行経路を示す走行経路情報を取得する場合は、ステップS216に進み、そうでない場合は、ステップS217に進む。
(ステップS216)走行経路取得部17は、地図情報と、現在位置情報と、選択経路情報とを用いて、選択終点から現在位置までの経路を探索し、当該経路を示す探索経路情報を取得する。
(ステップS217)走行経路取得部17は、ステップS208またはステップS211で取得した選択経路情報と、ステップS214およびステップS216で取得した1つまたは2つの探索経路情報とを連結し、走行経路情報を取得する。
(ステップS218)出力部18は、ステップS217で取得した走行経路情報を出力する。
(ステップS219)ナビゲーション装置1は、受付部16が電源OFFの指示を受け付けたか否かを判断する。受け付けた場合は、ステップS220に進み、そうでない場合は、ステップS204に戻る。
(ステップS220)ナビゲーション装置1は、電源OFFの処理を行う。そして、ステップS201に戻る。
なお、図2のフローチャートにおいて、電源オフや処理終了の割り込みにより処理を終了してもよい。
なお、上記で説明したナビゲーション装置1の全体動作は、あくまで一例である。つまり、ナビゲーション装置1の全体動作は、上記の説明に限定されるものではない。
(具体例)
次に、ナビゲーション装置1の動作の具体例について説明する。なお、本具体例において、ナビゲーション装置1は、自動車に搭載されているカーナビゲーションシステム(以下、適宜、カーナビとする)であるものとする。また、経路情報格納部12は、図3に示す経路情報が格納されているものとする。当該経路情報(項目名:経路)には、レコードを一意に特定するためのIDと、属性情報(項目名:属性)とが対応付いている。また、当該経路情報は、経路の始点の位置、始点の位置、通過(経由)する1以上の地点の位置のそれぞれを示す3以上の位置情報を有する。
まず、ユーザが自動車に乗り込み、自動車のエンジンをONにしたとする。すると、受付部16は、電源ONの指示を受け付け、カーナビの電源がONになる。また、現在位置情報取得部13は、現在位置情報の取得を開始する。
次に、ユーザがカーナビに対し、1以上の経路の中から経路を選択する操作を行ったとする。すると、出力部18は、経路情報格納部12に格納されている1以上の属性情報を出力する。このときの様子は、例えば、図4である。
次に、ユーザがカーナビの画面にタッチし、図4の「ドライブ」を選択したとする。すると、受付部16は、属性情報「ドライブ」を有する経路選択指示を受け付ける。
次に、走行経路取得部17は、受付部16が受け付けた経路選択指示が有する属性情報「ドライブ」が対応付いている図3の「ID=011」の経路情報「(N35.11XX,E135.XX16),・・・,(N35.12XX,E135.XX62)」を、選択経路情報として取得する。また、当該選択経路情報が示す経路は、図5であるものとする。また、このときに現在位置情報取得部13が取得した現在位置情報が示す現在位置は、図6であるものとする。
次に、走行経路取得部17は、地図情報と、現在位置情報と、選択経路情報「(N35.11XX,E135.XX16),・・・,(N35.12XX,E135.XX62)」が有する選択始点情報とを用いて、図6における現在位置から、図5における選択始点である「α」までの経路を探索する。選択始点情報は、例えば、選択経路情報が有する3以上の位置情報において、順序が最初の位置情報である。そして、走行経路取得部17は、探索した経路を示す探索経路情報を取得する。
次に、走行経路取得部17は、地図情報と、現在位置情報と、選択経路情報「(N35.11XX,E135.XX16),・・・,(N35.12XX,E135.XX62)」が有する選択終点情報とを用いて、図5における選択終点である「β」から、図6における現在位置までの経路を探索する。選択終点情報は、例えば、選択経路情報が有する3以上の位置情報において、順序が最後の位置情報である。そして、走行経路取得部17は、探索した経路を示す探索経路情報を取得する。
次に、走行経路取得部17は、選択経路情報と、2つの探索経路情報とを連結し、走行経路情報を取得する。
次に、出力部18は、探索経路情報を地図情報と共に出力する。このときの様子は、例えば、図7である。
なお、受信部14が1以上の経路情報を受信し、当該受信した1以上の経路情報を蓄積部15が経路情報格納部12に蓄積する例については、自明であるので、説明を省略する。
以上、本実施の形態によるナビゲーション装置1によれば、予め登録されている経路の中から選択された経路を含む経路を、走行予定の経路として設定できる。これにより、ユーザは、例えば、自身が過去に走行した経路や、他者が過去に走行した経路などの中から、走行を所望する経路を選択し、走行予定の経路として利用することができる。また、ユーザは、例えば、自身の感情や気分などに合った経路を選択し走行することができる。
なお、本実施の形態において、端末装置2のブロック図は、例えば、図8である。端末装置2は、端末地図情報格納部21と、端末現在位置情報取得部22と、端末受付部23と、端末経路探索部24と、端末送信部25とを備える。端末地図情報格納部21には、地図情報が格納される。また、端末現在位置情報取得部22は、端末装置2の現在位置を示す位置情報を取得する。また、端末受付部23は、例えば、終点情報を受け付ける。終点情報とは、終点を示す地点情報である。また、端末受付部23は、例えば、属性情報を受け付ける。また、端末経路探索部24は、端末地図情報格納部21に格納されている地図情報と、端末現在位置情報取得部22が取得した現在位置情報と、端末受付部23が受け付けた終点情報とを用いて、現在位置から終点までの経路を探索し、当該経路を示す経路情報を取得する。また、端末送信部25は、端末経路探索部24が取得した経路情報を、ナビゲーション装置1またはサーバ装置3に送信する。このとき、端末送信部25は、例えば、端末受付部23が受け付けた属性情報を対応付けて、経路情報を送信する。また、端末送信部25は、例えば、端末現在位置情報取得部22が現在位置情報を取得するたびに、当該現在位置情報を、例えば、サーバ装置3に送信してもよい。このとき、端末送信部25は、通常、端末装置2を識別する情報である端末識別情報を対応付けて、現在位置情報を送信する。また、端末識別情報は、例えば、予め決められた記憶領域に格納されている。
また、本実施の形態において、サーバ装置3のブロック図は、例えば、図9である。サーバ装置3は、サーバ格納部31と、サーバ受信部32と、サーバ蓄積部33と、サーバ取得部34と、サーバ送信部35とを備える。サーバ格納部31には、1以上の経路情報が格納される。また、サーバ受信部32は、1以上の各端末装置2から、経路情報を受信する。また、サーバ受信部32は、例えば、1以上の各端末装置2から、現在位置情報を受信してもよい。当該現在位置情報には、通常、端末識別情報が対応付いている。また、サーバ蓄積部33は、サーバ受信部32が受信した経路情報を、サーバ格納部31に蓄積する。また、サーバ受信部32が現在位置情報を受信した場合、サーバ蓄積部33は、当該現在位置情報に対応付いている端末識別情報ごとに、当該現在位置情報を蓄積する。これにより、1つの端末識別情報に対応する経路情報が蓄積される。つまり、サーバ受信部32は、例えば、予め決められた時間内にサーバ受信部32が受信した現在位置情報を、当該現在位置情報に対応付いている端末識別情報ごとに対応付けて蓄積することにより、経路情報を蓄積する。また、サーバ取得部34は、サーバ格納部31から1以上の経路情報を取得する。サーバ取得部34は、当該取得を、例えば、定期的に行う。また、サーバ取得部34は、当該取得を、ナビゲーション装置1からの要求に応じて取得する。また、サーバ送信部35は、サーバ取得部34が取得した1以上の経路情報を、ナビゲーション装置1に送信する。
また、本実施の形態において、受信部14は、例えば、1以上の各端末装置2から、現在位置情報を受信してもよい。当該現在位置情報は、端末装置2の現在位置を示す情報である。この場合、蓄積部15は、通常、上記のサーバ蓄積部33が行う処理や動作などと同様の処理や動作などを行い、経路情報を経路情報格納部12に蓄積する。
また、本実施の形態において、受付部16は、例えば、属性情報を受け付けてもよい。また、出力部18は、例えば、走行経路取得部17が取得した走行経路情報を、サーバ装置3に送信してもよい。このとき、出力部18は、例えば、受付部16が受け付けた属性情報を対応付けて、経路情報を送信する。また、この場合、サーバ受信部32は、ナビゲーション装置1から走行経路情報を受信する。そして、サーバ蓄積部33は、サーバ受信部32が受信した走行経路情報を、当該走行経路情報に対応付いている属性情報と共に、サーバ格納部31に蓄積する。
また、上記各実施の形態において、一の装置に存在する2以上の通信手段は、物理的に一の媒体で実現されてもよいことは言うまでもない。
また、上記各実施の形態におけるナビゲーション装置は、例えば、スタンドアロンの装置であってもよいし、サーバ・クライアントシステムにおけるサーバ装置であってもよい。
また、上記各実施の形態において、各処理または各機能は、単一の装置または単一のシステムによって集中処理されることによって実現されてもよいし、あるいは、複数の装置または複数のシステムによって分散処理されることによって実現されてもよい。
また、上記各実施の形態において、各構成要素は専用のハードウェアにより構成されてもよいし、あるいは、ソフトウェアにより実現可能な構成要素については、プログラムを実行することによって実現されてもよい。例えば、ハードディスクや半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをCPU等のプログラム実行部が読み出して実行することによって、各構成要素が実現され得る。
また、上記各実施の形態におけるナビゲーション装置を実現するソフトウェアは、例えば、以下のようなプログラムである。つまり、このプログラムは、地図に関する情報である地図情報が格納される地図情報格納部と、経路を示す情報である1以上の経路情報が格納される経路情報格納部とにアクセス可能なコンピュータを、前記経路情報を選択する指示である経路選択指示を受け付ける受付部、前記経路選択指示により選択された経路情報を、前記経路情報格納部から取得し、当該経路情報が示す経路を含む経路である走行経路を示す情報である走行経路情報を、前記地図情報と、当該経路情報とを用いて取得する走行経路取得部、前記走行経路情報を出力する出力部として機能させるためのプログラムである。
なお、上記プログラムにおいて、上記プログラムが実現する機能には、ハードウェアでしか実現できない機能は含まれない。
また、上記プログラムは、サーバなどからダウンロードされることによって実行されてもよいし、所定の記録媒体(例えば、CD−ROMなどの光ディスクや磁気ディスク、半導体メモリなど)に記録されたプログラムが読み出されることによって実行されてもよい。また、このプログラムは、プログラムプロダクトを構成するプログラムとして用いられてもよい。
また、上記プログラムを実行するコンピュータは、単数であってもよいし、複数であってもよい。つまり、集中処理を行ってもよいし、あるいは分散処理を行ってもよい。
また、図10は、前述のプログラムを実行して、前述の実施の形態のナビゲーション装置等を実現するコンピュータシステム9の概観図である。前述の実施の形態は、コンピュータハードウェア、およびその上で実行されるコンピュータプログラムで実現され得る。
図10において、コンピュータシステム9は、CD−ROMドライブ9011を含むコンピュータ901と、キーボード902と、マウス903と、モニタ904とを備える。
図11は、コンピュータシステム9のブロック図である。図11において、コンピュータ901は、CD−ROMドライブ9011に加えて、MPU9013と、ブートアッププログラム等のプログラムを記憶するためのROM9014と、MPU9013に接続され、アプリケーションプログラムの命令を一時的に記憶するとともに一時記憶空間を提供するためのRAM9015と、アプリケーションプログラム、システムプログラム、およびデータを記憶するためのハードディスク9016と、CD−ROMドライブ9011、MPU9013等を相互に接続するバス9017とを備える。ここでは図示しないが、コンピュータ901は、さらに、LANへの接続を提供するネットワークカードを備えていてもよい。
コンピュータシステム9に、前述の実施の形態のナビゲーション装置等の機能を実行させるプログラムは、CD−ROM9101に記憶されて、CD−ROMドライブ9011に挿入され、さらにハードディスク9016に転送されてもよい。これに代えて、プログラムは、図示しないネットワークを介してコンピュータ901に送信され、ハードディスク9016に記憶されてもよい。プログラムは実行の際にRAM9015にロードされる。プログラムは、CD−ROM9101またはネットワークから直接、ロードされてもよい。
プログラムは、コンピュータ901に、前述の実施の形態のナビゲーション装置等の機能を実行させるオペレーティングシステム(OS)、またはサードパーティープログラム等は、必ずしも含まなくてもよい。プログラムは、制御された態様で適切な機能(モジュール)を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいればよい。コンピュータシステム9がどのように動作するかは周知であり、詳細な説明は省略する。
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。