以下、本発明の各実施形態について図面を用いて説明する。なお、以下の各装置内の各モジュールは、ハードウェア構成、又はハードウェア資源とソフトウェアとの組合せ構成のいずれでも実施可能となっている。組合せ構成のソフトウェアとしては、予めネットワーク又は記憶媒体から対応する装置のコンピュータにインストールされ、対応するモジュールの機能を実現させるためのプログラムが用いられる。
(第1の実施形態)
図1は本発明の第1の実施形態に係る地図情報処理装置及びナビゲーション装置を備えたナビゲーションシステムの構成を示す模式図である。このナビゲーションシステムは、管理センタに配置された地図情報処理装置100及び各車両に搭載されたナビゲーション装置200が通信可能に接続されている。なお、ナビゲーション装置200は、各ユーザに応じて複数台が地図情報処理装置100に通信しているが、ここでは1台のみを図示している。このことは以下の各実施形態でも同様である。
ここで、地図情報処理装置100は、データ処理ユニット120に接続された通信ユニット101、地図DB102、ユーザ走行履歴DB103、ユーザ経路探索履歴DB104及びユーザ地図更新情報DB105を備えている。
通信ユニット101は、データ処理ユニット120からナビゲーション装置200に対してデータを送受信するための通信インタフェースである。例えば、通信ユニット101は、ナビゲーション装置100からユーザID、走行履歴情報及び経路探索履歴情報をそれぞれ受信する機能と、地図情報をナビゲーション装置200に送信する機能とをもっている。
地図DB102は、データ処理ユニット120及び通信ユニット101から読出/書込可能な記憶部であり、図2に示すように、地図ID毎に、エリア番号、エリア座標、バージョン、地図データ及びファイル名を互いに関連付けて記憶している。
但し、地図DB102におけるエリア番号及びファイル名は、(それぞれエリア座標及び地図IDで代用可能なことから)任意の付加的事項であり、省略してもよい。例えば、地図DB102は、全体地図を各エリアに分割した各地図エリアに関し、地図ID、エリア座標、バージョン及び地図データを含む地図情報を記憶したものとしてもよい。
ユーザ走行履歴DB103は、データ処理ユニット120及び通信ユニット101から読出/書込可能な記憶部であり、各ユーザのナビゲーション装置200から走行履歴を集めたものであって、図3に示すように、ユーザID、通し番号として履歴No、出発日時、出発地のエリア座標、エリア内での出発地点、目的地もしくは通過地点の到着日時、到着地のエリア座標、エリア内での到着地点についての情報が格納されている。
但し、ユーザ走行履歴DB103における履歴No、出発日時、出発時点、到着日時、到着地点は、(本実施形態の地図情報の更新処理には用いないことから)任意の付加的事項であり、省略してもよい。例えば、ユーザ走行履歴DB103は、ユーザID、出発地のエリア座標及び到着地のエリア座標を含む走行履歴情報を記憶するものとしてもよい。
ユーザ経路探索履歴DB104は、データ処理ユニット120及び通信ユニット101から読出/書込可能な記憶部であり、各ユーザのナビゲーション装置200から経路探索履歴を集めたものであって、図4に示すように、ユーザID、通し番号として履歴No、検索日時、検索地点のエリア座標、エリア内での詳細位置、検索地のエリア座標、エリア内での詳細位置についての情報が格納されている。
但し、ユーザ経路探索履歴DB104における履歴No、検索日時、詳細位置は、(本実施形態の地図情報の更新処理には用いないことから)任意の付加的事項であり、省略してもよい。例えば、ユーザ経路探索履歴DB104は、ユーザID、検索地のエリア座標及び到着地のエリア座標を含む経路探索履歴情報を記憶するものとしてもよい。
ユーザ地図更新情報DB105は、データ処理ユニット120及び通信ユニット101から読出/書込可能な記憶部であり、図5に示すように、ユーザID、エリア座標、そのエリアの地図のバージョン、更新年月日及び更新優先順位についての情報が格納されている。
データ処理ユニット120は、図6に示すように、計算結果保存テーブル121、走行エリア決定モジュール122、ユーザグループ分類モジュール123、エリア重要度計算モジュール124、更新期間重要度計算モジュール125、差分重要度計算モジュール126及び更新優先順位決定モジュール127を備えている。また、データ処理ユニット120は、各モジュール122〜127から読出/書込可能なメモリ(図示せず)を有し、入出力データや計算途中のデータ等を保持可能としている。図示しないメモリを有することは以下の各実施形態のデータ処理ユニットでも同様である。
ここで、計算結果保存テーブル121は、エリア重要度テーブル121a、更新期間重要度テーブル121b及び差分重要度テーブル121cを備えている。
エリア重要度テーブル121aは、エリア重要度計算モジュール124から書込可能で更新優先順位決定モジュール127から読出可能な記憶部であり、ユーザID、エリア番号、エリア座標及びエリア重要度を互いに関連付けて記憶する。
更新期間重要度テーブル121bは、更新期間重要度計算モジュール125から書込可能で更新優先順位決定モジュール127から読出可能な記憶部であり、ユーザID、エリア番号、エリア座標及び更新期間重要度を互いに関連付けて記憶する。
差分重要度テーブル121cは、差分重要度計算モジュール126から書込可能で更新優先順位決定モジュール127から読出可能な記憶部であり、ユーザID、エリア番号、エリア座標及び差分重要度を互いに関連付けて記憶する。
走行エリア決定モジュール122は、ユーザの走行履歴、経路探索履歴に基づいて、最も近い走行、探索経路傾向を持つユーザグループの走行エリアを、ユーザの走行エリアに設定するものである。具体的には、走行エリア決定モジュール122は、各グループ走行エリアと、受信した走行履歴情報及び経路探索履歴情報との類似度を計算し、最も高い類似度をもつグループ走行エリアをユーザ走行エリアとして決定する機能をもっている。
ユーザグループ分類モジュール123は、協調フィルタリング又はクラスタリングといった分類手法を用い、全ユーザの走行履歴、経路探索履歴に基づいてグループ分けを実行し、グループ毎にそのグループに属するユーザの走行可能性の高いグループ走行エリアを求めるものである。具体的には、ユーザグループ分類モジュール123は、ユーザ走行履歴DB103内の走行履歴情報及びユーザ経路探索履歴DB104内の経路探索情報をグループに分類することにより、エリア座標の集合を含む複数のグループ走行エリアを作成する機能をもっている。
エリア重要度計算モジュール124は、エリアに分けられた地図の各エリアに対して、ユーザの走行エリアとの距離を元に重要度を計算し、ユーザIDと共に計算結果をエリア重要度テーブル121a内に保存するものである。換言すると、エリア重要度計算モジュール124は、各地図エリアのエリア座標とユーザ走行エリアとの距離に基づいて、当該エリア座標のエリア重要度を計算する機能をもっている。
更新期間重要度計算モジュール125は、長期間更新されていないエリアに対して、更新を行うための更新期間重要度を計算し、ユーザIDと共に計算結果を更新期間重要度テーブル121b内に保存するものである。換言すると、更新期間重要度計算モジュール125は、各地図エリアのエリア座標に対応する更新年月日をユーザ地図更新情報DB105から読出し、この更新年月日と現在年月日との間の未更新期間に基づいて、当該エリア座標の更新期間重要度を計算する機能をもっている。
差分重要度計算モジュール126は、新たな高規格道路が開通したエリアなど、ユーザの持つエリアの地図と取得可能な地図の変更部分が大きい場合に、重要度を高くし、更新を行うようにするための差分重要度を計算し、ユーザのIDと共に計算結果を差分重要度テーブル121c内に保存するものである。換言すると、差分重要度計算モジュール126は、受信したユーザIDから読み出したユーザ地図更新情報DB105内のエリア座標及びバージョンに対応する地図DB102内の地図データと、地図DB102内の当該エリア座標に対応する最新バージョンの地図データとの差分に基づいて、当該エリア座標の差分重要度を計算する機能をもっている。
更新優先順位決定モジュール127は、各エリアのエリア重要度、更新期間優先度、差分重要度の値を元に、総合優先度の値を計算し、各エリアの更新を行う優先度の高さを求め、更新優先順位をユーザ地図更新情報DB105に書き込むものである。換言すると、更新優先順位決定モジュール127は、エリア重要度、更新期間重要度及び差分重要度を加算して各エリア座標の総合重要度を計算し、総合重要度に基づいて、当該各エリア座標の更新優先順位を決定してユーザ地図更新情報DB105を更新する機能をもっている。また、更新優先順位決定モジュール127は、更新したユーザ地図更新情報DB105内の更新優先順位及びエリア座標に基づいて、地図DB102内の当該エリア座標の最新バージョンの地図情報を通信ユニット101からナビゲーション装置200に送信する機能をもっている。
一方、ナビゲーション装置200は、図1に示したように、ナビゲーション処理ユニット220に接続された通信ユニット201、ローカルな地図DB202、走行履歴DB203及び経路探索履歴DB204を備えている。なお、ナビゲーション装置200は、図示しないGPS(Grobal Positioning System)ユニット、センサユニット(方位センサ、車速センサ)、操作部ユニット、ディスプレイ、スピーカ等を備え、当該ナビゲーション装置200の現在地点の座標に応じてナビゲーション処理を実行可能となっている。このことは、以下の各実施形態でも同様である。
通信ユニット201は、ナビゲーション処理ユニット220から地図情報処理装置100に対してデータを送受信するための通信インタフェースである。この通信ユニット201は、アンテナを備えた通信装置、又はアンテナがなく、携帯電話の通信機能を利用する通信処理部、のいずれでもよい。このことは以下の各実施形態でも同様である。
地図DB202は、ナビゲーション処理ユニット220及び通信ユニット201から読出/書込可能な記憶部であり、地図ID毎に、エリア番号、エリア座標、バージョン、地図データ及びファイル名を互いに関連付けて記憶している。
走行履歴DB203は、ナビゲーション処理ユニット220及び通信ユニット201から読出/書込可能な記憶部であり、図7に示すように、通し番号として履歴No、出発日時、出発地のエリア座標、エリア内での出発地点、目的地もしくは通過地点の到着日時、到着地のエリア座標、エリア内での到着地点についての情報が格納されている。
経路探索履歴DB204は、ナビゲーション処理ユニット220及び通信ユニット201から読出/書込可能な記憶部であり、図8に示すように、通し番号として履歴No、検索日時、検索地点のエリア座標、エリア内での詳細位置、検索地のエリア座標、エリア内での詳細位置についての情報が格納されている。
ナビゲーション処理ユニット220は、図示しないGPSユニット及びセンサユニットからの情報に基づき、現在の位置座標に対応する地図情報を地図DB202から読み出して表示する機能と、走行の履歴情報を走行履歴DB203に書き込む機能と、ユーザの操作によりユーザIDを通信ユニット101から地図情報処理装置100に送信する機能と、走行履歴DB203内の走行履歴情報を通信ユニット101から地図情報処理装置100に送信する機能と、経路履歴情報を経路探索履歴DB204に書き込む機能と、経路探索履歴DB204内の経路探索履歴情報を通信ユニット101から地図情報処理装置100に送信する機能と、地図情報処理装置100から通信ユニット101を介して受けた地図情報を地図DB201に更新する機能とをもっている。
次に、以上のように構成されたナビゲーションシステムにおける地図情報更新動作を図9乃至図17のフローチャート及び模式図を用いて説明する。この説明は[全体動作ST1〜ST14;図9]、[走行エリア決定動作ST5の詳細;図10〜図12]、[エリア重要度計算動作ST6の詳細;図13〜図14]、[更新期間重要度計算動作ST7の詳細;図15]、[差分重要度計算動作ST8の詳細;図16]及び[更新優先順位決定動作ST9の詳細;図17]の順に述べる。
[全体動作ST1〜ST14;図9]
ナビゲーション装置200においては、図9に示すように、ナビゲーション処理ユニット220が、ユーザの操作によりユーザIDを通信ユニット201から地図情報処理装置100に送信する(ST1)。
地図情報処理装置200においては、通信ユニット101が、このユーザIDを受信すると(ST2)、データ処理ユニット120内の更新期間重要度計算モジュール125及び差分重要度計算モジュール126を起動する。
また、ナビゲーション装置200においては、ナビゲーション処理ユニット220が、ユーザの操作により、走行履歴DB203内の走行履歴情報及び経路探索履歴DB204内の経路探索履歴情報を通信ユニット201から地図情報処理装置200に送信する(ST3)。
地図情報処理装置200においては、通信ユニット101が、この走行履歴情報及び経路探索履歴情報を受信すると(ST4)、データ処理ユニット120内のユーザグループ分類モジュール123及び走行エリア決定モジュール122を起動する。
ユーザグループ分類モジュール123は、ユーザ走行履歴DB103内の走行履歴情報及びユーザ経路探索履歴DB104内の経路探索情報をグループに分類することにより、エリア座標の集合を含む複数のグループ走行エリアを作成する。
また、走行エリア決定モジュール122は、各グループ走行エリアと、受信した走行履歴情報及び経路探索履歴情報との類似度を計算し、最も高い類似度をもつグループ走行エリアをユーザ走行エリアとして決定する(ST5)。
しかる後、走行エリア決定モジュール122は、エリア重要度計算モジュール124を起動する。
エリア重要度計算モジュール124は、各地図エリアのエリア座標とユーザ走行エリアとの距離に基づいて、当該エリア座標のエリア重要度を計算し、ユーザID、エリア座標、エリア番号と共にエリア重要度をエリア重要度テーブル121a内に保存する(ST6)。
一方、更新期間重要度計算モジュール125は、通信ユニット101により起動されると、各地図エリアのエリア座標に対応する更新年月日をユーザ地図更新情報DB105から読出し、この更新年月日と現在年月日との間の未更新期間に基づいて、当該エリア座標の更新期間重要度を計算し、ユーザID、エリア座標、エリア番号と共に更新期間重要度を更新期間重要度テーブル121b内に保存する(ST7)。
差分重要度計算モジュール126は、通信ユニット101により起動されると、ST2で受信したユーザIDから読み出したユーザ地図更新情報DB105内のエリア座標及びバージョンに対応する地図DB102内の地図データと、地図DB102内の当該エリア座標に対応する最新バージョンの地図データとの差分に基づいて、当該エリア座標の差分重要度を計算し、ユーザID、エリア座標、エリア番号と共に差分重要度を差分重要度テーブル121c内に保存する(ST8)。これらステップST8及びST9は、ステップST2の後でステップST9の前であれば、任意のタイミングで実行することができる。
続いて、地図情報処理装置200においては、更新優先順位決定モジュール127が、ステップST6のエリア重要度、ステップST7の更新期間優先度及びステップST8の差分重要度を互いに加算して各エリア座標の総合優先度を計算し、総合重要度に基づいて、当該各エリア座標の更新優先順位を決定してユーザ地図更新情報DB105の更新優先順位を更新する(ST9)。
しかる後、更新優先順位決定モジュール127は、更新したユーザ地図更新情報DB105内の更新優先順位及びエリア座標に基づいて、地図DB102内の当該エリア座標の最新バージョンの地図情報を通信ユニット101からナビゲーション装置200に送信し(ST10)、ユーザ地図更新情報DB105の更新年月日を更新する(ST11)。
ナビゲーション装置200においては、ナビゲーション処理ユニット220が、地図情報処理装置100から通信ユニット201を介して地図情報を受信すると(ST12)、この地図情報を地図DB201に更新する(ST13)。
[走行エリア決定動作ST5の詳細;図10〜図12]
走行エリア決定モジュール122は、図10に示すように、通信ユニット101からユーザの走行履歴情報及び経路探索履歴情報を読み込む(ST5−1)。
また、ユーザグループ分類モジュール123は、ユーザ走行履歴DB103及びユーザ経路探索履歴DB105を参照し、全ユーザの走行履歴、経路探索履歴に基づいて、ユーザグループ番号毎に、グループ内の各ユーザID及びグループ走行エリア(エリア座標の集合)を保持する。
このとき、ユーザグループ分類モジュール123は、例えば図11に示すように、全ユーザの走行履歴、経路探索履歴に基づいて、ユーザIDとエリア座標のマトリックスを作成し、ユーザID毎に各エリア座標の履歴有フラグを当該マトリックス内に設定し、履歴有フラグをエリア座標毎に合計した値を一致数(ユーザ数)とする。
ここで、最大の一致数(例、80)のエリア座標(例、(X2,Y2))に対応するユーザIDの集合をユーザグループ内のユーザIDとし、この集合内の各ユーザIDに対応するエリア座標のうち、一致数が基準値(例、40)以上のエリア座標(例、(X1,Y1),(X2,Y1),…)をグループ走行エリアとする。これにより、1番目のユーザグループ(ユーザグループ番号、グループ内の各ユーザID)とグループ走行エリア(エリア座標の集合)が決まる。なお、このようなマトリックスによる処理は、特開2005−167628号公報に記載の協調フィルタリング・マトリックスの処理と同様のものである。但し、ユーザグループ分類モジュール123は、マトリックスによる処理に限らず、任意の協調フィルタリング処理又はクラスタリング処理により、ユーザグループとグループ走行エリアを決めることができる。
また、ユーザグループ分類モジュール123は、このように決めた1番目のユーザグループとグループ走行エリアをメモリ(図示せず)に保持した後、当該ユーザグループに属するユーザIDの集合を除いた残りのユーザIDについて、再度、1番目と同様の処理を実行し、2番目のユーザグループとグループ走行エリアを決めてメモリに保持する。以下同様に、ユーザグループ分類モジュール123は、順次、各ユーザグループ及びグループ走行エリアを決めてメモリに保持する。
しかる後、走行エリア決定モジュール122は、ユーザグループ分類モジュール123からユーザグループ(ユーザグループ番号、グループ内の各ユーザID)とグループ走行エリアを読み込む(ST5−2)。
走行エリア決定モジュール122は、メモリ内のユーザグループ番号を1に初期化し(ST5−3)、メモリ内のエリア類似度を0に初期化する(ST5−4)。
走行エリア決定モジュール122は、メモリ内のユーザグループ番号が、ステップST5−2で読み込んだユーザグループ(のユーザグループ番号)として存在するか否かを判定し(ST5−5)、存在しなければ処理を終了するが、存在すれば、ステップST5−1で読み込んだユーザの走行履歴情報、経路探索履歴情報と、メモリ内のユーザグループ番号に対応するグループ走行エリアとの類似度を計算する(ST5−6)。
例えば、走行エリア決定モジュール122は、図12に示すように、ユーザの走行履歴情報、経路探索履歴情報に基づき、履歴有のエリア座標の集合をユーザ走行エリアL1とし、このユーザ走行エリアL1内のエリア座標の個数を走行エリア数N1として求める。
同様に、走行エリア決定モジュール122は、グループ走行エリアL2内のエリア座標の個数を走行エリア数N2として求める。
続いて、走行エリア決定モジュール122は、両走行エリアL1,L2のエリア座標のうち、重複するエリア座標の集合を、重複する走行エリアLdとして求め、この走行エリアLd内のエリア座標の個数を、重複する走行エリア数Ndとして求める。
しかる後、走行エリア決定モジュール122は、次式に示すように、類似度SLを計算する。
SL=Nd/(N1・N2)1/2
例えば、両走行エリアL1,L2が同一のとき、N1=N2=Ndとなり、類似度SLは1となる。また、両走行エリアL1,L2に重複部分がないとき、重複する走行エリア数Ndが0となり、類似度SLは0となる。すなわち、類似度SLの範囲は0以上1以下である。通常の場合、図12に示したように、類似度SLは小数となる。なお、ここで用いた類似度は、“枦元淳平ほか:複数経路を考慮した鉄道・航空ネットワークの評価,インターネット<www.cneas.tohoku.ac.jp/labs/dsese/mokmrp1/hto0309.pdf>”に記載の類似度と同様のものである。但し、走行エリア決定モジュール122は、これらの類似度に限らず、任意の類似度の計算式により、類似度を計算することができる。
いずれにしても、類似度SLの計算により、ステップST5−6が完了する。
次に、走行エリア決定モジュール122は、メモリ内のエリア類似度よりもステップST5−6の計算結果の類似度の方が大きいか否かを判定し(ST5−7)、小さければステップST5−10に進む。
一方、ステップST5−7の判定の結果、ステップST5−6の計算結果の方が大きければ、走行エリア決定モジュール122は、メモリ内のエリア類似度に計算結果を上書きし(ST5−8)、当該類似度が大きいグループ走行エリアをユーザ走行エリアとしてメモリに設定する(ST5−9)。
しかる後、走行エリア決定モジュール122は、メモリのユーザグループ番号をインクリメントして(ST5−10)、ステップST5−5から処理を再実行する。
[エリア重要度計算動作ST6の詳細;図13〜図14]
エリア重要度計算モジュール124は、図13に示すように、走行エリア決定モジュール122からユーザ走行エリアを読み込むと(ST6−1)、メモリ内のエリア番号を1に初期化する(ST6−2)。
エリア重要度計算モジュール124は、メモリ内のエリア番号の地図エリアが、地図DB102内に存在するか否かを判定し(ST6−3)、存在しなければ処理を終了するが、存在すれば、ステップST6−1で読み込んだユーザ走行エリアと、メモリ内のエリア番号に対応するエリア座標との距離を計算する(ST6−4)。
例えば、エリア重要度計算モジュール124は、図14にエリア番号を用いて示すように、メモリ内のエリア番号に対応するエリア座標に対し、ユーザ走行エリア内の各エリア座標との距離をそれぞれ計算して得られた各距離のうち、最小の距離DLをステップST6−4の計算結果とする。
続いて、エリア重要度計算モジュール124は、ステップST6−4の計算結果からエリア重要度を計算する(ST6−5)。
例えば、エリア重要度PA、距離DL、エリア間距離d(=X2−X1=Y2−Y1)、エリア重要度の最高値PAmaxとしたとき、エリア重要度PAを次式のように計算する。
PA=PAmax−DL/d (但し、PA≧0)
例えば、距離DLが0であれば、エリア重要度PAは、最高値PAmaxとなる。距離DLが0でなければ、エリア間距離dにより正規化され、エリア重要度PAが計算される。
但し、エリア重要度計算モジュール124は、この例に限らず、任意の計算式により、エリア重要度を計算できる。あるいは計算に限らず、予め保持した距離範囲−エリア重要度の対応テーブルからエリア重要度を読み出してもよい。
いずれにしても、エリア重要度を求めると、ステップST6−5が完了する。
エリア重要度計算モジュール124は、ユーザID、エリア番号、エリア座標及びエリア重要度を地図エリア重要度テーブル121aに保存し(ST6−6)、メモリ内のエリア番号をインクリメントして(ST6−7)、ステップST6−3から処理を再実行する。
[更新期間重要度計算動作ST7の詳細;図15]
更新期間重要度計算モジュール125は、図15に示すように、ユーザ地図更新情報DB105からユーザのユーザIDに対応する各エリアの更新年月日を読み込むと(ST7−1)、メモリ内のエリア番号を1に初期化する(ST7−2)。
更新期間重要度計算モジュール125は、メモリ内のエリア番号の地図エリアが、地図DB102内に存在するか否かを判定し(ST7−3)、存在しなければ処理を終了するが、存在すれば、現在の年月日と、ステップST7−1で読み込んだ更新年月日とから、未更新期間(=現在年月日−更新年月日)を計算する(ST7−4)。
更新期間重要度計算モジュール125は、この未更新期間から更新期間重要度を計算する(ST7−5)。
例えば、更新期間重要度PT、未更新期間t[日]としたとき、更新期間重要度PTを次式のように計算する。
PT=t/30
すなわち、未更新期間tを月単位に換算して更新期間重要度PTを計算している。但し、更新期間重要度計算モジュール125は、この例に限らず、任意の計算式により、更新期間重要度を計算できる。あるいは計算に限らず、予め保持した未更新期間−更新期間重要度の対応テーブルから更新期間重要度を読み出してもよい。
いずれにしても、更新期間重要度を求めると、ステップST7−5が完了する。
更新期間重要度計算モジュール125は、ユーザID、エリア番号、エリア座標及び更新期間重要度を更新期間重要度テーブル121bに保存し(ST7−6)、メモリ内のエリア番号をインクリメントして(ST7−7)、ステップST7−3から処理を再実行する。
[差分重要度計算動作ST8の詳細;図16]
差分重要度計算モジュール126は、図16に示すように、メモリ内のエリア番号を1に初期化する(ST8−1)。
差分重要度計算モジュール126は、メモリ内のエリア番号の地図エリアが、地図DB102内に存在するか否かを判定し(ST8−2)、存在しなければ処理を終了するが、存在すれば、ユーザ地図更新情報DB105からユーザのユーザIDに対応するエリア座標の地図の内容情報を地図DB102から取得する(ST8−3)。
また、差分重要度計算モジュール126は、地図DB102から当該エリア座標の最新バージョンの内容情報を取得する(ST8−4)。
しかる後、差分重要度計算モジュール126は、ステップST8−3とST8−4とで取得した内容情報の差分に基づき、差分重要度を計算する(ST8−5)。
例えば、差分重要度PD、高規格道路に関する差分df1(有:1、無:0)、その他の差分df2(有:1、無:0)、重み係数m1,m2(m1>m2)としたとき、差分重要度PDを次式のように計算する。
PD=m1・df1+m2・df2
すなわち、高規格道路に関する差分df1を重要視するように差分重要度PDを計算している。但し、差分重要度計算モジュール126は、この例に限らず、任意の計算式により、差分重要度を計算できる。あるいは計算に限らず、予め保持した差分−差分重要度の対応テーブルから差分重要度を読み出してもよい。
いずれにしても、差分重要度を求めると、ステップST8−5が完了する。
差分重要度計算モジュール126は、ユーザID、エリア番号、エリア座標及び差分重要度を差分重要度テーブル121cに保存し(ST8−6)、メモリ内のエリア番号をインクリメントして(ST8−7)、ステップST8−2から処理を再実行する。
[更新優先順位決定動作ST9の詳細;図17]
更新優先順位決定モジュール127は、図17に示すように、メモリ内のエリア番号を1に初期化する(ST9−1)。
更新優先順位決定モジュール127は、メモリ内のエリア番号の地図エリアが、地図DB102内に存在するか否かを判定し(ST9−2)、存在しなければステップST9−6に進むが、存在すれば、メモリ内のエリア番号に基づき、各重要度テーブル121a〜121cからエリア重要度、更新期間重要度、差分重要度を取得する(ST9−3)。
更新優先順位決定モジュール127は、エリア重要度、更新期間重要度及び差分重要度に基づき、総合差分重要度を計算する(ST9−4)。
例えば、エリア重要度PA、更新期間重要度PT及び差分重要度PDを互いに加算して総合重要度を計算する。
但し、更新優先順位決定モジュール127は、この例に限らず、任意の計算式により、総合重要度を計算することができる。いずれにしても、総合重要度を求めると、ステップST9−4が完了する。
更新優先順位決定モジュール127は、ユーザID、エリア番号、エリア座標及び総合重要度をメモリに保存し、メモリ内のエリア番号をインクリメントして(ST9−5)、ステップST9−2から処理を再実行する。
一方、ステップST9−2の判定の結果、メモリ内のエリア番号の地図エリアが存在しないとき、更新優先順位決定モジュール127は、メモリ内の各エリアの総合重要度の高い順に更新優先順位を決定する(ST9−6)。
しかる後、更新優先順位決定モジュール127は、更新優先順位をユーザ地図更新情報DB105に書き込んでステップST9の処理を終了する(ST9−7)。
上述したように本実施形態によれば、走行履歴に基づくユーザグループの走行エリアから計算されるエリア重要度に応じて地図情報を更新する構成により、現在は未使用でも将来は使用する可能性が高いエリアの地図情報をも更新することができる。
また、本実施形態は、エリア重要度の他に、更新期間重要度及び差異重要度にも基づいて地図情報を更新するので、エリア重要度が低い地図情報であっても、重要な更新があった地図情報を更新できる。このため、エリア重要度が低い地図情報を将来使用した場合にも、未更新による不都合を回避することができる。
補足すると、従来技術では、過去に走行済みの経路でも、長期間走行しないと地図が古いままで更新されないが、本実施形態では更新期間重要度に基づいて、長期間更新されていない古いエリアの情報(帰省など、久しぶりに訪問する場合の地図情報)を更新することができる。
さらに、新たな高規格道路が開通した区間の地図など、現在の地図と取得可能な地図の変更部分が大きい場合に、本実施形態では差異重要度に基づいて、変更の大きいエリアの情報を更新することができる。
また、本実施形態によれば、地図全体を更新する場合に比べ、更新データを低減でき、通信費、時間を抑制することができる。
(第2の実施形態)
図18は本発明の第2の実施形態に係る地図情報処理装置及びナビゲーション装置を備えたナビゲーションシステムの構成を示す模式図であり、図1と同一部分には同一符号を付してその詳しい説明を省略し、ここでは異なる部分について主に述べる。なお、以下の各実施形態も同様にして重複した説明を省略する。
本実施形態は、走行履歴に基づくユーザグループの走行エリアという観点から地図情報を更新した第1の実施形態とは異なり、居住地に基づくユーザグループの関連イベントという観点から地図情報を更新するものである。
ここで、地図情報処理装置100’は、データ処理ユニット130に接続された通信ユニット101、地図DB102’、ユーザDB106、ユーザグループ検索DB107、ユーザグループ走行DB108、イベント・観光地DB109及び差分管理DB110を備えている。
通信ユニット101は、前述同様に、データ処理ユニット130からナビゲーション装置200’に対してデータを送受信するための通信インタフェースである。
地図DB102’は、データ処理ユニット130及び通信ユニット101から読出/書込可能な記憶部であり、図19に示すように、地図IDと地図データに関する情報が格納されている。ここで、地図データに関する情報は、地図画像、道路情報、施設情報及び地名などである。道路情報は道路IDを含む。施設情報は施設ジャンルを含む。但し、施設ジャンルは任意の付加的事項であり、省略してもよい。換言すると、地図DB102’は、全体地図を各エリアに分割した各地図エリアに関し、地図IDと、道路IDを含む地図データとを含む地図情報を記憶したものとしてもよい。
ユーザDB106は、データ処理ユニット130及び通信ユニット101から読出/書込可能な記憶部であり、図20に示すように、ユーザグループテーブル106a及び利用者管理テーブル106bを記憶している。
ユーザグループテーブル106aは、ユーザID、ユーザが所属するグループID、ユーザの居住地情報(住所又は居所の郵便番号)、用途(私用又は社用)に関するデータを保持する。
利用者管理テーブル106bは、ユーザID、利用者性別、利用者年齢に関するデータを格納する。但し、利用者管理テーブル106bは、(本実施形態の地図情報の更新処理には用いないことから)任意の付加的事項であり、省略してもよい。換言すると、ユーザDB106は、全ユーザを分類した各グループに関し、ユーザID、グループID、居住地情報及び用途情報を記憶したものとしてもよい。
ユーザグループ検索DB107は、データ処理ユニット130及び通信ユニット101から読出/書込可能な記憶部であり、図21に示すように、グループID、ユーザID、検索した施設のジャンル、ジャンルごとの検索回数に関する情報を格納する。
ユーザグループ走行DB108は、データ処理ユニット130及び通信ユニット101から読出/書込可能な記憶部であり、図22に示すように、グループID、ユーザID、道路ID、走行回数に関する情報を格納する。
イベント・観光地情報DB109は、データ処理ユニット130及び通信ユニット101から読出/書込可能な記憶部であり、図23に示すように、イベントID、配信季節、種別、位置情報(地図ID、座標)、案内情報に関する情報を格納する。但し、配信季節は、(日付情報で代用可能なことから)任意の付加的事項であり、省略してもよい。換言すると、イベント・観光地情報DB109は、イベント又は観光地のそれぞれに関し、イベント内容又は観光地域を表す種別と、地図IDと、座標と、日付情報及び施設ジャンルのうちの少なくとも日付情報を含む案内情報とを含むイベント・観光地情報を記憶したものとしてもよい。
差分管理DB110は、データ処理ユニット130及び通信ユニット101から読出/書込可能な記憶部であり、図24に示すように、地図ID、バージョン、道路更新レベル、エリア座標、ファイル名に関する情報を格納する。
データ処理ユニット130は、図25に示すように、データ取得モジュール131、ユーザグループ決定モジュール132、更新モジュール134及び地図選択モジュール133を備えている。
データ取得モジュール131は、ナビゲーション装置200’又は図示しない管理者端末から通知された情報を判別し、各DB102’〜110に格納するものである。
ユーザグループ決定モジュール132は、ユーザをユーザ情報、走行履歴、検索履歴などの情報からグルーピングするものである。換言すると、ユーザグループ決定モジュール132は、受信した居住地情報及び用途情報が各グループのいずれに整合するかを決定し、当該決定したグループのグループIDと、受信したユーザID、居住地情報及び用途情報とを関連付けてユーザDB106に書き込む機能をもっている。また、ユーザグループ決定モジュール132は、受信したユーザID、道路ID、走行回数、施設ジャンル及び検索回数に基づいて新たにグループIDを決定し、当該決定したグループIDにより、ユーザDB106内のグループIDを更新する機能をもっている。さらに、ユーザグループ決定モジュール132は、更新したグループIDと、受信したユーザID、道路ID及び走行回数とに基づいて、ユーザグループ走行DB108を更新する機能と、更新したグループIDと、受信したユーザID、施設ジャンル及び検索回数とに基づいて、ユーザグループ検索DB107を更新する機能とをもっている。
地図選択モジュール133は、グループの走行傾向や季節ごとのイベント・観光地DB109から更新すべき地図情報を選択するものである。換言すると、地図選択モジュール133は、更新したユーザグループ走行DB108及び地図DB102’を参照し、受信したユーザIDのグループIDに関連する道路IDに対応する地図IDに基づいて、イベント・観光地DB109内のイベント・観光地情報を検索する機能と、現在日付に基づき、イベント・観光地DB109内のイベント・観光地情報を検索する機能と、これら検索により得られたイベント・観光地情報のうち、受信したユーザIDに対応するユーザグループ検索DB107内のグループIDに関連する施設ジャンルに適合しないイベント・観光地情報を除外し、残ったイベント・観光地情報内の地図IDに基づいて、地図DB102’内の地図情報を選択する機能とをもっている。
更新モジュール134は、地図DB102’内の地図情報及びイベント・観光地DB内のイベント情報を通信ユニット101からナビゲーション装置200’に送信するものである。具体的には、更新モジュール134は、地図選択モジュール133により選択した地図情報と、残ったイベント・観光地情報とを通信ユニット101からナビゲーション装置200’に送信する機能をもっている。
一方、ナビゲーション装置200’は、図26に示すように、地図DB202’、走行履歴DB205、検索履歴DB206、更新管理DB207、ユーザデータDB208、イベント・観光地情報DB209及びナビゲーション処理ユニット230を備えている。ナビゲーション処理ユニット230は、ユーザ情報送信モジュール231、地図表示モジュール232、更新モジュール233及び経路設定モジュール234を備えている。また、ナビゲーション処理ユニット230は、各モジュール231〜234から読出/書込可能なメモリ(図示せず)を有し、入出力データや計算途中のデータ等を保持可能としている。図示しないメモリを有することは以下の各実施形態のナビゲーション処理ユニットでも同様である。
ここで、地図DB202’は、ナビゲーション処理ユニット230及び通信ユニット201から読出/書込可能な記憶部であり、図27に示すように、地図ID、バージョン、地図データについての情報が格納されている。
走行履歴DB205は、ナビゲーション処理ユニット230及び通信ユニット201から読出/書込可能な記憶部であり、図28に示すように、道路ID、走行回数についての情報が格納されている。
検索履歴DB206は、ナビゲーション処理ユニット230及び通信ユニット201から読出/書込可能な記憶部であり、図29に示すように、検索した施設のジャンル、ジャンルごとの検索回数についての情報が格納されている。
更新管理DB207は、ナビゲーション処理ユニット230及び通信ユニット201から読出/書込可能な記憶部であり、図30に示すように、地図ID、更新日時についての情報が格納されている。
ユーザデータDB208は、ナビゲーション処理ユニット230及び通信ユニット201から読出/書込可能な記憶部であり、図31に示すように、ユーザデータテーブル208aと利用者テーブル208bの2つのテーブルを持つ。
ユーザデータテーブル208aは、ユーザ名、居住地、用途についての情報が格納されている。利用者テーブル208bは、利用者の性別、年齢についての情報が格納されている。
イベント・観光地DB209は、ナビゲーション処理ユニット230及び通信ユニット201から読出/書込可能な記憶部であり、図32に示すように、地図情報処理装置200’より受信したイベントID、位置情報(地図ID、座標)、イベント情報、更新年月日に関する情報が格納されている。
続いて、ナビゲーション処理ユニット230内の各モジュール231〜234について述べる。
ユーザ情報送信モジュール231は、ユーザの操作により、ユーザデータを入力して当該ユーザデータを通信ユニット201から地図情報処理装置200’に通知するものであり、走行、検索履歴をも通信ユニット201から地図情報処理装置200’に通知する機能をもっている。
地図表示モジュール232は、地図情報処理装置200’から送信された地図情報、イベント情報を表示するものであり、イベント情報についてはイベント期間後には表示しない機能をもっている。
更新モジュール233は、地図情報処理装置200’から送信された地図情報、イベント情報を各DB202’,209に書き込む機能をもっている。
経路設定モジュール234は、ナビゲーション装置における通常の経路設定機能と、イベント情報の検索により該当するイベント会場への経路設定機能とをもっている。
次に、以上のように構成されたナビゲーションシステムにおける地図情報更新動作を図33及び図34のフローチャートを用いて説明する。
(準備)
地図情報処理装置200’においては、管理者の操作により、図示しない管理者端末(図示せず)が、季節や日程に依存したイベント・観光地情報を定期的にイベント・観光地DB109に入力する(ST21)。
このとき、地図情報処理装置200’においては、管理者の必要に応じた操作により、管理者端末が、対象ユーザの性別及び年齢や、ナビゲーション装置200の用途などを示すターゲット情報をイベント・観光地DB109に入力する(ST22)。
また、管理者端末は、ターゲット情報の入力の際に、当該ターゲット情報に整合するユーザのナビゲーション装置200に表示されるターゲットユーザ用表示情報をイベント・観光地DB109に入力する。但し、ターゲット情報及びターゲットユーザ用表示情報は、必須ではなく、省略してもよい。
(地図情報更新動作)
ナビゲーション装置100’においては、ユーザ情報送信モジュール231が、初回起動時またはメニュー画面からユーザの入力要求を受け付けたとき(ST31;YES)、入力要求に応じてデータ入力フォームを表示する。入力要求がなければステップST36に進む。
ここで、データ入力フォームは、予め付与されたユーザIDに対し、居住地及び用途といったユーザデータの入力欄と、性別及び年齢といった利用者データの入力欄を有している。但し、利用者データの入力欄又は入力操作は省略してもよい。
ユーザ情報送信モジュール231は、ユーザの操作により、例えば、居住地(郵便番号)及び用途といったユーザデータを入力し(ST32)、ユーザID、居住地(郵便番号)及び用途を含むユーザデータを通信ユニット201から地図情報処理装置200’に送信する(ST33)。
地図情報処理装置200’においては、通信ユニット101によるユーザデータの受信後(ST34)、ユーザグループ決定モジュール132が、既存のユーザグループとのマッチングを行ってユーザグループを決定し(ST35)、決定したユーザグループのグループIDと、ユーザID、居住地及び用途とを関連付けてユーザグループテーブルに書き込む。ここで、ステップST35のユーザグループの決定は、受信した居住地及び用途に基づいて既存のユーザグループテーブルを検索することにより、当該居住地及び用途に対応するグループIDをユーザグループテーブルから読み出す処理を意味する。なお、ユーザグループの決定は、既存のユーザグループとのマッチングに限らず、例えば分類項目に応じた各桁を有するグループIDを用い、分類項目の分類結果に応じてグループIDの各桁の値を設定することにより、既存のユーザグループとは独立に実行してもよい。具体的には例えば、居住地の分類桁、用途の分類桁、後述する走行履歴の分類桁、検索履歴の分類桁、といった各桁の値をグループIDに設定し、設定完了と同時にユーザグループが決定されるようにしてもよい。
いずれにしてもユーザグループの決定により、地図の更新が可能となる。続いて、地図の更新動作について説明する。地図の更新は、例えば、季節毎の所定の更新日に基づいて実行するものとする。
ナビゲーション装置100’においては、ユーザ情報送信モジュール231が、現在日付が所定の更新日以後であるか否かを判定し(ST36)、所定の更新日より前であればステップST31に戻る。
一方、ステップST36の判定の結果、所定の更新日以後であれば、更にイベント・観光地DB209内の更新年月が更新日より前であれば未更新であるため、ユーザ情報送信モジュール231が、走行履歴DB内の走行履歴情報と、検索履歴DB内の検索履歴情報とを読出すことにより、ユーザID、道路ID、走行回数、施設ジャンル及び検索回数を通信ユニット201から地図情報処理装置200’に送信する(ST37)。
地図情報処理装置200’においては、通信ユニット201によりユーザID、道路ID、走行回数、施設ジャンル及び検索回数を受信すると(ST38)、ユーザグループ決定モジュール132が、受信したユーザID、道路ID、走行回数、施設ジャンル及び検索回数に基づいてユーザIDを再度グループ分けして新たにグループIDを決定し、当該決定したグループIDにより、ユーザグループテーブル106a内のグループIDを更新する(ST39)。このとき、ユーザグループ決定モジュール132は、更新したグループIDと、受信したユーザID、道路ID及び走行回数とに基づいて、ユーザグループ走行DB108を更新すると共に、更新したグループIDと、受信したユーザID、施設ジャンル及び検索回数とに基づいて、ユーザグループ検索DB107を更新する。
続いて、地図選択モジュール133は、更新後のユーザグループ走行DB108及び地図DB102’を参照し、受信したユーザIDのグループIDに関連する道路IDに対応する地図IDに基づいて、更新すべきイベント・観光地情報をイベント・観光地DB109から検索すると共に、現在日付に基づき、季節毎のイベント・観光地情報をもイベント・観光地DB109から検索する(ST40)。なお、道路IDに対応する地図IDは、地図DB102’内の道路情報(道路IDを含む)に基づいて、地図DB102’から読み出される。
ステップST40の終了後、地図選択モジュール133は、検索したイベント・観光地情報の地図IDと、ユーザの居住地からの距離と、ユーザグループ検索DB107内のユーザIDのグループIDに関連する施設ジャンルとに基づき、更新する地図情報を選択する(ST41)。例えば、地図選択モジュール133は、検索したイベント・観光地情報の地図IDに対応する地図情報のうち、居住地からの距離が所定距離より遠いものと、施設ジャンルに該当しないものとを除外し、残った地図情報を選択する。但し、居住地からの距離が遠いものを除外する処理は、遠隔地のイベント・観光地を訪れたい場合もある観点から、省略してもよい。また、居住地(郵便番号)は、図示しない居住地−地点座標変換テーブルにより、地点座標に変換可能であり、変換後の地点座標と、イベント・観光地情報内の座標との間の距離を算出可能となっている。
いずれにしてもステップST41の後、地図情報処理装置200’においては、更新モジュール134が、選択した地図情報とイベント・観光地情報とを通信ユニット101からナビゲーション装置100’に送信する(ST42)。
ナビゲーション装置200’においては、通信ユニット201により地図情報とイベント・観光地情報とを受信すると(ST43)、受信した地図情報により地図情報DB202’を更新すると共に(ST44)、受信したイベント・観光地情報によりイベント・観光地DB209を更新する。
しかる後、ナビゲーション装置200’においては、地図表示モジュール232が、地図情報DB202’内の地図情報と、イベント・観光地DB209内のイベント・観光地情報を表示する。
ここで、イベント・観光地情報がターゲット情報及びターゲットユーザ用表示情報を含む場合、地図表示モジュール232は、ターゲット情報がユーザデータDB208の各テーブル208a,208b内の情報に整合するか否かを判定し、整合する場合には、ターゲットユーザ用表示情報をも表示する。
また、地図情報の表示中、経路設定モジュール234は、ユーザの操作により、イベント・観光地情報の種別(例、花見)が入力されると、この種別に基づいて、イベント・観光地DB209を検索し、得られたイベント・観光地情報(例、D桜祭り)を表示する。
また、経路設定モジュール234は、ユーザの操作により、表示中のイベント・観光地情報が到着地として選択されると、この到着地に対する経路を設定することができる。
上述したように本実施形態によれば、道路ID、走行回数、施設ジャンル及び検索回数に基づいてグループIDを決定し、ユーザIDのグループIDに関連する道路IDに対応する地図IDに基づいて、地図情報を更新する構成により、現在は未使用でも将来は使用する可能性が高いエリアの地図情報をも更新することができる。
補足すると、本実施形態では、類似の行動範囲を持つユーザをグループ分けし、グループごとの走行データ、検索データよりその傾向を分析し、さらにその時期の観光・イベント情報、車の用途を元にユーザグループの行き先を予測することで、将来走行、検索する可能性の高い地図を自動的に更新することができる。
また、本実施形態では、イベント周辺の地図だけではなく、イベントの情報も文字列として渡すことによってユーザにより深い情報と、宣伝効果を与えることができる。宣伝効果については、ターゲット情報を用いる場合、より一層の向上を期待することができる。
また、本実施形態では、イベント情報を画面に表示する構成により、ユーザにとっては車に乗ってから行き先を決めることが容易になり、イベント開催者にとっては当該イベントを宣伝することが可能になる。例えば、「花見」という漠然とした目的(種別)の入力に応じて目的地を探し出す処理や、種別(に該当するキーワード)の入力により企業主催の展示会やイベントを表示する処理が可能となるので、経路検索の利便性を向上させることができる。
(第3の実施形態)
図35は本発明の第3の実施形態に係る地図情報処理装置及びナビゲーション装置を備えたナビゲーションシステムの構成を示す模式図である。
本実施形態は、第1及び第2の実施形態とは異なり、出発地エリア及び半径圏内に基づくユーザグループの到着地(目的地)エリアという観点から地図情報を更新するものである。
ここで、地図情報処理装置100”は、データ処理ユニット140に接続された通信ユニット101、地図DB102、ユーザ走行履歴DB111、差分管理DB110”及び更新履歴DB112を備えている。データ処理ユニット140は、走行履歴受信モジュール141、マッチングモジュール142、判定モジュール143及び地図DB更新モジュール144を備えている。
通信ユニット101は、前述同様に、データ処理ユニット140からナビゲーション装置200’に対してデータを送受信するための通信インタフェースである。
地図DB102は、データ処理ユニット140及び通信ユニット101から読出/書込可能な記憶部であり、図2に示したように、地図ID毎に、エリア番号、エリア座標、バージョン、地図データ及びファイル名を互いに関連付けて記憶している。
ユーザ走行履歴DB111は、データ処理ユニット140及び通信ユニット101から読出/書込可能な記憶部であり、各ユーザのナビゲーション装置200から走行履歴を集めたものであって、図36に示すように、通し番号として履歴No、出発日時、出発地点のエリア座標、目的地(到着地)の到着日時、到着地点のエリア座標を含む走行履歴情報が格納されている。但し、履歴No、出発日時、到着日時は、(本実施形態の地図更新処理には用いないことから)任意の付加的事項であり、省略してもよい。換言すると、ユーザ走行履歴DB111は、全ユーザに関し、出発地のエリア座標及び到着地のエリア座標を含む走行履歴情報を記憶するものとしてもよい。
差分管理DB110”は、データ処理ユニット140及び通信ユニット101から読出/書込可能な記憶部であり、図37に示すように、エリア番号、バージョン、エリア座標及びファイル名を互いに関連付けて記憶している。
更新履歴DB112は、データ処理ユニット140及び通信ユニット101から読出/書込可能な記憶部であり、図38に示すように、エリア番号、バージョン、ファイル名、更新日及び今回の更新対象フラグを互いに関連付けて記憶している。なお、今回の更新対象フラグは、単に「更新対象フラグ」と呼んでもよい。
続いて、データ処理ユニット140内の各モジュール141〜144について述べる。
走行履歴受信モジュール141は、ナビゲーション装置200”から通信ユニット101により受けた走行履歴情報をユーザ走行履歴DB111に書き込むものである。
マッチングモジュール142は、更新履歴DB112内の更新履歴情報により前回更新日から1週間経過したデータを取り込み、取り込んだデータのうち、目的のユーザのエリアを特定し、そのエリアに属する他の複数のユーザの到着地点(目的地)であって件数の増加した到着地点(目的地)のみ抽出し、抽出された到着地点(目的地)までのエリアの地図データを今回の更新情報とするものである。なお、「1週間」は一例であり、任意の所定期間が使用可能となっている。換言すると、マッチングモジュール142は、更新履歴DB112内の更新履歴情報のうち、前回更新日から所定期間経過した更新履歴情報のみを抽出し、当該抽出した更新履歴情報内の更新対象フラグを有効とする(フラグを立てる)機能と、更新対象フラグが有効である更新履歴情報内のエリア番号に対応する地図DB102内のエリア座標のうち、ユーザ走行履歴DB111内の走行履歴情報で最も多い出発地のエリア座標を中心として所定の半径に含まれるエリア座標を特定する機能と、特定したエリア座標に基づいて、ユーザ走行履歴DB111内の走行履歴情報から到着地のエリア座標を抽出し、この抽出したエリア座標を件数の多い順にソートする機能と、このソートした結果から所定の上位件数の到着地のエリア座標のうち、前週の上位件数よりも件数が増加したエリア座標を抽出する機能と、特定したエリア座標と、当該抽出したエリア座標との間の各エリアの地図情報を今回の更新対象として選択する機能とをもっている。
判定モジュール143は、マッチングモジュール142により今回の更新対象とされた地図情報のうち、更新履歴情報内のバージョンと、差分管理情報内のバージョンとを比較し、差分管理情報内のバージョンの方が新しいとき、当該新しいバージョンと判定した差分管理情報内のファイル名を地図DB更新モジュール144に通知する機能をもっている。
地図DB更新モジュール144は、地図DB102を参照し、判定モジュール143から通知されたファイル名の地図情報(更新ファイル)を通信ユニット101からナビゲーション装置200”に送信するものである。
ナビゲーション装置200”は、図35に示したように、ナビゲーション処理ユニット240に接続された通信ユニット201、地図DB202及び走行履歴DB210を備えている。ナビゲーション処理ユニット240は、走行履歴送信モジュール241及び地図更新モジュール242を備えている。
ここで、通信ユニット201及び地図DB202は、第1の実施形態と同様のものである。
走行履歴DB210は、ナビゲーション処理ユニット240及び通信ユニット201から読出/書込可能な記憶部であり、通し番号として履歴No、出発日時、出発地点の座標、目的地(到着地)の到着日時、到着地点の座標を含む走行履歴情報が格納されている。
走行履歴送信モジュール241は、走行履歴DB210内の走行履歴情報を通信ユニット201により地図情報処理装置100”に送信するものである。
地図更新モジュール242は、地図情報処理装置100”から通信ユニット201により受けた地図情報の更新ファイルを地図DB201に更新するものである。
次に、以上のように構成されたナビゲーションシステムにおける地図情報更新動作を図39及び図40のフローチャートを用いて説明する。
地図情報処理装置100”においては、マッチングモジュール142が、更新履歴DB112内の更新履歴情報を更新日順にソートする(ST51)。
マッチングモジュール142は、前回更新日から1週間経過した更新履歴情報のみを抽出し(ST52)、今回の更新対象フラグを“1”にして当該フラグを立てる(ST53)。
マッチングモジュール142は、更新履歴DB112から今回の更新対象フラグが“1”の更新履歴情報を読み込む。なお、更新履歴DB112内で更新対象フラグを立てた後に更新履歴DB112から更新履歴情報を読み込む場合に限らず、更新履歴DB112から更新履歴情報を読み込んだ後に更新対象フラグを立ててもよい。
いずれにしてもマッチングモジュール142は、更新対象フラグが有効である更新履歴情報内のエリア番号のうち、対象ユーザが属するエリアを特定する(ST61)。具体的には、マッチングモジュール142は、更新対象フラグが有効である更新履歴情報内のエリア番号に対応する地図DB102内のエリア座標のうち、ユーザ走行履歴DB111内の走行履歴情報で最も多い出発地のエリア座標を中心として所定の半径に含まれる出発地のエリア座標を特定する。
マッチングモジュール142は、特定したエリア座標に属する全ユーザの走行履歴情報から到着地エリアのエリア座標を抽出し(ST62)、抽出した到着地エリアのエリア座標を件数の多い順にソートする(ST63)。
マッチングモジュール142は、ソートした結果から上位10件について、前週の10件と比較し、件数の増加した到着地エリアのエリア座標のみを抽出する(ST64)。なお、「上位10件」は一例であり、任意の上位件数が使用可能である。
マッチングモジュール142は、ステップST61で特定したエリアのエリア座標と、ステップST64で抽出したエリア座標との間の各エリアの地図情報を今回の更新情報とする(ST65)。
判定モジュール143は、今回の更新情報の地図情報のうち、更新履歴情報内のバージョンと、差分管理情報内のバージョンとを比較し、差分管理情報内のバージョンの方が新しいとき(ST66;YES)、当該新しいバージョンと判定した差分管理情報内のファイル名を地図DB更新モジュール144に通知する。
地図DB更新モジュール144は、地図DB102を参照し、判定モジュール143から通知されたファイル名の地図情報(更新ファイル)を通信ユニット101からナビゲーション装置200”に送信する(ST67)。
ナビゲーション装置200”においては、地図更新モジュール242が、通信ユニット201により受けた地図情報の更新ファイルを地図DB201に更新する。
上述したように本実施形態によれば、走行履歴情報内で最も多い出発地のエリア座標を中心として所定の半径に含まれるエリア座標とこのエリア座標に対応する到着地のエリア座標をグループ化し、これらエリア座標間の地図情報を更新する。すなわち、出発地エリア及び半径圏内に基づくユーザグループの到着地エリアから地図情報を更新する構成により、現在は未使用でも将来は使用する可能性が高いエリアの地図情報をも更新することができる。
補足すると、マッチングモジュール142により、目的のユーザと同じエリアに属する複数のユーザの走行状況を分析することで、目的のユーザが将来走行する可能性の高い部分の情報を更新することができる。
なお、上記実施形態に記載した手法は、コンピュータに実行させることのできるプログラムとして、磁気ディスク(フロッピー(登録商標)ディスク、ハードディスクなど)、光ディスク(CD−ROM、DVDなど)、光磁気ディスク(MO)、半導体メモリなどの記憶媒体に格納して頒布することもできる。
また、この記憶媒体としては、プログラムを記憶でき、かつコンピュータが読み取り可能な記憶媒体であれば、その記憶形式は何れの形態であっても良い。
また、記憶媒体からコンピュータにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているOS(オペレーティングシステム)や、データベース管理ソフト、ネットワークソフト等のMW(ミドルウェア)等が上記実施形態を実現するための各処理の一部を実行しても良い。
さらに、本発明における記憶媒体は、コンピュータと独立した媒体に限らず、LANやインターネット等により伝送されたプログラムをダウンロードして記憶または一時記憶した記憶媒体も含まれる。
また、記憶媒体は1つに限らず、複数の媒体から上記実施形態における処理が実行される場合も本発明における記憶媒体に含まれ、媒体構成は何れの構成であっても良い。
尚、本発明におけるコンピュータは、記憶媒体に記憶されたプログラムに基づき、上記実施形態における各処理を実行するものであって、パソコン等の1つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であっても良い。
また、本発明におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本発明の機能を実現することが可能な機器、装置を総称している。
なお、本願発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組合せてもよい。