以下、図面を用いて本発明の実施の形態を説明する。
図1は、本発明の実施形態の地図データ配信システムの構成を示すブロック図である。
本実施形態の地図データ配信システムは、ネットワーク40に接続された地図配信サーバ10と、ネットワーク40を介して地図配信サーバ10と通信するナビゲーション端末20と、を備える。
地図配信サーバ10は、互いに接続されたプロセッサ16、メモリ17、ネットワークインターフェース(I/F)18、管理データ記憶部11、更新データ記憶部12及び地図データ記憶部19を備える計算機である。
プロセッサ16は、メモリ17に格納されたプログラムを実行する。
メモリ17は、例えば半導体メモリであり、プロセッサ16によって実行されるプログラム、プロセッサ16によって参照されるデータ、及びプロセッサ16から出力されたデータ等を格納する。本実施形態のメモリ17には、少なくとも、プロセッサ16によって実行されるプログラムである更新データ抽出部14及び更新データ管理部15が格納される。プロセッサ16がプログラムを実行することによって実現される処理については後述する。以下の説明において更新データ抽出部14等が実行する処理は、実際には、プロセッサ16が更新データ抽出部14等のプログラムに従って実行する。
ネットワークI/F18は、ネットワーク40に接続され、ナビゲーション端末20等と通信する。
管理データ記憶部11、更新データ記憶部12及び地図データ記憶部19は、それぞれがハードディスクドライブ(HDD)又はフラッシュメモリのような記憶装置であってもよいし、一つの記憶装置内の記憶領域であってもよい。
地図データ記憶部19には、地図データが格納される。地図データは、地図の構成物(地物)の位置及び形状を示す座標値等を含む。現実の地物は随時更新される。その一例は、道路の新設、廃止又は付け替えのような道路ネットワークの更新である。地図データは、過去のある時点における地物に関する情報、及び、それより後の時点における地物に関する情報(言い換えると、旧バージョンの地図データ及び新バージョンの地図データ)を含んでもよい。
なお、一般に地図データは、地図上の所定の矩形の範囲ごとに管理される。この矩形の範囲は、パーセル又はメッシュと呼ばれる。各パーセルには固有の識別子(パーセルID)が付与される。
更新データ記憶部12には、地物を単位とする地図更新データ(地図情報及び道路ネットワーク情報を含む)が格納される。地図更新データは、例えばナビゲーション端末20があるバージョンの地図データを保持している場合に、それをより新しいバージョンの地図データに更新するために作成及び送信されるデータであり、具体的には、少なくともこれらのバージョンの差分データを含む。具体的には、更新データ記憶部12には、少なくとも、地図データの更新を指示する情報を含む更新エレメント、及び、更新エレメントが指示する更新の内容をさらに変更する情報を含む補正エレメントが格納される。これらの詳細については後述する(図9B参照)。
管理データ記憶部11には、地図更新データを管理するための情報が格納される。例えば、管理データ記憶部11には、地図更新データのバージョン(すなわち差分の世代)を示す情報、及び、地図更新データが適用されるべき位置を示すパーセルID等が格納される。さらに、本実施形態の管理データ記憶部11には、少なくとも、更新権利管理テーブル1000(図10参照)、更新エレメント管理テーブル1100(図11参照)及び補正エレメント管理テーブル1200(図12参照)が格納される。これらの詳細については後述する。
ナビゲーション端末20は、ユーザを目的地まで誘導するために、経路検索及び検索結果の出力等を行う移動端末であり、例えば、自動車に搭載される車載用ナビゲーション端末又は歩行者に携帯される歩行者用ナビゲーション端末である。後者の場合、ナビゲーション端末20は、ナビゲーション用のアプリケーションソフトウェアが組み込まれた携帯電話機等であってもよい。
図1では省略されているが、一般に、地図データ配信システムは、複数のナビゲーション端末20を含む。また、本実施形態では、端末装置の典型的な例としてナビゲーション端末20を示すが、地図情報を保持して利用するものである限り、いかなる種類の端末装置にも本発明を適用することができる。
本実施形態のナビゲーション端末20は、互いに接続されたプロセッサ28、メモリ29、ネットワークI/F21、画面入出力I/F25、管理データ記憶部26及び地図データ記憶部27を備える。
プロセッサ28は、メモリ29に格納されたプログラムを実行する。
メモリ29は、例えば半導体メモリであり、プロセッサ28によって実行されるプログラム及びプロセッサ28によって参照されるデータ等を格納する。本実施形態のメモリ29には、プロセッサ28によって実行されるプログラムである配信要求部22、地図更新部23及びナビゲーション処理部24が格納される。
配信要求部22は、地図更新データ配信要求を地図配信サーバ10に送信する。地図更新部23は、配信された地図更新データを用いて、地図データ記憶部27に格納された地図データを更新する。これらの処理については後述する。以下の説明において配信要求部22、地図更新部23及びナビゲーション処理部24によって実行される処理は、実際にはプロセッサ28が各プログラムに従って実行する。
ナビゲーション処理部24は、地図データ記憶部27に格納された地図データに基づいて、目的地までの経路を検索し、その経路に沿ってユーザを誘導する。このような経路検索及び誘導は従来の車載用ナビゲーション端末と同様に公知の方法によって実行できるため、これらに関する詳細な説明は省略する。
画面入出力I/F25は、ユーザに対して地図情報等を表示する画面と、ユーザからの入力を受け付ける入力装置と、を含む。例えば、画面入出力I/F25は、液晶表示装置及びキーボード等であってもよいし、タッチパッド付きの液晶表示装置であってもよい。
ネットワークI/F21は、無線通信装置30に接続される。無線通信装置30は、ネットワーク40に接続された無線基地局31と無線通信を行う。ネットワークI/F21は、無線通信装置30、無線基地局31及びネットワーク40を介して地図配信サーバ10との間の通信を実行する。後述する地図データ配信要求の送信及び地図更新データの受信はこのような通信によって実現される。
なお、無線通信装置30は、ナビゲーション端末20に内蔵されてもよい。
管理データ記憶部26及び地図データ記憶部27は、それぞれがハードディスクドライブ(HDD)又はフラッシュメモリのような記憶装置であってもよいし、一つの記憶装置内の記憶領域であってもよい。
地図データ記憶部27には、ナビゲーション処理部24によって参照される地図データが格納される。この地図データは、地図配信サーバ10から送信された地図更新データに基づいて更新される。
管理データ記憶部26には、地図データを管理するための情報が格納される。例えば、管理データ記憶部26には、ナビゲーション端末20自身の位置がどのパーセルに属するかを示す緯度経度−パーセルID対応情報、及び、地図に適用した地図更新データの識別情報等が格納される。
ネットワーク40はインターネット41に接続される。地図配信サーバ10は、インターネット41を介して新しいバージョンの地図データを取得してもよい。
続いて、地図データの更新の概要を説明する。
図2は、従来の更新エレメントを用いた地図データの更新の説明図である。
ここでは、例として、東京都に属するパーセル307と、それに隣接する千葉県に属するパーセル308とに跨る道路が新設され、その道路に対応する情報が追加される例を示す。なお、東京都及び千葉県は、地上に(及びそれに対応する地図上に)区切られた領域の例であり、これらは任意の領域、典型的には行政区画又は国によって置き換えることができる。例えば、ヨーロッパのように多くの国の国境が陸上にある場合、パーセル307がある国に属し、パーセル308がそれに隣接する別の国に属してもよい。
厳密に言えば、一般にパーセルの境界と都県境(又は国境)とは一致しないが、本実施形態ではデータを管理する便宜上、各パーセルがいずれかの都又は県に属するものとして扱われる。
一般に、地図データは種々の地物に関する情報を含むが、本発明はそれらのうち道路に関する情報の更新を対象としている。このため、以下、地図データとして道路に関する情報を説明し、その他の地物に関する説明は省略する。
周知のように、道路は、複数のノードと、それらを接続するリンクと、からなるネットワークとして記述され、それが地図データとして格納される。ノードは、一般には複数の道路の交差点に対応するが、道路上の交差点以外の点に対応する場合もある。例えばパーセルの境界線と道路とが交差する点もノードとして記述される。リンクは、二つのノードに対応する二つの地点を接続する道路の区間に対応する。各ノード及びリンクを記述する情報は、それぞれ地図データ内のノードテーブル及びリンクテーブルに含まれる。これらのテーブルの構造については後述する(図4B等参照)。
図2の例では、旧バージョンの地図データ201におけるパーセル307がノード410、411、412、リンク413及び414を含み、パーセル308がノード420、421、422、リンク423及び424を含む。リンク413はノード410と411とを接続し、リンク414はノード410と412とを接続し、リンク423はノード420と421とを接続し、リンク424はノード420と422とを接続する。なお、説明の便宜上、ノード411及び412をパーセル307に含まれるノードとして記載しているが、正確には、これらのノードはパーセル307とそれに隣接するパーセル(図示省略)との境界線上のノードである。ノード421及び422も同様に、パーセル308とそれに隣接するパーセルとの境界線上のノードである。
一方、新バージョンの地図データ202では、ノード402、リンク401及び403が追加されている。リンク401はノード402と410とを接続し、リンク403はノード402と420とを接続する。ノード402はパーセル307と308との境界線上のノードである。新たに追加されたノード及びリンクは、ノード410とノード420とを接続する。これは、ノード410に対応する地点とノード420に対応する地点とを接続する道路が新設されたことを意味する。
一般に、地図データは、現実の道路の変更が反映されるように所定のタイミングで(例えば数ヶ月ごとに)更新される。更新された地図データは、例えば、地図情報を扱う出版社によって作成され、インターネット41を介して提供される。新しい地図データが提供された場合、地図配信サーバ10の地図データ記憶部19には、更新される前の(すなわち旧バージョンの)地図データ201と、更新された後の(すなわち新バージョンの)地図データ202の両方が格納される。
その時点で、ナビゲーション端末20の地図データ記憶部27には旧バージョンの地図データ201が格納されており、新バージョンの地図データ202は格納されていない。配信要求部22は、地図データ配信要求を地図配信サーバ10に送信し、それに応じて送信された地図データ(すなわち更新データ)を用いて地図更新部23が地図データ記憶部27内の地図を新バージョンに更新する。地図データ配信要求は、種々のイベント、例えば前回の配信から所定の時間が経過したこと、所定の日時が到来したこと、ユーザから更新要求を入力されたこと、などを契機として送信され得る。
地図データがノード及びリンクによって記述されるため、地図データの更新は、新たなノード若しくはリンクの追加、既存のノード若しくはリンクの削除、又は、既存のノード若しくはリンクを記述する情報の変更、のいずれか、又はそれらの組み合わせによって記述することができる。送信される更新データは、このようにして記述された情報を含む。
地図データの更新を実行する具体的な方法の一例として、パーセルごとの更新が挙げられる。例えば、配信要求部22が更新対象のパーセルの指定を含む地図データ配信要求を地図配信サーバ10に送信し、地図配信サーバ10は指定されたパーセルの更新データを送信する。
しかし、パーセルごとの更新が行われた場合、例えば東京都側のノード410、402及びリンク401は更新されたが、千葉県側のノード420及びリンク403は更新されていない状態が出現し得る。その状態の地図データは、リンクの途切れ、例えば、ノード402は二つのリンクに接続されていることを示す情報を含むが、実際には一つのリンクの情報しか地図データ記憶部27に格納されていない、といった矛盾を含んでいる。このような矛盾を含む地図データを用いると、誤ったデータが参照されることによって、経路探索が正常に終了しない場合がある。
このような矛盾を防ぐための更新方法として、更新エレメントごとの更新が知られている。更新エレメントは、連続したリンク及びそれらが接続されたノードに関する更新データの集合であり、これが地図データの更新単位として使用される。図2の例では、ノード402の追加、リンク401及び403の追加、及び、ノード410及び420を記述する情報の変更、を示す更新エレメント430が更新データ抽出部14によって作成され、これが地図配信サーバ10からナビゲーション端末20に送信される。
更新エレメントごとに地図データを更新することによって、上記のような地図データの矛盾の発生を防止することができる。しかし、実際には、連続したリンク等の更新のうち一部のみを実行することが望まれる場合もある。その一例は、更新データ(言い換えると、地図データを更新する権利)を都道府県又は国等の領域ごとに販売したい場合である。例えばヨーロッパのように国境を跨る道路ネットワークが存在する領域において、国ごとに更新データを販売したいというニーズがあり得る。
別の一例は、地図データの更新時間が制限される場合である。一般にナビゲーション端末20は潤沢なハードウェア資源を持たないため、地図データの更新を実行している間、地図データを使用する機能(例えば経路探索等)を使用できなくなるか、又は速度が大幅に低下するなどの制約を受ける。このため、地図データの更新は、経路探索等が実行されない時間帯(例えば夜間又は休憩中など)に実行されることが望ましい。しかし、更新エレメントのデータ量が多いために上記の時間帯に更新が終了しない場合もあり、そのような場合には連続したリンク等の更新データを含む一つの更新エレメントを複数に分割することが望まれる。
本発明の実施形態では、このようなニーズに対応するため、以下に説明する更新方法が採用される。
図3は、本発明の実施形態の地図データ配信システムにおいて実行される、補正エレメントを用いた地図更新の説明図である。
図3において、旧バージョンの地図データ201及び新バージョンの地図データ202は、いずれも図2に示したものと同じである。ただし、新バージョンの地図データ202の更新箇所をナビゲーション端末20に反映させるための更新エレメントは図2に示したものと異なる。具体的には、図3において、地図データ202の更新箇所を反映させるための更新エレメントは、更新エレメント1_431、更新エレメント2_432、更新エレメント3_433、補正エレメント1_434及び補正エレメント2_435からなる。
なお、図2に示した従来の更新エレメントは、例えば非特許文献1にも記載されているように、更新後の地図データに矛盾を生じさせない更新データの最小単位であった。一方、図3に示す本実施形態の更新エレメントは、単に更新データの管理単位であり、更新エレメントごとに更新を行っても更新後の地図データに矛盾が残る場合がある。更新後の地図データに矛盾を残さないためには、後述するように、複数の更新エレメント又は更新エレメントと補正エレメントを適切に組み合わせることが求められる場合がある。
更新エレメント1_431、更新エレメント2_432及び更新エレメント3_433は、それぞれ、図2に示した更新エレメント430の一部に相当する。すなわち、更新エレメント1_431はリンク401の追加及びノード410の変更を記述する情報を含み、更新エレメント2_432はノード402の追加を記述する情報を含み、更新エレメント3_433はリンク403の追加及びノード420の変更を記述する情報を含む。
更新エレメント1_431から更新エレメント3_433までの全てを用いてナビゲーション端末20の地図データを更新した場合、その結果は、更新エレメント430を使用した結果と同じになり、地図データの矛盾は発生しない。ただし、これらの三つの更新エレメントのうち最初の一つに基づく更新が開始されてから、最後の一つに基づく更新が終了するまでの間は、一時的に地図データの矛盾が発生し得るため、その間に地図データを参照する処理(経路探索等)を実行しないように、ナビゲーション端末20を制御する必要がある。
一方、これらの三つの更新エレメントの一部のみに基づいて地図データを更新した場合、既に説明したように、地図データの矛盾が発生する。補正エレメント1_434及び補正エレメント2_435は、このような場合に発生した地図データの矛盾を解消するために使用される。
例えば、更新エレメント1_431及び更新エレメント2_432に基づく更新を行い、更新エレメント3_433に基づく更新は行わなかった場合、更新後の地図データには、ノード402を記述する情報として、ノード402にリンク401及び403の二つが接続されることを示す情報が含まれるが、リンク403そのものを記述する情報は含まれない。このような矛盾を解消するため、補正エレメント1_434は、ノード402を記述する情報から、ノード402にリンク403が接続されることを示す情報を削除する指示を含む。同様に、補正エレメント2_435は、ノード402を記述する情報から、ノード402にリンク401が接続されることを示す情報を削除する指示を含む。このような本実施形態の更新エレメント及び補正エレメントの詳細な内容については後述する。
なお、図3では、便宜上、補正エレメントを更新エレメント近傍の破線の楕円によって示しているが、その内容は、上記のように、更新エレメントに含まれる情報の補正(削除又は追加等)を指示する情報である。
図4は、本発明の実施形態の地図データ配信システムにおいて使用される地図データに含まれる道路ネットワークのデータ構造の説明図である。
図4には、例として、ノード100〜103及びリンク110〜112からなるネットワークを示す。ここで、リンク110はノード100及び103を、リンク111はノード100及び101を、リンク112はノード100及び102を接続する。
このようなネットワークは、ノードテーブル440及びリンクテーブル460に格納されたデータによって記述される。これらのテーブルのデータ構造は、従来のものと同様であってよいため、詳細な説明は省略するが、概要を説明すると次の通りである。
例えば、ノード100は、ノードテーブル400に格納されたノードデータレコード441Aによって記述される。
ノードデータレコード441Aは、ノードID451A、ノード属性452A、リンク数453A、リンクID454A、リンクID455A及びリンクID456Aを含む。
ノードID451Aとして、ノードデータレコード441Aが記述するノード(以下、「当該ノード」とも記載する。ノードデータレコード441Aの場合、当該ノードはノード100である)の識別子(ID)が格納される。本実施形態では、説明の便宜上、ノードの参照符号と同じ値をノードの識別子として使用する。すなわち、当該ノード(ノード100)の識別子「100」がノードID451Aとして格納される。
ノード属性452Aとして、当該ノードの属性を示す情報が格納される。
リンク数453Aとして、当該ノードに接続されたリンクの数を示す値が格納される。図4の例では、ノード100に三つのリンクが接続されているため、リンク数453Aとして「3」が格納される。
リンクID454AからリンクID456Aとして、当該ノードに接続されたリンクの識別子が格納される。本実施形態では、ノードの場合と同様、リンクの参照符号と同じ値がリンクの識別子として使用される。図4の例では、ノード100に接続された三つのリンクの識別子「110」、「111」及び「112」がそれぞれリンクID454A、リンクID455A及びリンクID456Aとして格納される。リンクID454AからリンクID456Aは、各リンクを記述するリンクデータレコードが格納された領域のアドレスを示す値(ポインタ等)を含む。例えば、リンクID454Aの値に基づいて、リンク110を記述するリンクデータレコード461A(後述)を参照することができる。
なお、ノード101、102及び103を記述するノードデータレコードの図示は省略するが、それらのデータ構造は、ノードデータレコード441Aのデータ構造と同様である。
一方、リンク110、111及び112は、それぞれ、リンクテーブル460に格納されたリンクデータレコード461A、461B及び461Cによって記述される。
リンクデータレコード461Aは、リンクID471A、リンク属性472A、リンクコスト473A、リンク形状474A及び接続ノードID475Aを含む。
リンクID471Aとして、リンクデータレコード461Aが記述するリンク(ここでは当該リンクと記載する)の識別子が格納される。すなわち、当該リンク(この例ではリンク110)の識別子「110」がリンクID471Aとして格納される。
リンク属性472Aとして、当該リンクの属性を示す情報が格納される。当該リンクの属性を示す情報の一例は、通行規制(例えば通行可能か否か、及び、通行可能な時間帯等)を示す情報である。
リンクコスト473Aとして、当該リンクに対応する区間の長さ又はその区間を通過するために要する時間等が格納される。
リンク形状474Aとして、当該リンクの形状を示す値、例えば、座標値の列が格納される。
接続ノードID475Aとして、当該リンクによって接続されるノードの識別子が格納される。図4の例ではリンク110がノード103に接続されるため、接続ノードID475Aとして「103」が格納される。
なお、図4では、二つのノードを接続する一つの区間に対応して一つのリンクが図示されているが、実際には、図示された各リンクは、互いに対向する方向の二つの片方向リンクの組に相当する。図2及び図3等についても同様である。リンクテーブル460に含まれる各リンクデータレコードは、各片方向リンクを記述する。
例えば、ノード103とノード100とを接続するリンク110は、実際には、ノード100を始点とし、ノード103を終点とする方向のリンク(すなわち、リンク110に対応する道路の区間における、当該方向の通行に対応するリンク)と、その逆方向のリンクと、の組に相当する。リンクデータレコード461Aは、ノード100を記述するノードデータレコード441AのリンクID454Aから参照され、リンクデータレコード461A内の接続ノードID475Aとしてノード103の識別子が格納される。これは、リンクデータレコード461Aが、リンク110に相当する二つの片方向リンクのうち、ノード100からノード103への方向のリンクを記述していることを意味する。
図4では省略されているが、リンクテーブル460は、リンク110に相当する二つの片方向リンクのうち、残る一方向のリンクを記述するリンクデータレコードも含む。そのリンクデータレコードは、ノード103を記述するノードデータレコード(図示省略)内のリンクID(図示省略)から参照され、接続ノードIDの値「100」を含む。
道路の区間によっては、通行方向ごとに適用される通行規制及びコストが異なる場合があり(例えば一方通行等)、その場合は、図示された一つのリンクに対応する二つのリンクデータレコードのリンク属性及びコストの値が異なる。例えば、リンク110が一方通行区間である場合、リンク110に対応する二つのリンクデータレコードのうち一方のリンク属性として通行可能の属性が、もう一方のリンク属性として通行禁止の属性が与えられる。
リンクデータレコード461B及び461Cのデータ構造もリンクデータレコード461Aと同様であるため、それらの詳細な説明は省略する。リンクデータレコード461Bは、ノードデータレコード441AのリンクID455Aから参照され、リンクID471Bの値「111」及び接続ノードID475Bの値「101」を含む。リンクデータレコード461Cは、ノードデータレコード441AのリンクID456Aから参照され、リンクID471Cの値「112」及び接続ノードID475Cの値「102」を含む。
なお、リンクデータレコード461Bは、リンク111のノード100から101への方向の通行を記述するものであり、リンクデータレコード461Cは、リンク112のノード100から102への方向の通行を記述するものである。図4では省略されているが、それぞれのリンクの逆方向の通行を記述するリンクデータレコードもリンクテーブル460に含まれる。
次に、図3を参照して説明した地図データの更新を、ノードテーブル及びリンクテーブルを参照しながら具体的に説明する。
図5は、本発明の実施形態における更新前の道路ネットワークのデータ構造の説明図である。
具体的には、図5は、図3の旧バージョンの地図データ201を記述するノードテーブル440及びリンクテーブル460を示す。これらのデータ構造は図4を参照して説明したものと同様であるため、以下、地図データの更新を説明するために必要な項目のみを説明し、その他の項目の説明は省略する。図6以降のテーブルについても同様である。
図5に示すノードテーブル440は、ノード410を記述するノードデータレコード441B及びノード420を記述するノードデータレコード441Cを含む。ノードテーブル440は、さらにノード411、412、421及び422を記述するノードデータレコードも含むが、これらの図示は省略する。
ノードデータレコード441BのノードID451Bとして、ノード410の識別子「410」が格納される。ノード410には二つのリンクすなわちリンク413及び414が接続されるため、ノードデータレコード441Bのリンク数453B、リンクID454B及びリンクID455Bには、それぞれ、「2」、「413」及び「414」が格納される。
ノードデータレコード441CのノードID451Cとして、ノード420の識別子「420」が格納される。ノード420には二つのリンクすなわちリンク423及び424が接続されるため、ノードデータレコード441Cのリンク数453C、リンクID454C及びリンクID455Cには、それぞれ、「2」、「423」及び「424」が格納される。
図5に示すリンクテーブル460は、リンク413、414、423及び424のそれぞれを記述するリンクデータレコード461D、461E、461F及び461Gを含む。
リンクID454B及び455Bの値から、それぞれ、リンクデータレコード461D及び461Eが参照される。
リンク413は、ノード411に接続される。このため、リンクデータレコード461DのリンクID471D及び接続ノードID475Dには、それぞれ、「413」及び「411」が格納される。同様に、リンク414は、ノード412に接続される。このため、リンクデータレコード461EのリンクID471E及び接続ノードID475Eには、それぞれ、「414」及び「412」が格納される。
一方、リンクID454C及び455Cの値から、それぞれ、リンクデータレコード461F及び461Gが参照される。
リンク423は、ノード421に接続される。このため、リンクデータレコード461FのリンクID471F及び接続ノードID475Fには、それぞれ、「423」及び「421」が格納される。同様に、リンク424は、ノード422に接続される。このため、リンクデータレコード461GのリンクID471G及び接続ノードID475Gには、それぞれ、「424」及び「422」が格納される。
なお、図5では省略されているが、実際には、リンク413のノード411からノード410への方向への通行、リンク414のノード412からノード410への方向への通行、リンク423のノード421からノード420への方向への通行、及び、リンク424のノード422からノード420への方向への通行のそれぞれを記述するリンクデータレコードもリンクテーブル460に含まれる。
図6は、本発明の実施形態における更新後の道路ネットワークのデータ構造の説明図である。
具体的には、図6は、図3の新バージョンの地図データ202、すなわち、図3に示した全ての更新が終了した後の地図データを記述するノードテーブル440及びリンクテーブル460を示す。
図3を参照して説明したように、新バージョンの地図データ202においては、ノード402、リンク401及び403が追加され、これによってノード410及び420に接続されたリンクの数が変更されている。このため、ノードテーブル440及びリンクテーブル460において、ノード402、リンク401及び403を記述するノードデータレコード441F及びリンクデータレコード461H〜461Kが追加され、ノード410及び420のそれぞれを記述するノードデータレコード441B及び441Cが更新される。図6に示すノードデータレコード441D及び441Eは、それぞれ、更新されたノードデータレコード441B及び441Cに相当する。
まず、更新後のノードテーブル440について説明する。
ノードデータレコード441Dは、ノードデータレコード441Bのリンク数453Bを「2」から「3」に変更し、さらに、新たなリンクID456Dを追加することによって生成される。リンクID456Dの値は、新たにノード410に接続されたリンク401の識別子「401」である。
ノードデータレコード441Eは、ノードデータレコード441Cのリンク数453Cを「2」から「3」に変更し、さらに、新たなリンクID456Eを追加することによって生成される。リンクID456Eの値は、新たにノード420に接続されたリンク403の識別子「403」である。
ノード402を記述するノードデータレコード441Fは、他のノードデータレコードと同様の項目を含む。これらのうち、ノードID451Fの値は、ノード402の識別子「402」である。リンク数453Fの値は、ノード402に接続されたリンクの数「2」である。リンクID454F及び455Fの値は、ノード402に接続されたリンク403及び401の識別子「403」及び「401」である。
次に、更新後のリンクテーブル460について説明する。
リンクデータレコード461D〜461Gは、図5に示したものから変更されていない。一方、リンクデータレコード461H〜461Kは、新たに追加されたものである。これらのうち、リンクデータレコード461H及び461Jはリンク403を記述するものであり、リンクデータレコード461I及び461Kはリンク401を記述するものである。これらの追加されたリンクデータレコードは、他のリンクデータレコードと同様の項目を含む。
リンクデータレコード461Hは、ノードデータレコード441FのリンクID454Fから参照される。リンクID471Hの値は、リンク403の識別子「403」である。接続ノードID475Hの値は、リンク403に接続されたノード420の識別子「420」である。すなわち、リンクデータレコード461Hは、リンク403におけるノード402からノード420への方向の通行を記述するものである。
リンクデータレコード461Jは、ノードデータレコード441EのリンクID456Eから参照される。リンクID471Jの値は、リンク403の識別子「403」である。接続ノードID475Jの値は、リンク403に接続されたノード402の識別子「402」である。すなわち、リンクデータレコード461Jは、リンク403におけるノード420からノード402への方向の通行を記述するものである。
リンクデータレコード461Iは、ノードデータレコード441FのリンクID455Fから参照される。リンクID471Iの値は、リンク401の識別子「401」である。接続ノードID475Iの値は、リンク401に接続されたノード410の識別子「410」である。すなわち、リンクデータレコード461Iは、リンク401におけるノード402からノード410への方向の通行を記述するものである。
リンクデータレコード461Kは、ノードデータレコード441DのリンクID456Dから参照される。リンクID471Kの値は、リンク401の識別子「401」である。接続ノードID475Kの値は、リンク401に接続されたノード402の識別子「402」である。すなわち、リンクデータレコード461Kは、リンク401におけるノード410からノード402への方向の通行を記述するものである。
ナビゲーション端末20が保持する地図データが上記のように更新された場合、ナビゲーション処理部24は、更新された地図データを参照して、経路探索等の処理を実行することができる。
次に、上記のような更新の一部のみが反映された地図データについて説明する。このような地図データは、例えば、地図配信サーバ10の地図データ記憶部19に旧バージョンの地図データ(図5参照)及び新バージョンの地図データ(図6参照)の両方が格納された場合において、前述のライセンス又は更新時間等の制約のためにその更新の一部のみがナビゲーション端末20の保持する地図データに反映された場合に生成される。
図7は、本発明の実施形態における一部のみが更新された道路ネットワークのデータ構造の説明図である。
具体的には、図7は、図3に示す更新のうち、東京都側の更新のみが反映された地図データを示す。具体的には、リンク401及びノード402が追加され、これによってノード410に接続されるリンク数が増加する。一方、リンク403は追加されず、したがってノード420に接続されるリンク数は増加しない。
言い換えると、図7に示すノード410及びリンク401は、図6に示すものと同じである。このため、図7に示すノードテーブル440はノードデータレコード441Dを含み、リンクテーブル460はリンクデータレコード461I及び461Kを含む。一方、図7に示すノード420は、図5に示すものと同じである。このため、図7に示すノードテーブル440はノードデータレコード441Cを含む。さらに、図7においてリンク403が存在しないという点は、図5と同じである。このため、図7に示すリンクテーブル460はリンクデータレコード461H及び461Jを含まない。
図6の場合と同様に、図7においてもノード402は存在しているが、そこに接続されているリンクの数は図6に示したものと異なる。このため、図7のノードテーブル440は、ノードデータレコード441Fの代わりに、図7のノード402を記述するノードデータレコード441Gを含む。ノードデータレコード441GのノードID451Gの値は、ノード402の識別子「402」である。ノード402にはリンク401のみが接続されるため、ノードデータレコード441Gのリンク数453G及びリンクID454Gの値はそれぞれ「1」及び「401」である。このリンクID454Gからリンクデータレコード461Iが参照される。
図8は、本発明の実施形態における別の一部のみが更新された道路ネットワークのデータ構造の説明図である。
具体的には、図8は、図3に示す更新のうち、千葉県側の更新のみが反映された地図データを示す。具体的には、リンク403及びノード402が追加され、これによってノード420に接続されるリンク数が増加する。一方、リンク401は追加されず、したがってノード410に接続されるリンク数は増加しない。
言い換えると、図8に示すノード420及びリンク403は、図6に示すものと同じである。このため、図8に示すノードテーブル440はノードデータレコード441Eを含み、リンクテーブル460はリンクデータレコード461H及びJを含む。一方、図8に示すノード410は、図5に示すものと同じである。このため、図8に示すノードテーブル440はノードデータレコード441Bを含む。さらに、図8においてリンク401が存在しないという点は、図5と同じである。このため、図8に示すリンクテーブル460はリンクデータレコード461I及び461Kを含まない。
図6の場合と同様に、図8においてもノード402は存在しているが、そこに接続されているリンクの数は図6に示したものと異なる。このため、図8のノードテーブル440は、ノードデータレコード441Fの代わりに、図8のノード402を記述するノードデータレコード441Hを含む。ノードデータレコード441HのノードID451Hの値は、ノード402の識別子「402」である。ノード402にはリンク403のみが接続されるため、ノードデータレコード441Hのリンク数453H及びリンクID454Hの値はそれぞれ「1」及び「403」である。このリンクID454Hからリンクデータレコード461Hが参照される。
図7及び図8のいずれの地図データも、図6に示したような最新の地図データとは相違するが、リンクとノードの接続関係に矛盾はないため、このような地図データを使用しても、経路探索が正常に終了しない等といった問題は発生しない。
次に、上記のような地図データの更新を行うために地図配信サーバ10からナビゲーション端末20に送信される更新エレメントについて説明する。
図9Aは、従来の更新エレメントの説明図である。
具体的には、図9Aは、図2に示した更新エレメント430の説明図であり、図5に示した地図データを図6のように更新するために送信される。
更新エレメント430は、ノードテーブル440のノードデータレコード441Bを441Dに更新することを指示する情報、ノードデータレコード441Cを441Eに更新することを指示する情報、ノードデータレコード441Fをノードテーブル440に追加することを指示する情報、及び、リンクデータレコード461H〜461Kをリンクテーブル460に追加することを指示する情報を含む。
図5に示す地図データを保持しているナビゲーション端末20が図9Aに示す更新エレメント430を受信すると、これに基づいて地図更新部23が更新を実行し、その結果、ナビゲーション端末20が保持する地図データは図6のように更新される。
図9Bは、本発明の実施形態において使用される更新エレメント及び補正エレメントの説明図である。
具体的には、図9Bは、図3に示した更新エレメント1_431〜更新エレメント3_433及び補正エレメント1_434〜補正エレメント2_435の説明図であり、図5に示した地図データを図6、図7又は図8のように更新するために送信される。
更新エレメント1_431は、ノードテーブル440のノードデータレコード441Bを441Dに更新することを指示する情報、及び、リンクデータレコード461Iをリンクテーブル460に追加することを指示する情報を含む。
更新エレメント3_433は、ノードテーブル440のノードデータレコード441Cを441Eに更新することを指示する情報、及び、リンクデータレコード461Hをリンクテーブル460に追加することを指示する情報を含む。
更新エレメント2_432は、ノードデータレコード441Fをノードテーブル440に追加することを指示する情報、及び、リンクデータレコード461J及び461Kをリンクテーブル460に追加することを指示する情報を含む。
補正エレメント1_434は、ノードデータレコード441Fをノードデータレコード441Gに更新することを指示する情報、及び、リンクデータレコード461Jを削除することを指示する情報を含む。なお、ノードデータレコード441Gは、ノードデータレコード441FからリンクID454Fを削除し、さらに、リンク数453Fの値を「2」から「1」に変更したものと同じである。すなわち、ノードデータレコード441Fをノードデータレコード441Gに更新することを指示する情報は、ノードデータレコード441Fのリンク数453Fの値を「2」から「1」に変更し、さらに、リンクID454Fを削除することを指示する情報と等価である。
補正エレメント2_435は、ノードデータレコード441Fをノードデータレコード441Hに更新することを指示する情報、及び、リンクデータレコード461Kを削除することを指示する情報を含む。なお、ノードデータレコード441Hは、ノードデータレコード441FからリンクID455Fを削除し、さらに、リンク数453Fの値を「2」から「1」に変更したものと同じである。すなわち、ノードデータレコード441Fをノードデータレコード441Hに更新することを指示する情報は、ノードデータレコード441Fのリンク数453Fの値を「2」から「1」に変更し、さらに、リンクID455Fを削除することを指示する情報と等価である。
更新エレメント1_431〜更新エレメント3_433の三つを組み合わせたものは、更新エレメント430と等価である。このため、更新エレメント1_431〜更新エレメント3_433に基づいて図5に示す地図データを更新することによって、図6に示す地図データが得られる。
更新エレメント1_431、更新エレメント2_432及び補正エレメント1_434に基づいて図5に示す地図データを更新することによって、図7に示す地図データが得られる。更新エレメント3_433、更新エレメント2_432及び補正エレメント2_435に基づいて図5に示す地図データを更新することによって、図8に示す地図データが得られる。
ここで、補正エレメントに基づく更新の必要性を説明する。例として、更新エレメント1_431及び更新エレメント2_432に基づく更新を行い、補正エレメント1_434に基づく更新を行わなかった場合について説明する。
補正エレメント1_434に基づく更新が行われた場合の更新後の地図データは図7に示した通りである。これに対して、補正エレメント1_434に基づく更新が行われなかった場合、ノードテーブル440はノードデータレコード441Gの代わりにノードデータレコード441Fを含み、リンクテーブル460には、リンクデータレコード461Jが削除されずに残る。ノードデータレコード441FはリンクID454Fを含むが、リンクID454Fから参照されるはずのリンクデータレコード461Hは、リンクテーブル460に格納されていない。このため、ナビゲーション処理部24が例えば経路探索のためにリンクID454Fに基づいてリンクデータレコード461Hを参照しようとすると、別のデータが誤って参照される。また、リンクデータレコード461Jはどのノードデータレコードからも参照されないため、記憶領域を有効に利用するためには削除することが望ましい。
このように、補正エレメント1_434に基づく更新が行われなかった場合、地図データに矛盾が残り、このために経路探索を正常に実行することができなくなる。一方、補正エレメント1_434に基づく更新によって、図7に示すように、参照先のないリンクIDがノードデータレコードから削除され、さらに、どこからも参照されないリンクデータレコードも削除される。このため、地図データの矛盾が解消され、これによって経路探索の正常な実行が可能になる。
上記のような更新エレメント及び補正エレメントは、地図配信サーバ10が新バージョンの地図データを取得した後、更新データ抽出部14によって作成され、更新データ記憶部12に格納される。
なお、図9Bに示した更新エレメント及び補正エレメントは一例であり、実際には種々の変形例が考えられる。
具体的には、図9Bの例は、2種類の更新エレメントを含む。第1の種類の更新エレメントは、一つのパーセルの内側の(すなわちパーセル境界上のノードを除く)ノードの変更を指示する情報、及び、当該パーセルの内側のノードを終点とするリンクの変更を指示する情報を含む。更新エレメント1_431及び更新エレメント3_433がこれに相当する。第2の種類の更新エレメントは、二つのパーセルの境界上のノードの変更を指示する情報、及び、当該ノードを終点とするリンクの変更を指示する情報を含む。更新エレメント2_432がこれに相当する。
さらに、図9Bの例は、上記の第2の種類の更新エレメントの内容を補正するための補正エレメントを含む。すなわち、補正エレメントは、第2の種類の更新エレメントによって変更されたノード及びリンクの少なくとも一方をさらに変更することを指示する情報を含む。補正エレメント1_434及び補正エレメント2_435がこれに相当する。
一方、第1の変形例は、例えば次の通りである。すなわち、第1の変形例は、2種類の更新エレメントを含む。第1の種類の更新エレメントは、一つのパーセルの内側の(すなわちパーセル境界上のノードを除く)ノードの変更を指示する情報、及び、当該パーセルの内側のノードを始点とするリンクの変更を指示する情報を含む。第2の種類の更新エレメントは、二つのパーセルの境界上のノードの変更を指示する情報、及び、当該ノードを始点とするリンクの変更を指示する情報を含む。さらに、第1の変形例は、上記の第2の種類の更新エレメントの内容を補正するための補正エレメントを含む。すなわち、第1の変形例の補正エレメントは、第2の種類の更新エレメントによって変更されたノード及びリンクの少なくとも一方をさらに変更することを指示する情報を含む。
第2の変形例は、例えば次の通りである。すなわち、第2の変形例は、3種類の更新エレメントを含む。第1の種類の更新エレメントは、一つのパーセルの内側の(すなわちパーセル境界上のノードを除く)ノードの変更を指示する情報を含む。例えば、図9Bに示す情報のうち、ノードデータレコード441Bをノードデータレコード441Dに更新することを指示する情報がこれに相当する。
第2の種類の更新エレメントは、二つのパーセルの境界上のノードの変更を指示する情報を含む。例えば、図9Bに示す情報のうち、リンクデータレコード461I及び461Kを追加することを指示する情報がこれに相当する。第3の種類の更新エレメントは、一つのパーセルの内側のリンクの変更を指示する情報を含む。例えば、図9Bに示す情報のうち、ノードデータレコード441Fを追加することを指示する情報がこれに相当する。
さらに、第2の変形例は、上記の第2の種類の更新エレメントの内容を補正するための補正エレメントを含む。すなわち、第2の変形例の補正エレメントは、第2の種類の更新エレメントによって変更されたノードをさらに変更することを指示する情報を含む。例えば、図9Bに示す情報のうち、ノードデータレコード441Fをノードデータレコード441Gに更新することを指示する情報がこれに相当する。
次に、地図配信サーバ10の管理データ記憶部11に格納される情報について説明する。
図10は、本発明の実施形態の管理データ記憶部11に格納される更新権利管理テーブル1000の説明図である。
更新権利管理テーブル1000は、各ナビゲーション端末20が有する地図データの更新権利を示す情報を保持する。具体的には、更新権利管理テーブル1000は、端末ID1001及び都道府県コード1002を含む。
端末ID1001は、各ナビゲーション端末20の識別子である。
都道府県コード1002は、各都道府県を識別するコードである。図10の例では日本工業規格X0401によって規定された都道府県コードが使用されるが、その他の識別子が使用されてもよい。
例えば、端末ID「10」によって識別されるナビゲーション端末20のユーザが、東京都の地図データを更新する権利(ライセンス)を購入した場合、そのナビゲーション端末20は東京都の地図データを更新する権利を有するため、端末ID1001の値「10」に対応する都道府県コード1002として、東京都を識別するコード「13」が格納される。同様に、例えば、千葉県の地図データを更新する権利を有するナビゲーション端末20に対応する都道府県コード1002として千葉県を識別するコード「12」が、東京都と千葉県の両方の地図データを更新する権利を有するナビゲーション端末20に対応する都道府県コード1002としてコード「12」及び「13」が格納される。
なお、地図データを更新する権利が都道府県以外の領域(例えば国)ごとに管理される場合には、更新権利管理テーブル1000に都道府県コードの代わりにその領域を識別するコードが格納される。他のテーブルについても同様である(図11及び図12参照)。
図11は、本発明の実施形態の管理データ記憶部11に格納される更新エレメント管理テーブル1100の説明図である。
更新エレメント管理テーブル1100は、各領域(例えば都道府県)に属するパーセルの地図データを更新するために使用される更新エレメントを特定する情報を含む。具体的には、更新エレメント管理テーブル1100は、更新エレメントID1101及び都道府県コード1102を含む。
更新エレメントID1101は、各更新エレメントの識別子である。図9Bに示す更新エレメント1_431、更新エレメント2_432及び更新エレメント3_433の識別子は、それぞれ、「1」、「2」及び「3」である。
都道府県コード1102は、図10の都道府県コード1002と同様、各都道府県を識別するコードである。
図11の例では、更新エレメントID1101の値「1」に対応する都道府県コード1102として「13」が格納されている。これは、更新エレメント1_431が東京都に属するパーセルの地図データを更新するために使用されること、言い換えると、東京都に属するパーセル内のノード及びリンクの更新を指示する情報を含むことを意味する。
一方、図11において、更新エレメントID1101の値「2」に対応する都道府県コード1102として「12」及び「13」が格納されている。これは、更新エレメント2_432が、東京都に属するパーセルの地図データ及び千葉県に属するパーセルの地図データのいずれを更新するためにも使用されること、言い換えると、東京都に属するパーセルと千葉県に属するパーセルとの境界上のノードの更新を指示する情報を含むことを意味する。
図12は、本発明の実施形態の管理データ記憶部11に格納される補正エレメント管理テーブル1200の説明図である。
補正エレメント管理テーブル1200は、各領域(例えば都道府県)の境界における更新エレメントの補正に使用される補正エレメントを特定する情報を含む。具体的には、補正エレメント管理テーブル1200は、補正エレメントID1201、都道府県コード1202及び接続先都道府県コード1203を含む。
補正エレメントID1201は、各補正エレメントの識別子である。図9Bに示す補正エレメント1_434及び補正エレメント2_435の識別子は、それぞれ、「1」及び「2」である。
都道府県コード1202及び接続先都道府県コード1203は、いずれも、図10の都道府県コード1002と同様、各都道府県を識別するコードである。都道府県コード1202によって識別される領域と、接続先都道府県コード1203によって識別される領域との境界を跨る連続したリンク及びノードのうち、都道府県コード1202によって識別される領域側のリンク及びノードのみを更新する場合に、補正エレメントID1201によって識別される補正エレメントに基づいて、当該境界に対応する更新エレメントが補正される。
図12の例では、補正エレメントID1201の値「1」に対応する都道府県コード1202及び接続先都道府県コード1203としてそれぞれ「13」及び「12」が格納されている。これは、東京都と千葉県との境界を跨る連続したリンク及びノードのうち、東京都に属するパーセル内のリンク及びノードのみを更新する場合に、補正エレメント1_434に基づいて更新エレメント2_432が補正されることを意味する。
一方、補正エレメントID1201の値「2」に対応する都道府県コード1202及び接続先都道府県コード1203としてそれぞれ「12」及び「13」が格納されている。これは、東京都と千葉県との境界を跨る連続したリンク及びノードのうち、千葉県に属するパーセル内のリンク及びノードのみを更新する場合に、補正エレメント2_435に基づいて更新エレメント2_432が補正されることを意味する。
次に、地図配信サーバ10及びナビゲーション端末20が地図データを更新するために実行する処理について説明する。
図13は、本発明の実施形態のナビゲーション端末20が保持する地図データを更新するために実行される処理を示すフローチャートである。
最初に、ナビゲーション端末20が、これから地図データを更新しようとする領域(すなわち更新対象の領域)の識別コード(例えば都道府県コード)と、自身を識別する端末IDと、を含む地図データ配信要求を地図配信サーバ10に送信する(ステップ1301)。複数の領域の地図データを更新したい場合には、それらの複数の領域の識別コードが地図データ配信要求に含まれる。なお、更新対象の領域は、任意の方法によって決定される。例えば、ナビゲーション端末20のユーザによって決定されてもよいし、所定のアルゴリズムに基づいて自動的に決定されてもよい。
地図配信サーバ10は、ステップ1301において送信された地図データ配信要求を受信すると、当該要求に含まれる端末IDと、更新対象の領域の識別コードとに基づいて、ナビゲーション端末20が有している権利を確認し(ステップ1302)、当該要求を送信したナビゲーション端末20が、更新対象の領域の少なくとも一つに関して、更新の権利を有しているか否かを判定する(ステップ1303)。地図配信サーバ10は、この確認及び判定のために、更新権利管理テーブル1000を参照する。
ステップ1303において、地図データ配信要求を送信したナビゲーション端末20が、更新対象のいずれの領域についても更新の権利を有していないと判定された場合、更新を実行することができないため、地図配信サーバ10は、更新不可を示す通知をナビゲーション端末20に送信する(ステップ1304)。この通知を受信したナビゲーション端末20は、更新対象の領域について更新権利を有していないことを示す情報を、画面入出力I/F25を介して出力してもよい。
一方、ステップ1303において、地図データ配信要求を送信したナビゲーション端末20が、更新対象である少なくとも一つの領域において更新の権利を有していると判定された場合、地図配信サーバ10は、更新エレメント管理テーブル1100を参照して、配信対象の領域に対応する更新エレメントを収集する(ステップ1305)。ここで、配信対象の領域とは、ナビゲーション端末20によって更新対象として指定された領域のうち、当該ナビゲーション端末20が更新の権利を有している領域である。
次に、地図配信サーバ10は、補正エレメント管理テーブル1200を参照して、都道府県コード1202の値がいずれかの配信対象領域の識別コードであり、かつ、接続先都道府県コード1203の値がいずれの配信対象領域の識別コードとも異なるレコードの補正エレメントID1201の値を取得し、その値に対応する補正エレメントを収集する(ステップ1306)。
次に、地図配信サーバ10は、ステップ1305及び1306において収集された更新エレメント及び補正エレメントをナビゲーション端末20に送信する(ステップ1307)。
ナビゲーション端末20は、更新エレメント及び補正エレメントを地図配信サーバ10から受信すると、それらに従って地図データ記憶部27に格納されている地図データを更新する(ステップ1308)。
上記のように、地図配信サーバ10は、ナビゲーション端末20から更新対象として指定された領域のうち、配信対象の領域(すなわち当該ナビゲーション端末20が更新の権利を有している領域)のみを更新するための更新エレメント及び補正エレメントをステップ1308において送信する。更新対象として指定された複数の領域の一部が配信対象とならなかった場合、地図配信サーバ10は、当該配信対象でない領域について、更新権利の欠如を示す情報をステップ1308においてナビゲーション端末20に送信してもよい。この情報を受信したナビゲーション端末20は、更新対象の領域について更新権利を有していないことを示す情報を、画面入出力I/F25を介して出力してもよい。
なお、上記の処理のうち、ステップ1301及び1308は、例えば、ナビゲーション端末20の配信要求部22及び地図更新部23によってそれぞれ実行され、ステップ1302〜1307は、例えば、地図配信サーバ10の更新データ管理部15によって実行される。
ここで、図3及び図5〜図12を参照して、図13の処理の具体例を説明する。
図3に示す旧バージョンの地図データ201及び新バージョンの地図データ202が地図配信サーバ10の地図データ記憶部19に格納され、ナビゲーション端末20の地図データ記憶部27には旧バージョンの地図データ201のみが格納されている時点において、ナビゲーション端末20が東京都及び千葉県の両方を更新対象として指定する情報、及び、自身の識別子「10」を含む地図データ配信要求を地図配信サーバ10に送信した(ステップ1301)場合を例として説明する。
更新権利管理テーブル1000には、端末ID「10」に対応する都道府県コード1002として、東京都を識別する「13」のみが格納されているため、要求元のナビゲーション端末20は、東京都の地図データを更新する権利は有しているが、千葉県の地図データを更新する権利は有していない(ステップ1302、1303)。
この場合、配信対象領域は東京都であるため、地図配信サーバ10は、更新エレメント管理テーブル1100を参照して、東京都に対応する更新エレメント1_431及び更新エレメント2_432を選択する(ステップ1305)。さらに、地図配信サーバ10は、補正エレメント管理テーブル1200を参照して、都道府県コード1202が配信対象である東京都を示し、かつ、接続先都道府県コード1203が配信対象でない(図12の例では「千葉県」である)レコードに対応する補正エレメント1_434を選択する(ステップ1306)。
そして、地図配信サーバ10は、選択された更新エレメント1_431、更新エレメント2_432及び補正エレメント1_434をナビゲーション端末20に送信する(ステップ1307)。
ナビゲーション端末20は、例えば、まず受信した更新エレメント1_431及び更新エレメント2_432に基づいて地図データを更新し、次に補正エレメント1_434に基づいて地図データを更新する(ステップ1308)。あるいは、ナビゲーション端末20は、受信した補正エレメント1_434に基づいて更新エレメント2_432を補正し、受信した更新エレメント1_431及び補正された更新エレメント2_432に基づいて地図データを更新してもよい。これによって、図7に示すような更新後の地図データが地図データ記憶部27に格納される。
なお、ステップ1308において更新エレメント1_431及び更新エレメント2_432に基づく更新が開始されてから、補正エレメント1_434に基づく更新が終了するまでの間、地図データ記憶部27内の地図データに一時的に矛盾が発生し得る。このため、ナビゲーション端末20は、受信した更新エレメント及び補正エレメントに基づく更新が開始されてから終了するまでの間、経路探索等の地図データを参照する処理を実行しないようにナビゲーション処理部24等を制御する必要がある。
一方、上記の具体例において、地図データ配信要求を送信したナビゲーション端末20の識別子が「12」であった場合、このナビゲーション端末20は東京都及び千葉県の両方の地図データを更新する権利を有している(ステップ1302、1303)。このため、ステップ1305では更新エレメント1_431、更新エレメント2_432及び更新エレメント3_433が選択される。一方、東京都及び千葉県のいずれも配信対象領域であるため、ステップ1306では、いずれの補正エレメントも選択されない。このため、ステップ1305で選択された三つの更新エレメントがナビゲーション端末20に送信され(ステップ1307)、補正エレメントは送信されない。送信された更新エレメントに基づいて、ナビゲーション端末20の地図データが図6に示すように更新される(ステップ1308)。
以上のように、本発明の実施形態によれば、任意の範囲の地図データを矛盾なく更新することができる。
以上の本発明の実施形態は、地図データの更新範囲が更新権利(ライセンス)の有無によって制限される場合を例として説明したが、本発明は、更新権利以外の要因によって更新範囲が制限される場合にも適用することができる。例えば、所定の時間内に更新を終了させたい場合がある。従来の方法によって作成された更新エレメント(例えば図9A参照)に基づく更新が当該所定の時間内に終了しないと予測される場合には、その更新エレメントを分割してもよい。この分割は、図9Bを参照して説明した方法によって実行することができる。
より詳細には、上記のような更新エレメントの分割は、図2〜図13において説明したように都道府県等の領域ごとに行われてもよいが、その他の領域、例えばパーセルごとに行われてもよい。パーセルごとに分割される場合、図10〜図12において、都道府県コードの代わりにパーセルの識別子が使用される。更新権利管理テーブル1000は省略されてもよい。この例において、図13のステップ1301の地図データ配信要求は、都道府県コードの代わりに更新対象のパーセルの識別子を含んでもよい。この場合、ステップ1302及び1303は省略され、ステップ1305以降において、更新対象のパーセルが配信対象の領域として扱われる。
このようにして分割された更新エレメント及び作成された補正エレメントに基づく更新を実行することによって、任意の範囲の地図データを矛盾なく更新することができる。