(57)【要約】【課題】地図データの部分更新があっても更新前の道路と更新後の道路との対応を確実に取ることが可能な地図情報処理装置および地図情報処理プログラムを提供すること。【解決手段】ナビゲーション装置において、ナビゲーション処理に使用する地図データの一部を更新するための更新データを取得し、取得した更新データに基づき地図データを更新し、地図データを更新すしたとき道路を特定するリンク番号について更新前のリンク番号と更新後のリンク番号の対応テーブルを有し、対応テーブルを使用して推奨経路データに格納されているリンク番号を更新後のリンク番号に変更処理をする。【選択図】        図１４
2004177246.tif 000002
【特許請求の範囲】
【請求項１】
地図に関する情報の処理を行う地図情報処理装置であって、
地図に関する情報の処理に使用される地図データの一部を更新するための更新情報を取得する更新情報取得手段と、
前記取得した更新情報を使用して前記地図データを更新する更新手段と、
前記更新後の地図データを使用して地図に関する情報の処理を行う地図情報処理手段とを備え、
前記地図データは道路の所定の管理単位を特定する識別情報を有し、
前記地図情報処理手段は、前記地図データの更新にともなう前記道路の管理単位を特定する識別情報に関する変更前の識別情報と変更後の識別情報との対応テーブルを有し、前記対応テーブルを使用して地図に関する情報の処理を行うことを特徴とする地図情報処理装置。
【請求項２】
請求項１記載の地図情報処理装置において、
前記地図情報処理手段は、前記対応テーブルを使用して、前記地図に関する情報の処理の結果生成しているデータに含まれる前記道路の管理単位を特定する識別情報を変更後の識別情報に変更することを特徴とする地図情報処理装置。
【請求項３】
請求項２記載の地図情報処理装置において、
前記地図に関する情報の処理の結果生成しているデータは、経路計算の結果生成された推奨経路に関するデータであることを特徴とする地図情報処理装置。
【請求項４】
請求項２から３のいずれか１項に記載の地図情報処理装置において、
前記地図に関する情報の処理の結果生成しているデータは、現在位置に関するデータであることを特徴とする地図情報処理装置。
【請求項５】
請求項２から４のいずれか１項に記載の地図情報処理装置において、
前記地図情報処理手段は、前記地図に関する情報の処理の結果生成しているデータに含まれる前記道路の管理単位を特定する識別情報を変更後の識別情報に変更するとき、前記変更後の識別情報の道路の管理単位に基づく内分位置を計算しなおすことを特徴とする地図情報処理装置。
【請求項６】
請求項１記載の地図情報処理装置において、
前記地図情報処理手段は、
前記地図データとは異なるデータであって、前記道路の管理単位を特定する識別情報を有する第１のデータをさらに使用して前記地図に関する情報の処理を行い、
前記第１のデータを使用するとき、前記第１のデータに含まれる前記道路の管理単位を特定する識別情報が、前記地図データの更新に伴い変更されているか否かを、前記対応テーブルを使用して判断し、
前記第１のデータに含まれる前記道路の管理単位を特定する識別情報が前記地図データの更新に伴い変更されていると判断するとき、前記対応テーブルを使用して前記第１のデータに含まれる前記道路の管理単位を特定する識別情報を変更後の識別情報に変更して使用することを特徴とする地図情報処理装置。
【請求項７】
地図に関する情報の処理を行う地図情報処理装置であって、
地図に関する情報の処理に使用される地図データの一部を更新するための更新情報を取得する更新情報取得手段と、
前記取得した更新情報を使用して前記地図データを更新する更新手段と、
前記更新後の地図データを使用して地図に関する情報の処理を行う地図情報処理手段とを備え、
前記地図データは道路の所定の管理単位を特定する識別情報を有し、
前記地図データの更新にともない前記道路の管理単位を特定する識別情報が変更されたとき、前記地図情報処理手段は、前記地図に関する情報の処理の結果生成しているデータに含まれる前記道路の管理単位を特定する識別情報を変更後の識別情報に変更することを特徴とする地図情報処理装置。
【請求項８】
請求項１から７のいずれか１項に記載の地図情報処理装置において、
道路上の点をノードとして、隣接するノード間の道路をリンクとして表現し、
前記道路の管理単位は前記リンクに対応し、
前記道路の管理単位を特定する識別情報はリンク番号に対応することを特徴とする地図情報処理装置。
【請求項９】
請求項１から８のいずれか１項に記載の地図情報処理装置において、
前記地図情報処理手段は、地図の表示処理および経路計算処理のうち少なくとも１つのナビゲーション処理を行うことを特徴とする地図情報処理装置。
【請求項１０】
請求項１〜９のいずれかに記載の地図情報処理装置の機能をコンピュータに実行させるための地図情報処理プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、地図情報処理装置に関する。
【０００２】
【従来の技術】
ナビゲーション装置で使用される道路地図などの地図データを部分更新する技術が知られている。
【０００３】
【特許文献１】
特開平１１−２４５５４号公報
【特許文献２】
特開平１１−９５６５７号公報
【特許文献３】
特開２００１−７５９６７号公報
【特許文献４】
特開２００１−１０９３７３号公報
【０００４】
【発明が解決しようとする課題】
しかし、地図データの部分更新により道路の対応が取れなくなる問題が生じていた。
【０００５】
本発明は、地図データの部分更新があても更新前の道路と更新後の道路との対応を確実に取ることが可能な地図情報処理装置および地図情報処理プログラムを提供する。
【０００６】
【課題を解決するための手段】
請求項１の発明は、地図に関する情報の処理を行う地図情報処理装置に適用され、地図に関する情報の処理に使用される地図データの一部を更新するための更新情報を取得する更新情報取得手段と、取得した更新情報を使用してデータを更新する更新手段と、更新後の地図データを使用して地図に関する情報の処理を行う地図情報処理手段とを備え、地図データは道路の所定の管理単位を特定する識別情報を有し、地図情報処理手段は、地図データの更新にともなう道路の管理単位を特定する識別情報に関する変更前の識別情報と変更後の識別情報との対応テーブルを有し、対応テーブルを使用して地図に関する情報の処理を行うものである。
請求項２の発明は、請求項１記載の地図情報処理装置において、地図情報処理手段は、対応テーブルを使用して、地図に関する情報の処理の結果生成しているデータに含まれる道路の管理単位を特定する識別情報を変更後の識別情報に変更することとするものである。
請求項３の発明は、請求項２記載の地図情報処理装置において、地図に関する情報の処理の結果生成しているデータは、経路計算の結果生成された推奨経路に関するデータであることとするものである。
請求項４の発明は、請求項２から３のいずれか１項に記載の地図情報処理装置において、地図に関する情報の処理の結果生成しているデータは、現在位置に関するデータであることとするものである。
請求項５の発明は、請求項２から４のいずれか１項に記載の地図情報処理装置において、地図情報処理手段は、地図に関する情報の処理の結果生成しているデータに含まれる道路の管理単位を特定する識別情報を変更後の識別情報に変更するとき、変更後の識別情報の道路の管理単位に基づく内分位置を計算しなおすこととするものである。
請求項６の発明は、請求項１記載の地図情報処理装置において、地図情報処理手段は、地図データとは異なるデータであって、道路の管理単位を特定する識別情報を有する第１のデータをさらに使用して地図に関する情報の処理を行い、第１のデータを使用するとき、第１のデータに含まれる道路の管理単位を特定する識別情報が、地図データの更新に伴い変更されているか否かを、対応テーブルを使用して判断し、第１のデータに含まれる道路の管理単位を特定する識別情報が地図データの更新に伴い変更されていると判断するとき、対応テーブルを使用して第１のデータに含まれる道路の管理単位を特定する識別情報を変更後の識別情報に変更して使用することとするものである。
請求項７の発明は、地図に関する情報の処理を行う地図情報処理装置に適用されう、地図に関する情報の処理に使用される地図データの一部を更新するための更新情報を取得する更新情報取得手段と、取得した更新情報を使用して地図データを更新する更新手段と、更新後の地図データを使用して地図に関する情報の処理を行う地図情報処理手段とを備え、地図データは道路の所定の管理単位を特定する識別情報を有し、地図データの更新にともない道路の管理単位を特定する識別情報が変更されたとき、地図情報処理手段は、地図に関する情報の処理の結果生成しているデータに含まれる道路の管理単位を特定する識別情報を変更後の識別情報に変更するものである。
請求項８の発明は、請求項１から７のいずれか１項に記載の地図情報処理装置において、道路上の点をノードとして、隣接するノード間の道路をリンクとして表現し、道路の管理単位はリンクに対応し、道路の管理単位を特定する識別情報はリンク番号に対応することとするものである。
請求項９の発明は、請求項１から８のいずれか１項に記載の地図情報処理装置において、地図情報処理手段は、地図の表示処理および経路計算処理のうち少なくとも１つのナビゲーション処理を行うこととするものである。
請求項１０の発明は、地図情報処理プログラムに適用され、請求項１〜９のいずれかに記載の地図情報処理装置の機能をコンピュータに実行させるものである。
【０００７】
【発明の実施の形態】
図１は、地図表示用データや経路計算用データなどの地図データの更新システムについて説明する図である。車載用ナビゲーション装置１（以下、単にナビゲーション装置１と言う）は、地図データを格納するハードディスク１２と、ハードディスク１２に格納された地図データを使用してナビゲーション処理を行う制御装置１１を有する。
【０００８】
ナビゲーション装置１は、携帯電話などの通信装置２とも接続可能である。ナビゲーション装置１は、通信装置２を介してインターネット３に接続し、さらにインターネット３を介して地図サーバ４に接続することができる。地図サーバ４は、古い地図データから最新の地図データまでを地図データベース５に保有する。従って、地図サーバ４は、地図データの一部を更新する更新データをインターネット３を介してナビゲーション装置１に提供することができる。
【０００９】
図２は、ナビゲーション装置１のブロック図である。ナビゲーション装置１は、制御装置１１、ハードディスク１２、現在地検出装置１３、入力装置１４、メモリ１５、通信インターフェース１６、モニタ１７を有する。
【００１０】
制御装置１１は、マイクロプロセッサおよびその周辺回路から構成される。ハードディスク１２には、ナビゲーション装置１の出荷時に地図データが格納されている。地図データは、後に送信されてくる更新データに応じて適宜更新される。ハードディスク１２は、ナビゲーション装置１の電源が落とされても、書きこまれたデータが消えない不揮発性の記憶装置である。
【００１１】
現在地検出装置１３は車両の現在地を検出する現在地検出装置であり、例えば車両の進行方位を検出する方位センサや車速を検出する車速センサやＧＰＳ（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ）衛星からのＧＰＳ信号を検出するＧＰＳセンサ等から成る。入力装置１４は、経路探索時に車両の目的地等を入力したりする入力装置である。リモコンであってもよいし、モニタ１７の画面上に設けられたタッチパネルなどで構成してもよい。
【００１２】
メモリ１５は、現在地検出装置１３によって検出された車両位置情報等を格納したり、制御装置１１が演算した推奨経路上のノード情報やリンク情報等を格納するメモリであり、制御装置１１のワーキングエリアである。通信インターフェース１６は、通信装置２を接続するインターフェースである。通信インターフェース１６を介して携帯電話の利用や、インターネットとの接続が可能である。モニタ１７は、地図や推奨経路や各種情報を表示する表示装置である。モニタ１７は、ナビゲーション装置１本体の一部として一体に設けてもよいし、筐体としては別々に設けてもよい。さらに、モニタ１７のみを、ナビゲーション装置本体とケーブルなどによって接続し、分離した位置に設けるようにしてもよい。
【００１３】
制御装置１１は、現在地検出装置１３で検出された車両の現在地情報とハードディスク１２に格納された地図データなどを使用して、道路地図の表示、経路計算（経路探索）、経路誘導等の各種のナビゲーション処理を行う。なお、制御装置１１が実行する各種の処理プログラムは、制御装置１１内部に設けられたＲＯＭ（不図示）に組み込まれている。
【００１４】
−地図データ−
上述した地図データのデータ構造について、さらに詳しく説明する。地図データは、地図に関する情報であり、道路データ、誘導データ、背景データ、名称データ、経路計算用データなどである。道路データは、道路の表示や車両の現在地の特定やマップマッチングなどに使用されるデータである。誘導データは、交差点名称・道路名称・方面名称・方向ガイド施設情報などからなり、演算された推奨経路に基づき運転者等に推奨経路を誘導する際に用いられる。背景データは、道路や道路地図の背景を表示するためのデータである。名称データは、地名や建物の名称などからなり、道路地図を表示するときに使用されるデータである。経路計算用データは、道路形状とは直接関係しない分岐情報などから成るネットワークデータであり、主に推奨経路を演算（経路探索）する際に用いられる。
【００１５】
本実施の形態の地図データは、ナビゲーション装置１において、レベル、ブロック、メッシュという概念で管理する。本実施の形態では、地図データを縮尺率が異なる７つのレベルに分け、最詳細の縮尺率のレベルをレベル０とし、最広域地図のレベルをレベル６とする。各レベルは縮尺率が異なる地図データを含むものであるが、対象となる領域は各レベルとも同じである。すなわち、日本全土が対象であると、各レベルごとに縮尺率が異なる日本全土の地図データを有する。例えば、レベル０では縮尺率１／６２５０、レベル１では縮尺率１／２５０００、レベル２では縮尺率１／１０００００、レベル３では縮尺率１／４０００００、レベル４では縮尺率１／１６０００００、レベル５では縮尺率１／６４０００００、レベル６では縮尺率１／１２８００００００の日本全土の地図データを有する。すなわち、レベル０〜６に対応して７つの地図データのセットがある。レベル０側を下位レベル、レベル６側を上位レベルとする。
【００１６】
図３は、地図データのレベル、ブロック、メッシュの関係を説明する概念図である。代表して、レベル１と２を示している。符号１０１は、本地図データの対象となる領域を示す。日本全土の地図データを扱うとすると、領域１０１は日本全土を含む範囲となる。レベル１もレベル２も同じ範囲の領域を対象としている。レベル１では、領域１０１は、４×４＝１６の複数のブロック１０２に分けられて管理される。一つのブロック１０２は、複数のメッシュ１０３に分けられて管理される。本実施の形態では、ｍ×ｎ枚のメッシュで管理する。各ブロック１０２間の分割メッシュの数は、同じレベルでは同一数ｍ×ｎである。
【００１７】
レベル２では、領域１０１は、２×２＝４の複数のブロック１０４に分けられて管理される。一つのブロック１０４は、複数のメッシュ１０５に分けられて管理される。本実施の形態では、ｐ×ｑ枚のメッシュで管理する。各ブロック１０４間の分割メッシュの数は、同じレベルでは同一数ｐ×ｑである。
【００１８】
レベル１とレベル２では、領域１０１を分割したブロックの数、各ブロックを分割したメッシュの数は異なる。これは、縮尺率の小さい（分母の値が大きい）より広域地図を扱うレベル２と、レベル２に比べて縮尺率の大きい（分母の値が小さい）より狭域（詳細）地図を扱うレベル１とでは、扱うデータ量も異なるためである。すなわち、各レベルにおいて扱うデータ量に応じた適切な分割を行うようにしている。ただし、同一レベル内では、１つのブロックの大きさおよび１つのメッシュの大きさは同じである。なお、図３の各レベルの分割ブロック数は、１例であり、必ずしもこの数に限られるものではない。なお、本実施の形態では、レベル１の地図データを狭域地図データとし、レベル２の地図データを中域地図データとし、レベル４の地図データを広域地図データとする。
【００１９】
上記分割のたて方向は緯度方向に対応し、横方向は経度方向に対応する。上記ブロック、メッシュの呼び名は、本実施の形態で便宜上名づけたものである。従って、必ずしもこれらの名称に限定されるものではない。メッシュを単に区画あるいはパーセルと言ってもよいし、ブロックを第１の分割単位、メッシュを第２の分割単位と言ってもよい。また、これらのブロック、メッシュは地理的に分割された単位と言ってもよい。
【００２０】
本実施の形態では、道路をリンクとノードとリンク列という概念で表す。ノードは交差点や道路上特に指定された点を言う。リンクは隣接するノード間の道路に該当し、リンク列は１本の道路を連続した複数のリンクで表したものである。ノード間は、補間点により位置情報等が補間される。なお、ナビゲーション装置１と地図サーバ４とは、格納される地図データのフォーマットが異なる。本実施の形態では、地図データの一部更新が効率よく行えるように各種のフォーマットを用意している。ナビゲーション装置１や地図サーバ４では、各装置に適したフォーマットの地図データや管理テーブルなどが格納されている。
【００２１】
−フォーマット−
図４は、ナビゲーション装置１と地図サーバ４におけるデータフォーマットを説明する図である。本明細書では、フォーマットは、一定の取り決めにより決められたデータ書式、あるいはデータ構造と同義として用いる。各種フォーマットは、地図データのフォーマットや管理テーブルのフォーマットである。地図サーバ４は、フォーマットＢ〜フォーマットＦのデータを使用して、地図更新処理２０１や差分送信処理２０２を行う。ナビゲーション装置１は、部分更新要求処理２０３を行い、通信フォーマットＧとフォーマットＡ、フォーマットＢ、フォーマットＥのデータを使用して部分更新処理２０４や逆変換処理２０５を行い、更新されたフォーマットＢの地図データを使用してナビゲーション処理２０６を行い、適宜フォーマットＨのデータを生成する。
【００２２】
地図データの更新における各種のフォーマットについてさらに説明する。なお、以下の説明では、ナビゲーション装置１において、道路の表示や車両の現在地の特定などに使用される道路データと、経路探索に使用する経路計算用データの更新を例にあげて行う。道路データと経路計算用データは、まとめて地図データと言う。地図データのレベルは、狭域レベル（レベル１に相当）と中域レベル（レベル２に相当）と広域レベル（レベル４に相当）の３つのレベルとする。
【００２３】
図５は、地図データの更新の態様を説明する図である。図５（ａ）は、道路が追加された場合である。すでに存在していたリンク番号４の途中の位置（両端以外）に接続された新設道路ができた場合、リンク４を削除し、代わりにリンク３００２と３００３を追加する。また、新設道路のリンク４１１を追加する。図５（ｂ）は、道路の形状が変更された場合である。すでに存在していたリンク番号２のリンクの形状を修正する場合、リンク２を削除し、代わりにリンク１００１を追加する。図５（ｃ）は、道路が削除された場合である。すでに存在していたリンク番号１０２のリンクを削除する場合、リンク１０２をデータから削除する。
【００２４】
なお、図５ではリンク番号を便宜上４や、３００２、３００３などの番号で表している。本実施の形態では、部分更新により異なるバージョンの地図データが入ってきても、実質的に変わらない道路のノード番号やリンク番号は同じにしておく必要がある。逆に変更されたノードは必ず座標を変えるようにしなければならない。そのため、本実施の形態では、ノード番号を、普遍的な２次元の位置座標と、立体交差等でつながっていない道路のノードが同じ座標にならないように高さ方向のパラメータと、バージョンアップがあった場合同じ座標にならないように時間軸のパラメータとを加えた４次元座標で表現するものとする。リンク番号は、始点のノード番号と終点のノード番号を並べたものとする。始点のノード番号と終点のノード番号の並び順により方向特性も持たせる。以上によりノード番号とリンク番号はユニーク性が保たれる。
【００２５】
図１１は、ノード番号を４次元で表し、４次元で表したノード番号の組み合わせでリンク番号を表している様子を示す図である。ノード番号は、ｘ、ｙ、ｚ、ｔの座標を並べたものとし、リンク番号は始点のノード番号と終点のノード番号を並べたものである。具体的には、ｘ、ｙ座標は緯度経度を正規化してあらわされる普遍的な位置座標であり、ｚ座標はそのノードに関する高さ情報であり、ｔ座標はデータの更新日時を表すデータである。このように、本実施の形態では、ノード番号やリンク番号は長い桁数のデータとなり、値も飛び飛びの値となったりするが、以下の説明では、便宜上単にリンク番号１、２．．．等として表す。
【００２６】
図６は、ナビゲーション装置１と地図サーバ４間の通信フォーマットＧの構成を説明する図である。図６（ａ）は、ナビゲーション装置１から地図サーバ４へ、地図データの部分更新要求処理２０３（図４）を行うときの通信フォーマットＧ１を示す。図６（ｂ）は、地図サーバ４からナビゲーション装置１へ、地図データの部分更新データを送信するときの通信フォーマットＧ２を示す。図７は、ナビゲーション装置１において使用される地図データのフォーマットＡの構成を説明する図である。図８は、同じくナビゲーション装置１において使用される地図データのフォーマットＢの構成を説明する図である。図７のフォーマットＡは、地図データの更新がしやすいように設けられたフォーマットである。図８のフォーマットＢは、ナビゲーション処理がしやすいように設けられたフォーマットである。フォーマットＢの地図データは、フォーマットＡの地図データから生成される。すなわち、フォーマットＡで地図データの更新を行い、その後更新されたフォーマットＡの地図データからフォーマットＢの地図データを生成する。
【００２７】
−通信フォーマットＧ−
図６の通信フォーマットＧについて詳しく説明する。ナビゲーション装置１のユーザが、所定のエリアを指定して地図データの更新要求の操作を行うと、ナビゲーション装置１は、図６（ａ）の通信フォーマットＧ１のデータを地図サーバ４に送信する。所定のエリアは、メッシュ単位に指定される１個あるいは複数のメッシュによる矩形のエリアである。ユーザは、入力装置１４を使用して指定する。
【００２８】
図６（ａ）の更新エリア３０１は、このように指定されたエリアの情報であり、矩形エリアの左下座標３０４と右上座標３０５から構成される。リンク数３０２は、指定されたエリア内のすべてのリンクの数であり、リンク情報３０３は各リンクの情報である。リンク情報は、メッシュ番号３０６とリンク番号３０７とで構成される。リンク数３０２およびリンク情報３０３は、ナビゲーション装置１がフォーマットＢのデータを使用して抽出する。
【００２９】
図６（ｂ）の通信フォーマットＧ２は、ナビゲーション装置１からの更新要求を受けて、地図サーバ４から送信する更新データを定義する。更新データの生成のフローチャートについては後述する。ここでは通信フォーマットＧ２について説明をする。通信フォーマットＧ２は、差分情報３１１とリンク情報３１２とノード情報３１３とから構成される。地図サーバ４内では、例えば、１年ごとに地図データの更新がなされ、１回目の更新、２回目の更新、３回目の更新、．．．として、１年ごとの更新データを保有する。ナビゲーション装置１から送られた図６（ａ）の通信フォーマットＧ１のリンク情報３０３と地図サーバ４内の更新後のリンク情報との間に差がある場合、地図サーバ４はその差分を更新データとして送信する。
【００３０】
差分情報３１１は、更新年度ごとにグループ分けされ、図６（ｂ）の例では、１回目（１年目）の更新３２１〜３回目（３年目）の更新３２３に分けられている。各年度の更新３２１〜３２３は、それぞれの年度の変更ＩＤ１（３３１）〜変更ＩＤｎ（３３２）を有する。各変更ＩＤ１（３３１）〜ｎ（３３２）は、変更前リンク番号３４１、更新種別３４２、変更後リンク番号１（３４３）、変更後リンク番号２（３４４）、追加リンク番号３４５、分割位置３４６から構成される。すなわち、差分情報３１１は変更前と変更後のリンクの対応関係に関する情報を有し、後述するフォーマットＥのリンク番号変換テーブルに対応する。
【００３１】
リンク情報３１２は、更新後のリンク情報であり、図６（ｂ）の例では、リンク１（３５１）〜リンクｍ（３５２）を有する。各リンク１（３５１）〜リンクｍ（３５２）は、メッシュ番号３６１、リンク番号３６２、道路種別３６３、リンク種別３６４、狭域地図情報３６５、中域地図情報３６６、広域地図情報３６７からなる。狭域地図情報３６５、中域地図情報３６６、広域地図情報３６７は、それぞれ、リンク番号３７１、始点座標３７２、終点座標３７３、補間点数３７４、．．．補間点座標３７５とから構成される。リンク情報３１２には、差分情報３１１にある変更後リンク番号１（３４３）、変更後リンク番号２（３４４）、追加リンク番号３４５などのすべての更新後のリンク情報が格納されている。
【００３２】
ノード情報３１３は、更新後のノード情報であり、図６（ｂ）の例では、ノード１（３８１）〜ノードＩ（３８２）を有する。各ノード１（３８１）〜ノードＩ（３８２）は、ノード番号３９１、隣接ノード数３９２、接続ノード番号１（３９３）、接続ノード番号ｋ（３９４）、交通規制情報３９５とから構成される。
【００３３】
このようにして、地図サーバ４は、ナビゲーション装置１からの更新要求を受けると、該当するエリアの差分情報３１１と、そのエリア内で更新のあったリンク情報３１２とノード情報３１３をナビゲーション装置１へ送信する。
【００３４】
−フォーマットＡ−
図７のフォーマットＡについて詳しく説明する。図７のフォーマットＡは、前述したように、地図データの更新がしやすいように設けられたフォーマットであり、図８のフォーマットＢは、ナビゲーション処理がしやすいように設けられたフォーマットである。ナビゲーション装置１がナビゲーション処理を行うとき、ナビゲーション装置１にはフォーマットＢのデータのみが格納されている。そして、図６（ｂ）の通信フォーマットＧ２のデータがナビゲーション装置１に送信されてくると、ナビゲーション装置１は、対象となるエリアについてフォーマットＢのデータから逆変換してフォーマットＡのデータを生成する。具体的には、更新すべきリンクを含むすべてのメッシュを対象にフォーマットＢのデータからフォーマットＡのデータに逆変換する。ここでいうメッシュは、狭域レベルのメッシュである。
【００３５】
各メッシュデータ１（４０１）〜メッシュデータｎ（４０４）は、リンク情報４１１とノード情報４１２を有する。リンク情報４１１は、メッシュ内に存在するすべてのリンクの情報を有する。図７のリンク番号１情報４２１〜リンク番号１０２情報４２５は、フォーマットＢからフォーマットＡのデータを逆変換により生成されたときにすでに存在しているリンク情報であり、更新により削除されるものも示されている。リンク番号３００２情報４２６〜リンク番号１００１情報４２９は、更新によりフォーマットＡのデータに追加されるリンク情報である。更新によるデータの削除追加については後述する。
【００３６】
各リンク番号ｘ情報４２１〜４２９は、道路種別４３１、リンク種別４３２、狭域地図情報４３３、中域地図情報４３４、広域地図情報４３５を有する。狭域地図情報４３３、中域地図情報４３４、広域地図情報４３５のそれぞれは、リンク番号４４１、始点座標４４２、終点座標４４３、補間点数４４４、補間点座標４４５、補間点座標４４６とを有する。道路種別４３１は、高速道路や、国道や、県道などの種別情報を有する。リンク種別４３２は、一方通行や、道路幅員や、本線、連絡道、ランプ道などの情報を有する。
【００３７】
図７のリンク番号１情報４２１〜リンク番号１００１情報４２９は、狭域レベルのメッシュに含まれるすべてのリンク番号をキーにしてデータを管理するものである。例えば、狭域レベルのリンク番号１について、その狭域レベルのリンク番号１の地図情報を狭域地図情報４３３の中に有し、その狭域レベルのリンク番号１を含む中域レベルのリンクに関する地図情報を中域地図情報４３４の中に有し、その狭域レベルのリンク番号１を含む広域レベルのリンクに関する地図情報を広域地図情報４３４の中に有する。このようにすることにより、すべてのレベルのリンク情報がフォーマットＡで格納される。
【００３８】
なお、狭域地図に存在するリンクであるが中域地図あるいは広域地図には存在しないリンクであれば、中域地図情報４３４と広域地図情報４３５はデータなしとなる。また、狭域地図における複数のリンクから構成される中域地図および広域地図のリンクの情報は、狭域地図における複数のリンクのいずれかのリンクのリンク番号情報の中にある中域地図情報および広域地図情報と、複数のリンクの他のリンクのリンク番号情報の中にある中域地図情報および広域地図情報とに重複して格納されることになる。しかし、重複して格納されていることを前提としてソフトウェア処理をすれば、この問題は解決される。
【００３９】
ノード情報４１２は、メッシュ内に存在するすべてのノードの情報を有し、ノード１情報４３１〜ノードｈ情報４３３は、フォーマットＢからフォーマットＡのデータを逆変換により生成されたときにすでに存在しているノード情報である。追加したノード情報４３５は、更新により追加されるノード情報である。図５の例では、図５（ａ）においてノードが１つ追加され、削除されるノードはない。各ノードｘ情報４３１〜４３５は、ノード座標４４１、接続ノード数４４２、接続ノード番号１（４４３）、接続ノード番号ｊ（４４４）、始点側交通規制情報４４５、終点側交通規制情報４４６とを有する。始点側交通規制情報４４５と終点側交通規制情報４４６のそれぞれは、規制１（４５１）〜規制ｆ（４５２）の情報を有する。
【００４０】
図９は、規制１（４５１）〜規制ｆ（４５２）の情報を説明する図である。４差路の交差点であって自ノードを０とし、真東から反時計周りの順に出現する接続ノードを番号１〜４とした場合、規制１（４５１）〜規制ｆ（４５２）には、次の順番の進行について通行可か通行不可かの情報が格納される。１→０→１、１→０→２、１→０→３、１→０→４、２→０→１、２→０→２、２→０→３、２→０→４、３→０→１、３→０→２、３→０→３、３→０→４、４→０→１、４→０→２、４→０→３、４→０→４。
【００４１】
−フォーマットＢ−
図８のフォーマットＢについて詳しく説明する。図８のフォーマットＢは、前述したように、ナビゲーション処理がしやすいように設けられたフォーマットである。フォーマットＢは、図８（ａ）に示される地図表示用現在位置算出用の道路データのフォーマットＢ１と、図８（ｂ）に示される経路計算用データのフォーマットＢ２とを含む。ナビゲーション装置１は、部分更新処理されたフォーマットＡのデータから、フォーマットＢのデータを生成する。フォーマットＡで更新処理されたメッシュのデータのみが、新たに生成されフォーマットＢのデータとなる。
【００４２】
図８（ａ）のフォーマットＢ１は、広域データ５０１、中域データ５０２、狭域データ５０３に分類してハードディスク１２に格納される。広域データ５０１、中域データ５０２、狭域データ５０３のそれぞれは、各レベルに応じて分割されたメッシュに対応するメッシュデータ１（５１１）〜メッシュデータｎ（５１４）を有する。各メッシュデータ１（５１１）〜メッシュデータｎ（５１４）は、リンク列１情報５２１〜リンク列ｄ情報（５２４）を有する。リンク列は１本の道路を連続した複数のリンクで表したものである。ナビゲーション装置１は、フォーマットＡのデータから、連続する同一道路種別と同一リンク種別のリンクを抽出してリンク列のデータを生成する。各リンク列ｘ情報５２１〜５２４は、道路種別５３１、リンク種別５３２、ノード／補間点数５３３、リンク１情報５３４、．．．リンクｍ上方５３５を有する。
【００４３】
各リンクｘ情報５３４〜５３５は、リンク番号５４１、接続リンク数５４２、接続リンク１格納場所５４３、．．．接続リンクｇ格納場所５４４、補間点数５４５、点座標１（５４６）、．．．点座標Ｌ（５４６）を有する。接続リンクとは、リンク列を構成する各リンクの順方向手前側のノードに接続されるリンクを言う。本実施の形態では、接続リンクについて接続リンクのデータの格納場所が格納されているため、すぐに接続リンクのデータにアクセスできる。リンク番号で格納されていると、サーチが必要となりアクセスに時間がかかる。
【００４４】
図８（ｂ）のフォーマットＢ２は、フォーマットＢ１と同様に、広域データ５５１、中域データ５５２、狭域データ５５３に分類してハードディスク１２に格納される。広域データ５５１、中域データ５５２、狭域データ５５３のそれぞれは、各レベルに応じて分割されたメッシュに対応するメッシュデータ１（５６１）〜メッシュデータｎ（５６４）を有する。各メッシュデータ１（５６１）〜メッシュデータｎ（５６４）は、ノード１情報５７１〜ノードｃ情報（５７４）を有する。各ノードｘ情報５７１〜５７４は、接続ノード数５８１、接続ノード番号１（５８２）、接続ノード番号ｋ（５８３）、交通規制情報５８４を有する。
【００４５】
図８（ａ）のフォーマットＢ１の道路データおよび図８（ｂ）のフォーマットＢ２の経路計算用データとも、広域、中域、狭域データに分けて管理されている。フォーマットＡのデータは、広域、中域、狭域に関するリンクの情報は有するが、広域、中域、狭域に分けて管理されていない。データの更新を考えたとき、広域、中域、狭域に分けて管理されていない方が更新処理がしやすいからである。一方、ナビゲーション装置１は、縮尺率に応じたレベルごとにナビゲーション処理を行うので、このように広域、中域、狭域データに分けて管理することによりナビゲーション処理の効率がよくなる。
【００４６】
また、フォーマットＢ１の道路データおよびフォーマットＢ２の経路計算用データの全体は、ハードディスク１２に格納されている。ナビゲーション処理にともない、必要なメッシュの地図データのみをメモリ１５に読み込むことができる。これにより、ＤＲＡＭなどで構成されるメモリ１５の容量が小さくて済む。
【００４７】
フォーマットＢの広域、中域、狭域レベルごとのデータは、フォーマットＡの狭域地図情報４３３、中域地図情報４３４、広域地図情報４３５を参照して生成する。中域地図情報４３４および広域地図情報４３５に、重複して存在するデータは、重複しないように処理をする。このように、フォーマットＡを使用したデータの更新時にはリンク単位でデータの更新をし、リンク単位の情報の中にレベル（広域、中域、狭域）に対応した情報を有するようにした。そして、フォーマットＢのデータを生成するときに、レベルに応じた地図データを生成するようにした。レベル単位の地図データを地図データセットと言う。すなわち、ナビゲーション装置１のハードディスク１２には、フォーマットＢの広域レベルの地図データセット、中域レベルの地図データセット、狭域レベルの地図データセットと、３つの地図データセットが格納されている。
【００４８】
ナビゲーション装置１は、以上のようにして生成されたフォーマットＢの地図データを使用して、道路地図の表示、経路計算（経路探索）、経路誘導等の各種のナビゲーション処理を行う。
【００４９】
−フォーマットＨ−
図１０は、ナビゲーション装置１における、ナビゲーション処理に伴う情報に関するフォーマットＨを説明する図である。図１０（ａ）のフォーマットＨ１は、経路計算により計算された推奨経路情報のフォーマットである。ナビゲーション装置１の制御装置１１は、フォーマットＢ２の経路計算用データを使用して経路計算を行うと、フォーマットＨ１の推奨経路情報を生成する。生成された推奨経路情報は、メモリ１５およびハードディスク１２に格納され、リンク数６０１、リンク１情報６０２、リンク２情報６０３、．．．リンクｎ情報６０５を有する。各リンクｘ情報６０２〜６０５は、メッシュ番号６１１、リンク番号６１２、誘導情報６１３、道路種別６１４、道路名称６１５を有する。すなわち、リンクの並び情報が格納されている。
【００５０】
ここで、図５（ａ）に示されるようにリンク４が更新されたとする。リンク４は計算済みの推奨経路上にあったとする。制御装置１１は、地図サーバ４からの更新データ送信に伴うナビゲーション装置１内の地図データの更新に伴い、経路計算済みのフォーマットＨ１のデータも更新する。具体的には、リンク数６０１を更新し、リンク４情報６０４を、リンク３００２情報６２１とリンク３００３情報６２２に置きかえる。このようにすることにより、再度経路計算を行う必要はなく、かつ更新された道路データとの整合性も取れる。
【００５１】
図１０（ｂ）のフォーマットＨ２は、車両の現在位置管理情報のフォーマットである。車両の現在位置を求める処理では、現在地検出装置１３により検出された位置情報を使用して、通常マップマッチングという処理を行う。これは、通常車は道路の上を走行するので、道路データの上に現在位置を補正しようとするものである。マップマッチングの結果、自車位置が乗っている道路をリンク番号で記憶しておく。しかし、データ更新によりリンク番号が変わってしまった場合、そのリンク番号に対応する道路データを参照しても内容が変わってしまっていて正しい処理ができなくなってしまう。したがって、地図が更新された場合は、処理内部のリンク番号情報はすべて廃棄する必要があり、次に走行しはじめたときにしばらくマップマッチングができないという問題が発生する。そこで、本実施の形態では、マップマッチングの情報が入っているフォーマットＨ２の現在地管理情報において、地図データが更新されたとき、該当リンク番号も更新処理をする。このようにすることにより、現在位置情報と更新された道路データとの整合性が常に保たれる。
【００５２】
フォーマットＨ２の現在位置管理情報は、メモリ１５およびハードディスク１２に格納され、メッシュ番号６３１、リンク２番号６３２、内分位置６３３、道路種別６３４、車両方位６３５を有する。ここで、図５（ｂ）に示されるようにリンク２が更新されたとする。メッシュ番号６３１の下にはリンク２番号の情報が格納されているが、更新にともない、リンク１００１情報６４１に置きかえられる。
【００５３】
次に、地図サーバ４内のフォーマットＣ〜フォーマットＦについて説明する。
【００５４】
−フォーマットＣ−
図１２のフォーマットＣは、更新管理テーブルのフォーマットである。前述したように、地図サーバ４では、例えば、１年ごとに地図データの更新を行う。最初のバージョンをベースバージョンとし、１年目の更新を１回目の更新、２年目の更新を２回目の更新、３年目の更新を３回目の更新とする。なお、更新は１年ごとに限る必要ない。１年より短い間隔あるいは長い間隔でもよい。また、定期的な更新でなくてもよく、更新データを入手次第更新するようにしてもよい。
【００５５】
更新の種類（更新種別と呼ぶ）は、図５に示すように、追加、変更、削除の３つがある。各更新でリンク番号が変わるため、その履歴をこのテーブルの中で管理するようにしている。図１２は次のような内容を示す。ベースバージョンのリンク番号１は、３回めまでの更新では変更がない。リンク番号２は、１回めの更新でリンク番号１００１に変更されている。リンク番号３は、２回めの更新でリンク番号２００１に変更され、３回めの更新でリンク番号３００１に変更されている。リンク番号４は、３回めの更新でリンク番号３００２とリンク番号３００３に分割され、リンク番号４１１が追加されている。リンク番号９９は、３回めまでの更新では変更がない。リンク番号１００は、１回めの更新で追加されたものである。リンク番号１０１は、１回めの更新で追加されたものである。リンク番号１０２は、１回めの更新で追加され、２回めの更新で削除されている。リンク番号２２５は、２回めの更新で追加されている。リンク番号２２６は、２回めの更新で追加されている。リンク番号４２２は、３回めの更新で追加されている。このような更新管理テーブルを保有することにより、リンク単位の更新の履歴がすぐに把握できる。
【００５６】
−フォーマットＤ−
図１３のフォーマットＤは、地図サーバ４内で保有するリンク情報テーブルとノード情報テーブルのフォーマットである。フォーマットの形式は、ナビゲーション装置１内のフォーマットＡ（図７）に対応する。図１３（ａ）のフォーマットＤ１は、狭域地図情報の各リンクのリンク番号７０１に対応して管理され、道路種別７０２、リンク種別７０３を有する。リンク番号７０４、始点座標７０５、終点座標７０６、補間点数７０７、補間点座標７０８は、狭域地図情報のリンクについてのデータである。符号７０９は、中域地図情報のリンクに関するデータであり、狭域地図情報のリンク番号７０４、始点座標７０５、終点座標７０６、補間点数７０７、補間点座標７０８と同様のデータが格納される。符号７１０は、同様に、広域地図情報のリンクに関するデータである。
【００５７】
図１３（ｂ）のフォーマットＤ２は、各ノードのノード番号７１１に対応して、接続ノード数７１２、接続ノード番号１（７１３）、接続ノード番号２（７１４）、接続ノード番号３（７１５）、交通規制情報７１６のデータを有する。このフォーマットＤ１のリンク情報テーブルとフォーマットＤ２のノード情報テーブルを参照して、送信する更新データを生成する。
【００５８】
−フォーマットＥ−
図１４は、フォーマットＥのリンク番号変換テーブルを示す図である。リンク番号変換テーブルは、ナビゲーション装置１に送信すべきリンク番号の対応表である。図５で示した３つの更新の種別（変更、削除、追加）に応じて、送る必要のあるパラメータが変わる。地図サーバ４からは古い更新から順に送り、端末側でも古い更新から処理していく。なお、ナビゲーション装置１でも、送信されてきたデータに基づきフォーマットＥのリンク番号変換テーブルを生成して格納する。
【００５９】
リンク番号変換テーブルは、変更ＩＤ８０１、変更前リンク番号８０２、更新種別８０３、変更後リンク番号１（８０４）、変更後リンク番号２（８０５）、追加リンク番号（８０６）、分割位置８０７を有する。１回目の更新、２回目の更新、３回目の更新等ごとに、対応表がまとめられている。図１４（ａ）は１回目の更新の変換テーブルであり、更新種別が変更の例が示されている。図１４（ｂ）は２回目の更新の変換テーブルであり、更新種別が削除の例が示されている。図１４（ｃ）は３回目の更新の変換テーブルであり、更新種別が追加の例が示されている。
【００６０】
−フォーマットＦ−
ユーザが、所定のエリアを指定して地図データの更新要求の操作を行った場合、指定されたエリアの地図データを更新しても、経路として適切な道路を選択することができない場合が生じる。図１５は、その様子を説明する図である。道路２１、道路２２は既存道路である。そこに、バイパス２３が新設された場合を想定する。ユーザが、更新エリアとしてメッシュ２５を指定すると、新設バイパス２３のメッシュ２５のみに含まれるリンクに関する更新データがナビゲーション装置１に送信され、ナビゲーション装置１で地図データの更新がなされる。しかし、メッシュ２５に隣接するメッシュの地図データは更新されないため、新設バイパス２３は、既存道路２２、２３につながった道路として選択することができない。
【００６１】
そこで、本実施の形態では、更新した道路が既存の幹線道路と繋がる部分までを１つのデータ群として保持し、その中の一部の道路のみについて更新の指定があった場合でも、そのデータ群の道路すべてを更新するようにする。これにより、経路として妥当な道路が選択できるようになる。なお、更新範囲の指定がリンク単位でなされても、このデータ群を使用して関連する道路全体の情報を送信することができる。
【００６２】
図１６は、フォーマットＦによるデータ群テーブルを示す図である。データ群テーブルは、複数のデータ群が格納可能であり、データ群数９０１、データ群１（９０２）、データ群２（９０３）、．．．データ群ｎ（９０４）を有する。各データ群ｘ９０２〜９０４は、リンク数９１１、リンク情報１（９１２）〜リンク情報ｅ（９１３）を有する。各リンク情報ｘ９１２〜９１３は、メッシュ番号９２１とリンク番号９２２を有する。
【００６３】
次に、以上説明したフォーマットのデータを使用した、ナビゲーション装置１および地図サーバ４における処理のフローチャートについて説明する。
【００６４】
−地図サーバ４の処理−
図１７は、地図サーバ４が行う地図更新処理のフローチャートを示す図である。地図サーバ４において、新しくできた道路の追加、変わった規制情報の修正、間違っていたところの修正等を行う作業後この処理を行う。ステップＳ１１では、更新後のデータを使用してフォーマットＢのデータを生成し、地図データベース５に格納する。ＣＤ−ＲＯＭ等の大容量の媒体を使って地図データの部分更新をすることも考えられるからである。ＣＤ−ＲＯＭ等に格納された例えばメッシュ単位のフォーマットＢのデータをナビゲーション装置１に提供し、ナビゲーション装置１内でＣＤ−ＲＯＭ等の記録媒体からデータを読み込んでメッシュ単位のデータを直接置きかえることも可能となる。これにより、更新処理が簡単に行うことも可能である。
【００６５】
ステップＳ１２では、変更前と変更後のリンク単位の対応がわかるフォーマットＣの更新管理テーブルを作成する。ステップＳ１３では、フォーマットＤ１の全リンクのリンク情報テーブルと、フォーマットＤ２の全ノードのノード情報テーブルを作成する。ステップＳ１４では、フォーマットＦのデータ群テーブルを作成する。データ群テーブルは、次のような基準に基づき作成する。（１）基本的につながっている新設道路を１つの群にする。（２）地図を表示したときの見栄えや経路計算したときの経路の質（遠回りしない等）を考慮して１つの群とする。（３）長い道路すべてを１つのデータ群にした場合データサイズが多くなりすぎてしまう場合は分割する。
【００６６】
地図を表示したときの見栄えや経路計算したときの経路の質などのパラメータは、オペレータが判断して地図サーバ４に入力するようにしてもよい。違和感のない経路計算や経路計算のやりやすさをパラメータとしてもよい。さらに、オペレータが適宜グルーピングするようにしてもよい。
【００６７】
図１８は、地図サーバ４が行う差分送信処理のフローチャートを示す図である。ナビゲーション装置１から部分更新要求があったとき、地図サーバ４において起動される処理である。ステップＳ２１では、ナビゲーション装置１から送信されてきたリンク情報、エリア情報を読みこむ。送信されてきたリンクが古ければ新しいものに変換しなければならない。フォーマットＣの更新管理テーブルを見て、最新バージョンの欄にナビゲーション装置１から送信されてきたリンク番号がある場合、それは最新版であるということで何もしなくてよい。ない場合、変更もしくは削除になっているので、更新管理テーブルを見てフォーマットＥのリンク番号変換テーブルに登録していく。
【００６８】
ステップＳ２２では、送信されてきた全てのリンクをチェックしたかどうかを判断する。ステップＳ２２で、全てのリンクをチェックしたと判断するとステップＳ２７に進み、全てのリンクをチェックしていないと判断するとステップＳ２３に進む。ステップＳ２３では、チェック対象のリンク番号が、最新のバージョンに存在するかどうかを判断する。最新のバージョンに存在すると判断すると、ステップＳ２２に戻り次のリンク番号をチェックする。ステップＳ２３において、最新のバージョンに存在しないと判断すると、ステップＳ２４に進む。
【００６９】
ステップＳ２４では、リンク番号が変更されているかどうか判断する。リンク番号が変更されていると判断すると、ステップＳ２５に進む。ステップＳ２５では、フォーマットＥのリンク番号変換テーブルに更新種別を変更として登録する。その後ステップＳ２２に戻る。ステップＳ２４において、リンク番号が変更されていないと判断すると、ステップＳ２６に進む。ステップＳ２６では、リンク番号変換テーブルに更新種別を削除として登録する。その後ステップＳ２２に戻る。
【００７０】
例えば、図１２に示された更新管理テーブルの例で説明する。地図サーバ４では、３回めまでの更新が完了している。ナビゲーション装置１からリンク番号１が送られてきた場合、最新バージョン（３回めの更新）のデータにリンク番号１があるので何もしなくてよい。ナビゲーション装置１からリンク番号１０２が送られてきた場合、１回めの更新で追加され、２回めの更新で削除されているのでその内容をリンク番号変換テーブルに格納する。ナビゲーション装置１からリンク番号２が送られてきた場合、１回めの更新で１００１に変更されているので、その内容をリンク番号変換テーブルに格納する。ナビゲーション装置１からリンク番号４が送られてきた場合は、３回めの更新で３００２と３００３に分割され４１１が新たに追加されているので、その内容をリンク番号変換テーブルに格納する。
【００７１】
ステップＳ２７では、ユーザ要求エリアに新規道路はないかどうかを判断する。フォーマットＣの更新管理テーブルとフォーマットＤ１のリンク情報テーブルを参照して判断する。ユーザ要求エリアに新規道路はないと判断するとステップＳ３０に進み、ユーザ要求エリアに新規道路があると判断するとステップＳ２８に進む。ステップＳ２８では、リンク番号変換テーブルに更新種別を追加として登録する。例えば、ナビゲーション装置１から要求されたエリアの中にリンク４２２があった場合、これをリンク番号変換テーブルに登録する。すでに存在するノードから始まったり終わったりする新設リンクの場合はリンクを分割しなくてもよい。ステップＳ２９では、すべてのリンクを追加したか否かを判断する。すべてのリンクを追加したと判断すると、ステップＳ３０に進み、すべてのリンクを追加していないと判断するとステップＳ２８に戻り処理を繰り返す。
【００７２】
ステップＳ３０では、上記追加リンク番号がフォーマットＦのデータ群テーブルにある場合、同じデータ群に属するリンク番号を抽出する。ステップＳ３１では、抽出したリンク番号すべてをリンク番号変換テーブルに更新種別を追加として登録する。ユーザが指定するエリア外のデータであっても、追加リンクと同じデータ群に存在するリンクをナビゲーション装置１に送るようにするためである。なお、データ量が多くなりすぎるような場合は、このデータを送るかどうかをユーザに選択してもらってもよい。
【００７３】
ステップＳ３２では、フォーマットＥのリンク番号変換テーブルの完成処理をする。ステップＳ３３では、リンク番号変換テーブルを見ながら、送信するリンクとノードの情報を、フォーマットＤ１のリンク情報テーブルとフォーマットＤ２のノード情報テーブルから抽出する。リンク番号変換テーブルだけではリンクの種別や座標等の情報がないため、必要な情報をリンク情報テーブルＤ１やノード情報テーブルＤ２から抽出する。ステップＳ３４では、リンク番号変換テーブルやステップＳ３２で抽出したリンク情報やノード情報を通信フォーマットＧ２に変換する。ステップＳ３５では、通信フォーマットＧ２に変換したデータをナビゲーション装置１へ送信する。
【００７４】
−ナビゲーション装置１の処理−
図１９は、ナビゲーション装置１が行う部分更新要求処理のフローチャートを示す図である。ナビゲーション装置１において、ユーザが地図を更新したい旨のコマンドを入力したとき起動される。ナビゲーション装置１で行う処理は、制御装置１１が実行する。
【００７５】
ステップＳ４１では、制御装置１１は、更新エリアの入力を促す。具体的には、入力画面を表示する。ステップＳ４２では、ユーザが更新エリアの入力済みであるか否かを判断する。入力済みであると判断するとステップＳ４３に進み、入力済みでないと判断するとステップＳ４１に戻り処理を繰り返す。ステップＳ４３では、ユーザにより指定されたエリア内の全リンクを抽出する。ステップＳ４４では、指定された更新エリアを示す情報と、抽出されたリンクを示す情報とを前述した通信フォーマットＧ１に変換する。ステップＳ４５では、変換された通信フォーマットＧ１のデータを地図サーバ４へ送信する。
【００７６】
図２０は、ナビゲーション装置１が行う部分更新処理のフローチャートを示す図である。部分更新処理は、地図サーバ４から部分更新データが送信されてくると起動される。ステップＳ５１では、送信されてきたデータを読み込む。送信されてくるデータは、前述した通信フォーマットＧ２のデータである。通信フォーマットＧ２の差分情報３１１に基づき、ナビゲーション装置１でもフォーマットＥのリンク番号変換テーブルを生成する。ステップＳ５２では、図２１で示す逆変換処理を行う。
【００７７】
図２１は、逆変換処理のフローチャートを示す図である。ステップＳ７１では、
少なくとも１本のリンクを更新するメッシュを抽出する。ステップＳ７２では、抽出したメッシュに該当するフォーマットＢのデータからフォーマットＡのデータを逆変換により生成する。このようにすることにより、フォーマットＡの全国エリアのデータを保持しておく必要がない。更新時に必要なエリアだけフォーマットＡのデータを生成することにより、更新しやすいフォーマットＡの使用を可能にすると同時にハードディスク１２の記憶容量を削減することができる。なお、ハードディスク１２の記憶容量が十分大きい場合は、この逆変換処理を省略するようにしてもよい。すなわち、フォーマットＡの全データ（全国エリアのデータ）をハードディスク１２に常時持っておくようにしてもよい。
【００７８】
図２０に戻って説明を続ける。ステップＳ５３では、すべての変更ＩＤをチェックしたか否かを判断する。すべての変更ＩＤをチェックしたと判断するとステップＳ６２に進み、すべての変更ＩＤをチェックしていないと判断するとステップＳ５４に進む。ステップＳ５４では、該当変更ＩＤのリンクが含まれるメッシュのフォーマットＡのデータをメモリ１５に読み込む。すなわち、更新するメッシュの元データ（更新する前のデータ）を読みこむ。ステップＳ５５では、更新種別を判断する。更新種別は３種類あり、削除の場合はステップＳ５６に進み、変更の場合はステップＳ５９に進み、削除の場合はステップＳ６１に進む。
【００７９】
更新種別が追加の場合、ステップＳ５６で変更前のリンクを削除し、ステップＳ５７で変更後のリンクを追加し、ステップＳ５８で追加リンクを追加する。図５（ａ）および図７の例で説明すると、変更前のリンク番号４情報を削除し、変更後のリンク番号３００２情報、リンク番号３００３情報を追加し、さらに追加リンク番号４１１情報を追加する。
【００８０】
更新種別が変更の場合、ステップＳ５９で変更前のリンクを削除し、ステップＳ６０で変更後のリンクを追加する。図５（ｂ）および図７の例で説明すると、変更前のリンク番号２情報を削除し、変更後のリンク番号１００１情報を追加する。
【００８１】
更新種別が削除の場合、ステップＳ６１で変更前のリンクを削除する。図５（ｃ）および図７の例で説明すると、変更前のリンク番号１０２情報を削除する。図７も参照のこと。ステップＳ５８、Ｓ６０、Ｓ６１の処理が終了するとステップＳ５３に戻り処理を繰り返す。
【００８２】
ステップＳ６２では、更新したメッシュのデータをすべてフォーマットＢに変換する。変換は、図８に示すとおり、広域、中域、狭域の管理単位に分けて行う。また、地図表示、位置検出に必要な道路データと、経路計算に使用する経路計算用データとに分離する。地図表示のナビゲーション処理や経路探索のナビゲーション処理を効率よくするためである。すなわち、更新処理がしやすいフォーマットＡのデータをナビゲーション処理がしやすいフォーマットＢのデータに変換する。道路データでは、つながっているリンクを一筆書きできる単位（リンク列単位）にデータをまとめデータサイズを小さくする。具体的には、連続する同一道路種別と同一リンク種別のリンクを抽出してリンク列とする。
【００８３】
ステップＳ６３では、メモリ１５上でフォーマットＢに変換したデータを、ハードディスク１２上の古いデータと置きかえる。メッシュ単位で処理される。ステップＳ６４では、メッシュ間接続情報を作成する。更新したメッシュは、更新していない（する必要のなかった）メッシュとの境界部分でフォーマットＢの接続リンク格納場所の情報が変わってしまっている可能性がある。そのため、４次元座標が同一であれば同一点と見なすことにより、接続リンク格納場所の情報を生成しフォーマットＢに格納する。
【００８４】
ステップＳ６５では、ハードディスク１２上のフォーマットＡのデータを削除する。図２１のステップＳ７２で、フォーマットＢのデータからフォーマットＡのデータを逆変換して生成するので、更新が終了するとフォーマットＡのデータは不要である。これにより、フォーマットＡの全国エリアのデータを保持しておく必要がなく、ハードディスク１２の記憶容量を削減することができる。なお、ハードディスク１２の記憶容量が十分大きい場合は、前述した逆変換処理を省略するとともに、ステップＳ６５の処理も省略する。
【００８５】
図２２は、ナビゲーション装置１が行うナビゲーション処理のフローチャートを示す図である。ナビゲーション処理は各種あるが、ここでいうナビゲーション処理は、地図データの更新後ただちに行う処理のことを言う。図２１の処理によりフォーマットＢの更新データが生成された後起動される。ナビゲーション装置１では、推奨経路が演算されるとその経路情報をメモリ１５およびハードディスク１２に格納する。また、現在地情報もメモリ１５およびハードディスク１２に格納する。このとき、地図データに部分更新があると、経路誘導処理や地図表示処理においてデータの整合性が得られず不都合が生じる。そのため、更新後の地図データと演算処理済み結果とを整合させるため本処理を実行する。
【００８６】
ステップＳ８１では、フォーマットＨ１の推奨経路情報内に更新前のリンクが存在するか否かを判断する。更新前のリンクが存在しないと判断するとステップＳ８４に進み、更新前のリンクが存在すると判断するとステップＳ８２に進む。ステップＳ８２では、フォーマットＥのリンク番号変換テーブルを用いて、フォーマットＨ１の推奨経路情報内のリンク番号を変換する。例えば、図５（ａ）の場合、図１０（ａ）に示すようにリンク４情報をリンク３００２情報とリンク３００３情報に置きかえる必要がある。また、リンク数が増えるのでリンク数６０１の内容も書き換える。ステップＳ８３では、内分位置を計算しなおす。推奨経路情報の始点位置、終点位置は、リンクの途中に存在する場合がある。従って、始点位置、終点位置に関係するリンクに更新があった場合には、内分位置を計算しなおす必要が生じる。
【００８７】
ステップＳ８４では、フォーマットＨ２の現在位置管理情報内に更新前のリンクが存在するか否かを判断する。更新前のリンクが存在しないと判断すると処理を終了し、更新前のリンクが存在すると判断するとステップＳ８４に進む。ステップＳ８４では、フォーマットＥのリンク番号変換テーブルを用いて、フォーマットＨ２の現在位置管理情報内のリンク番号を変換する。例えば、図５（ｂ）の場合、図１０（ｂ）に示すように、リンク２情報をリンク１００１情報に置きかえる。ステップＳ８６では、内分位置を計算しなおし、処理を終了する。
【００８８】
現在位置が乗っているリンクに、新たにノードが追加された場合の内分位置の計算について説明する。図２３は、内分位置の計算を説明する図である。図２３において、ａを新規ノード発生位置（元のリンクの０〜１００までの内分点で表す）、ｂを現在位置のリンク上での位置（元のリンクの０〜１００までの内分点で表す）とする。
ａ＜ｂの場合、
更新後の新しいリンクでの内分位置は、（ｂ−ａ）／（１００−ａ）、
ａ＞ｂの場合、
更新後の新しいリンクでの内分位置は、ｂ／ａ
で求められる。
【００８９】
−検索データの処理−
図２４は、ナビゲーション装置１が行う検索処理のフローチャートを示す図である。ナビゲーション装置１は、道路データや経路計算用データ以外に、検索データや高速道路情報データを有する。検索データは、物件に関する各種の情報が格納されたデータである。図２５は、検索データの一例を示す図である。検索データは、各物件が例えばあいうえお順にソートされている。各物件１００１は、レストラン、駅等のカテゴリの分類番号が入るカテゴリー１００２、物件の存在する道路のリンク番号１００３、リンクの中の内分位置（０〜１００の間）１００４、物件の住所１００５、物件の電話番号１００６、リンクの右にあるか左にあるかのフラグ１００７を有する。
【００９０】
以上のように、検索データの各物件情報はリンク番号を有する。上記説明したように、リンクが更新されリンク番号が変更された場合、検索データ内のリンク番号も更新する必要がある。しかし、検索データの数は多く、更新ごとに検索データも更新するのは処理の効率が悪い。そこで、本実施の形態では、図２４のような処理を行う。
【００９１】
ステップＳ９１では、検索データを使用して通常の検索処理を行う。ステップＳ９２では、ステップＳ９１で検出された物件のリンク番号が更新されているか否かを判断する。更新されているか否かは、フォーマットＥのリンク番号変換テーブルを参照してチェックする。更新されていないと判断すると処理を終了し、更新されていると判断するとステップＳ９３に進む。ステップＳ９３では、リンク番号変換テーブルを用いてリンク番号を変換する。ステップＳ９４では、変換されたリンク上での内分位置を計算しなおす。内分位置の再計算は、図２４と同様に行う。
【００９２】
このように、リンク情報を実際に使用する時点に、リンク番号変換テーブルを使用して該当するリンク情報が更新されているか否かを判断する。更新されていれば、更新後のリンク情報を使用する。これにより、大量なデータをその都度更新する必要がなく、同時に、更新データとの整合性を確実に取ることができる。
【００９３】
以上説明したような本実施の形態では次のような効果を奏する。
（１）地図データ更新のためのフォーマットＡとナビゲーション機能を実現するソフトウエアが処理しやすいフォーマットＢの２種類のデータを持つので、部分更新とナビゲーション処理をともに効率よく行うことができる。更新に便利なフォーマットのデータを使用してナビゲーション処理の効率が悪くなることが防止でき、また、ナビゲーション処理に便利なフォーマットのデータを使用して更新処理の効率が悪くなることを防止できる。
（２）ナビゲーション装置１では、フォーマットＡのデータを通常保有せず、更新時にフォーマットＢのデータから逆変換により生成するようにした。これにより、ハードディスク１２の容量が少なくて済む。
（３）リンクが更新されたとき、推奨経路におけるリンク番号も更新するようにしたので、更新後のデータを使用して経路探索を再演算する必要がない。データの整合性も取れる。
（４）リンクが更新されたとき、現在位置管理情報におけるリンク番号も更新するようにしたので、データの整合性が確実に取れる。
（５）リンク番号変換テーブルを持つようにしたので、更新前のリンクと更新後のリンクの対応関係を容易に把握することができる。
（６）検索データなど大きなデータを扱うとき、まずリンク番号変換テーブルを見て更新があったかどうかを判断するようにした。これにより、大きなデータをその都度更新する必要がなく、必要になった時点で最新のデータを取得して処理できる。その結果、処理の効率化が図られる。ユーザが設定した位置をリンクと関連付けて記憶している場合にも、検索データと同様に扱えばよい。
（７）新しくできた道路について、接続するリンクをデータ群として持つようにした。ユーザにより一部のエリアの更新要求があっても、データ群に格納される一連のリンクの情報を送信するようにしたので、経路が途切れることがなくなる。これにより、ユーザが一部のエリアしか更新指示しなくても、適切な経路探索が可能となり、地図表示の見栄えもよくなる。
（８）ナビゲーション装置１では、地図データをレベルに分けて使い分けするが、更新時にはフォーマットＡのデータのみを準備すればよく、すべてのレベルの更新データを準備する必要がない。
（９）ノードの特定を４次元座標を使用しているので、立体交差している地点やデータの更新があった地点を確実に特定することができる。
（１０）更新データの送信は、リンク単位のデータで行うので送信容量が少なくて済む。ナビゲーション装置１内では、メッシュ単位で処理をするので効率がよい。
（１１）更新データをインターネット経由の通信によって提供するので、迅速にかつ安い費用で最新の更新データを提供することができる。
（１２）ノード位置情報に、緯度経度に対応する２次元座標値を使用するようにしているので、データ更新の方式が機種に依存したり、規格に依存したりすることを防止することができる。すなわち、緯度経度に対応する２次元座標は普遍的なデータと言えるので、これらのデータを使用することにより、データ更新の方式を標準化できる。
【００９４】
上記の実施の形態では、ナビゲーション装置の制御装置１１が実行する制御プログラムはＲＯＭに格納されている例で説明をしたが、この内容に限定する必要はない。制御プログラムやそのインストールプログラムをインターネットなどに代表される通信回線などの伝送媒体を介して提供することも可能である。すなわち、プログラムを、伝送媒体を搬送する搬送波上の信号に変換して送信することも可能である。プログラムをインターネットで提供する場合は、図１と同じような構成で提供すればよい。例えば、地図サーバ４をアプリケーションプログラムを提供するサーバーとすればよい。
【００９５】
また、上述の制御プログラムをパソコン上で実行させてカーナビゲーション装置を実現するようにしてもよい。図２６は、その様子を示す図である。その場合、現在地検出装置１３や入力装置１４などは、パソコン３０の所定のＩ／Ｏポートやインターフェースなどに接続するようにすればよい。プログラムは、インターネット３１やＣＤ−ＲＯＭ３４などの記録媒体で提供してもよい。記録媒体はＣＤ−ＲＯＭに限定する必要はなく、ＤＶＤ、磁気テープやその他のあらゆる記録媒体を使用するようにしてもよい。インターネット３１を介して提供する場合、アプリケーションプログラムサーバ３２は、データベース３３に格納されたプログラムを読み出して提供する。データベース３３も記録媒体と言える。
【００９６】
上記の実施の形態では、インターネットを介して更新データを提供する例を説明したが、この内容に限定する必要はない。更新用データをＣＤ−ＲＯＭやＤＶＤ−ＲＯＭなどに書きこんで、記録媒体により提供するようにしてもよい。この場合、ナビゲーション装置１は記録媒体駆動装置が搭載されている必要がある。
【００９７】
上記の実施の形態では、車載用ナビゲーション装置１の例を説明したが、この内容に限定する必要はない。携帯用ナビゲーション装置にも適用できる。また、携帯電話やＰＤＡなどでナビゲーションを実現する場合にも適用できる。すなわち、ナビゲーションを行うあらゆる装置に適用できる。
【００９８】
上記の実施の形態では、ナビゲーション装置１においてハードディスク１２に地図データが格納されている例を説明したが、この内容に限定する必要はない。その他の書き換え可能な不揮発性メモリに格納するようにしてもよい。
【００９９】
上記の実施の形態では、道路データと経路計算用データを更新する例を説明したが、この内容に限定する必要はない。例えば、誘導データやその他の地図データにも適用することができる。
【０１００】
上記の実施の形態では、ナビゲーション装置１におけるユーザからの更新要求により地図サーバ４から更新情報を提供する例を説明したが、この内容に限定する必要はない。地図サーバ４において地図データの更新があれば、地図サーバ４から適宜送信するようにしてもよい。すなわち、ナビゲーション装置１の地図データを自動的に更新するようにしてもよい。
【０１０１】
上記では、種々の実施の形態および変形例を説明したが、本発明はこれらの内容に限定されるものではない。本発明の技術的思想の範囲内で考えられるその他の態様も本発明の範囲内に含まれる。
【０１０２】
【発明の効果】
本発明によれば、地図データの部分更新があても更新前の道路と更新後の道路との対応を確実に取ることができる。
【図面の簡単な説明】
【図１】地図表示用データや経路計算用データなどの地図データの更新システムについて説明する図である。
【図２】車載用ナビゲーション装置のブロック図である。
【図３】地図データのレベル、ブロック、メッシュの関係を説明する概念図である。
【図４】ナビゲーション装置と地図サーバにおけるデータフォーマットを説明する図である。
【図５】地図データの更新の態様を説明する図である。
【図６】ナビゲーション装置と地図サーバ間の通信フォーマットＧの構成を説明する図である。
【図７】ナビゲーション装置において使用される地図データのフォーマットＡの構成を説明する図である。
【図８】ナビゲーション装置において使用される地図データのフォーマットＢの構成を説明する図である。
【図９】規制情報を説明する図である。
【図１０】ナビゲーション装置における、ナビゲーション処理に伴う情報に関するフォーマットＨを説明する図である。
【図１１】ノード番号を４次元で表し、ノード番号の組み合わせでリンク番号を表している様子を示す図である。
【図１２】更新管理テーブルのフォーマットＣの構成を説明する図である。
【図１３】地図サーバ内で保有するリンク情報テーブルとノード情報テーブルのフォーマットＤの構成を説明する図である。
【図１４】フォーマットＥのリンク番号変換テーブルを示す図である。
【図１５】ユーザが、所定のエリアを指定して地図データの更新要求の操作を行った場合を説明する図である。
【図１６】フォーマットＦによるデータ群テーブルを示す図である。
【図１７】地図サーバが行う地図更新処理のフローチャートを示す図である。
【図１８】地図サーバが行う差分送信処理のフローチャートを示す図である。
【図１９】ナビゲーション装置が行う部分更新要求処理のフローチャートを示す図である。
【図２０】ナビゲーション装置が行う部分更新処理のフローチャートを示す図である。
【図２１】ナビゲーション装置が行う逆変換処理のフローチャートを示す図である。
【図２２】ナビゲーション装置が行うナビゲーション処理のフローチャートを示す図である。
【図２３】内分位置の計算を説明する図である。
【図２４】ナビゲーション装置が行う検索処理のフローチャートを示す図である。
【図２５】検索データの一例を示す図である。
【図２６】制御プログラムをパソコン上で実行させている様子を示す図である。
【符号の説明】
１  ナビゲーション装置
２  通信装置
３  インタネット
４  地図サーバ
５  地図データベース
１１  制御装置
１２  ハードディスク
１３  現在地検出装置
１４  入力装置
１５  メモリ
１６  通信インターフェース
１７  モニタ
１９  入力装置
【図１】
2004177246.tif 000003
【図２】
2004177246.tif 000004
【図３】
2004177246.tif 000005
【図４】
2004177246.tif 000006
【図５】
2004177246.tif 000007
【図６】
2004177246.tif 000008
【図７】
2004177246.tif 000009
【図８】
2004177246.tif 000010
【図９】
2004177246.tif 000011
【図１０】
2004177246.tif 000012
【図１１】
2004177246.tif 000013
【図１２】
2004177246.tif 000014
【図１３】
2004177246.tif 000015
【図１４】
2004177246.tif 000016
【図１５】
2004177246.tif 000017
【図１６】
2004177246.tif 000018
【図１７】
2004177246.tif 000019
【図１８】
2004177246.tif 000020
【図１９】
2004177246.tif 000021
【図２０】
2004177246.tif 000022
【図２１】
2004177246.tif 000023
【図２２】
2004177246.tif 000024
【図２３】
2004177246.tif 000025
【図２４】
2004177246.tif 000026
【図２５】
2004177246.tif 000027
【図２６】
2004177246.tif 000028