(57)【特許請求の範囲】
【請求項１】
ナビゲーション装置であって、
始端と終端にノードを有するリンクで道路を表すように定義し、隣接するノードの接続関係を示す経路探索用データを縮尺率の小さい上位レベルおよび縮尺率の大きい下位レベルについてそれぞれ格納する地図データベース手段と、
前記地図データベース手段から前記経路探索用データを読み出し、前記読み出した経路探索用データを使用して出発地から目的地までの経路探索を行う経路探索手段とを備え、
前記地図データベース手段は、縮尺率の小さい上位レベルの経路探索用データと縮尺率の大きい下位レベルの経路探索用データとの対応関係を表すレベル間対応データを前記経路探索用データとは別データとして格納し、
前記レベル間対応データには、前記上位レベルから前記下位レベルを見た場合のノードの対応情報として、前記上位レベルの上位ノードを表す番号と、前記上位ノードに対応する下位レベルの下位ノードを表す番号と、所定の上位レベルの一の地図領域をレベルが下がるにつれ複数に分割した小領域を定義した場合の前記下位ノードが存在する前記下位レベルの前記小領域の番号とがそれぞれ互いに対応づけられて設けられ、
前記小領域の番号体系は、前記所定の上位レベルの一の地図領域を基準にした場合の相対的な分割を表す番号体系であり、前記上位レベルおよび前記下位レベルのそれぞれの小領域に共通に使用される番号体系であり、前記所定の上位レベルの一の地図領域がレベルが下がるにつれ分割される小領域の数に対応する番号を使用した番号体系であり、前記下位レベルの小領域の番号から前記所定の上位レベルの一の地図領域内での前記下位レベルの小領域の位置が特定できる番号体系であり、
前記経路探索手段は、前記出発地近傍の所定の領域および前記目的地近傍の所定の領域については前記下位レベルの経路探索用データを使用して経路探索を行い、前記下位レベルの経路探索用データを使用した前記出発地近傍の経路探索により得られたノードから前記下位レベルの経路探索用データを使用した前記目的地近傍の経路探索により得られたノードにいたる経路探索は前記上位レベルの経路探索用データを使用して行い、前記下位レベルの経路探索用データを使用した経路探索により得られたノードと前記上位レベルの経路探索用データを使用して行う経路探索におけるノードの対応づけを前記レベル間対応データの前記上位レベルの上位ノードを表す番号と、前記下位レベルの下位ノードを表す番号と、前記下位レベルの小領域の番号とを読み出して行う。
【請求項２】
請求項１のナビゲーション装置において、
前記レベル間対応データは、前記上位レベルのノードが含まれる前記小領域の番号順、かつ同一の小領域に含まれるノードの番号順にソートされている。
【請求項３】
請求項１または２のナビゲーション装置において、
前記レベル間対応データには、上位レベルの自ノードに隣接する上位隣接ノードの番号と、その上位自ノードに対応する下位レベルの自ノードに隣接する下位隣接ノードの番号とが対応づけて設けられている。
【発明の詳細な説明】
【０００１】
技術分野
本発明は、ナビゲーション装置に関する。
【０００２】
背景技術
車両位置周辺の道路地図を表示する機能や、マップマッチングを行って車両位置を正確に検出する機能や、出発地から目的地までの推奨ルートを演算する機能等を兼ね備えた車載用ナビゲーション装置が知られている。これら従来の車載用ナビゲーション装置では、既存のソフトウェアとの互換性を維持し、かつ処理速度を上げるために、道路地図表示用のデータ、マップマッチング用のデータおよびルート探索用のデータを１枚のＣＤ−ＲＯＭにそれぞれ別々に格納している。
【０００３】
道路地図表示用データは、縮尺率が最も小さく広い地域を表示するための最広域地図データと、縮尺率が最も大きく狭い地域を詳細に表示する最詳細地図データと、最広域地図データと最詳細地図データとの間の異なる縮尺率の複数の地図データとを備えている。たとえば最広域地図データをレベル４のデータ、最詳細地図データをレベル１のデータ、レベル４とレベル１との間のデータをそれぞれレベル３および２のデータと呼ぶ。
【０００４】
図２３は上記レベル４、３、および２として記憶する道路地図表示用データの道路地図を説明する図であり、ＣＤ−ＲＯＭにはレベル４の道路地図表示用データとレベル３の道路地図表示用データとレベル２の道路地図表示用データが別々に記憶される。図２３はレベル４の１つのメッシュＭ４の道路地図を示し、このメッシュＭ４には１本の道路Ｄ１と、道路Ｄ１の交差点ｎ３に接続される道路Ｄ２と、道路Ｄ１の両端の交差点ｎｌ，ｎ２に接続される２本の道路Ｄ３，Ｄ４が存在している。レベル４の１つのメッシュＭ４を１６等分したハッチングで示す小領域ｍ３がレベル３の１つのメッシュＭ３となり、図２３に示すように、メッシュＭ３には道路Ｄ１，Ｄ２の一部分だけが存在する。レベル３の１つのメッシュＭ３を１６等分したハッチングで示す小領域ｍ２がレベル２の１つのメッシュＭ２となり、図２３に示すように、メッシュＭ２には道路Ｄ１，Ｄ２の一部分と道路Ｄ１に接続されている道路Ｄ５，Ｄ６などが存在する。
【０００５】
推奨経路探索機能を有するナビゲーション装置では、上述した道路地図データとは別にルート探索用データを備えている。ルート探索には道路形状は必要がないので、ルート探索用データは、あるノード（本明細書では自ノードと呼ぶ）とそれに接続されているノード（本明細書では隣接ノードと呼ぶ）のデータを持つ。ノードデータにはノードの位置座標が含まれる。
【０００６】
たとえば、道路地図データのレベル４とレベル２に対応する２つのルート探索用データを備え、ルート探索にあたっては出発地近傍と目的地近傍をレベル２で探索し、それ以外の領域をレベル４で探索するようにして、ルート探索時間を短縮化している。
【０００７】
このような従来技術においては、上位レベルと下位レベルとの間のノードの対応づけを小さい記憶容量で効率良く行なうとともに、高い信頼性で行なうことが要望されている。
【０００８】
発明の開示
請求項１の発明は、ナビゲーション装置に適用され、始端と終端にノードを有するリンクで道路を表すように定義し、隣接するノードの接続関係を示す経路探索用データを縮尺率の小さい上位レベルおよび縮尺率の大きい下位レベルについてそれぞれ格納する地図データベース手段と、地図データベース手段から経路探索用データを読み出し、読み出した経路探索用データを使用して出発地から目的地までの経路探索を行う経路探索手段とを備え、地図データベース手段は、縮尺率の小さい上位レベルの経路探索用データと縮尺率の大きい下位レベルの経路探索用データとの対応関係を表すレベル間対応データを経路探索用データとは別データとして格納し、レベル間対応データには、上位レベルから下位レベルを見た場合のノードの対応情報として、上位レベルの上位ノードを表す番号と、上位ノードに対応する下位レベルの下位ノードを表す番号と、所定の上位レベルの一の地図領域をレベルが下がるにつれ複数に分割した小領域を定義した場合の下位ノードが存在する下位レベルの小領域の番号とがそれぞれ互いに対応づけられて設けられ、小領域の番号体系は、所定の上位レベルの一の地図領域を基準にした場合の相対的な分割を表す番号体系であり、上位レベルおよび下位レベルのそれぞれの小領域に共通に使用される番号体系であり、所定の上位レベルの一の地図領域がレベルが下がるにつれ分割される小領域の数に対応する番号を使用した番号体系であり、下位レベルの小領域の番号から所定の上位レベルの一の地図領域内での下位レベルの小領域の位置が特定できる番号体系であり、経路探索手段は、出発地近傍の所定の領域および目的地近傍の所定の領域については下位レベルの経路探索用データを使用して経路探索を行い、下位レベルの経路探索用データを使用した出発地近傍の経路探索により得られたノードから下位レベルの経路探索用データを使用した目的地近傍の経路探索により得られたノードにいたる経路探索は上位レベルの経路探索用データを使用して行い、下位レベルの経路探索用データを使用した経路探索により得られたノードと上位レベルの経路探索用データを使用して行う経路探索におけるノードの対応づけをレベル間対応データの上位レベルの上位ノードを表す番号と、下位レベルの下位ノードを表す番号と、下位レベルの小領域の番号とを読み出して行うとするものである。
請求項２の発明は、請求項１のナビゲーション装置において、レベル間対応データは、上位レベルのノードが含まれる小領域の番号順、かつ同一の小領域に含まれるノードの番号順にソートされているとするものである。
請求項３の発明は、請求項１または２のナビゲーション装置において、レベル間対応データには、上位レベルの自ノードに隣接する上位隣接ノードの番号と、その上位自ノードに対応する下位レベルの自ノードに隣接する下位隣接ノードの番号とが対応づけて設けられているとするものである。
【０００９】
発明を実施するための最良の形態
図１は本発明の地図データベース装置を内部に有する車載用ナビゲーション装置の一実施の形態のブロック図である。図１において、１は車両の現在地を検出する現在地検出装置であり、例えば車両の進行方位を検出する方位センサや車速を検出する車速センサやＧＰＳ（Global Positioning System）衛星からのＧＰＳ信号を検出するＧＰＳセンサ等から成る。
【００１０】
２は装置全体を制御する制御回路であり、マイクロプロセッサおよびその周辺回路から成る。３は車両の目的地等を入力する入力装置、４は現在地検出装置１によって検出された車両位置情報等を格納するＤＲＡＭ、５は表示装置６に表示するための画像データを格納する画像メモリであり、画像メモリ５に格納された画像データは適宜読み出されて表示装置６に表示される。７は制御回路２が演算した推奨ルート上のノード情報やリンク情報等を格納するＳＲＡＭである。
【００１１】
８は、道路地図表示、経路探索（ルート探索）およびマップマッチング等を行うための種々のデータを格納する地図データベース装置であり、例えばＣＤ−ＲＯＭ装置や磁気記録装置等で構成される。９はこの地図データベース装置に装填される上記データが記録された記録媒体であり、例えばＣＤ−ＲＯＭである。単に地図データベース装置という場合はこの記録媒体も含めるものである。地図データベース装置８には、道路形状や道路種別に関する情報などから成る地図表示用データと、道路形状とは直接関係しない分岐点情報や交差点情報などから成るルート探索用データとが格納されている。地図表示用データは主に表示装置６に道路地図を表示する際に用いられ、ルート探索用データは主に推奨経路（推奨ルート）を演算する際に用いられる。
【００１２】
次に、地図データベース装置８に格納されている地図表示用データとルート探索用データのデータ構成について詳述する。
【００１３】
［１］地図表示用データ
(1)リンク列データの概要
本実施の形態の地図表示用データは、道路地図を所定範囲ごとに区分けしたメッシュ領域ごとにデータを管理しており、メッシュ領域内に存在する各道路をそれぞれ別々のリンク列とする。例えば、図２に示すように、１つのメッシュ領域内で２本の道路Ｄ１，Ｄ２が交差している場合には、各道路をそれぞれ別々のリンク列１，２で表すものとし、リンク列１はリンク１１，１２で構成され、リンク列２はリンク２１〜２３で構成されるものとする。この場合、リンク列１の各リンク、リンク列２の各リンクは同一種別の道路である。リンクは道路を表す最小単位であり、図２では交差点間を一つのリンクの単位とし、各リンクに固有の番号（以下、リンク番号と呼ぶ）をつけて区別する。図２の交差点、すなわち各リンクの接続点をノードＮ０〜Ｎ４で表している。ノードは各リンクの始点と終点でもあり、後述するように、ノード間をさらに細かく区分する補間点を設ける場合もある。
【００１４】
また、本実施の形態では、橋やトンネル等のように道路上に特徴的な構造物がある場合には、その前後の道路を別のリンク列データとする。例えば、図３に示すように、国道２４６号上に橋およびトンネルがある場合には、橋およびトンネルの手前、橋およびトンネルの区間、橋およびトンネルの先をそれぞれ別々のリンク列とする。図３では、これらをリンク列１０１〜１０５として表している。このように、道路上の特徴的な構造物を境にしてその前後を別々のリンク列とすることで、道路地図上の橋やトンネル等を容易に検索できるようになる。
【００１５】
地図表示用データは、縮尺率の異なる複数のデータを有する。本実施の形態では、各縮尺率のデータをレベルｎ（ｎは例えば１〜４）のデータと呼ぶ。レベル１が最も詳細な道路地図であり、レベルが上がるほど小縮尺率で広域な道路地図となる。
【００１６】
(2)リンク列データのデータ構成
図２の道路について説明すると、地図表示用データは、図４に示すとおり、リンク列１，２〜ｎに関する各種情報を記述したリンク列データをリンク列ごとに設けて構成され、各リンク列のデータはリンク列情報とノードリンク情報とを有し、リンク列情報は図４にも示す通りの次のデータから構成される。
【００１７】
(1)リンク列サイズ
(2)要素点数
(3)リンク属性
(4)道路名称オフセット
(5)路線番号
【００１８】
またノードリンク情報は図４にも示す通りの次のデータから構成される。
(1)属性１＋Ｘ座標
(2)属性２＋Ｙ座標
(3)同一ノードオフセット
(4)誘導オフセット
(5)リンク番号
(6)高さ情報
【００１９】
(3)リンク列情報について
図４において、リンク列サイズはリンク列のデータ長を示すデータである。要素点数はノード点数と補間点数の合計を表すデータ、リンク属性は国道、県道、高速道路などの道路の種別を表すデータ、路線番号は国道や県道の番号である。道路名称オフセットはこの実施の形態では関係がないので説明を省略する。補間点は後述する。
【００２０】
(4)ノードリンク情報について
図５は図２に示すリンク列１および２の詳細を示す。例えば、図５の太線で示すリンク列２のノードリンク情報は図６のようになる。図示のように、リンク列２のデータは、リンク列上のノードＮ１，Ｎ０２，Ｎ３（図５の黒丸）に関するノード情報と補間点（図５の白丸）に関する補間点情報とを含む。ノード情報は、ノードの位置座標Ｘ，Ｙと、ノードに接続されるリンクの属性と、リンク番号とを有し、補間点情報は補間点の位置座標Ｘ，Ｙを有する。これらの位置座標が後述する推奨ルート表示用の形状データあるいはマップマッチング用の形状データとして用いられる。図５の太線のリンク列２は、ノードＮ１とＮ０２の間のリンク番号２１のリンクと、ノードＮ０２とＮ３との間のリンク番号２２のリンクと、ノードＮ３に接続されたリンク番号２３のリンクとを有する。図６からわかるように、ノードＮ０２のノード情報はリンク番号２１のリンクとリンク番号２２のリンクとで共有している。これらノード情報および補間点情報は、リンクの接続順にデータ配置されている。このため、リンク列データを先頭アドレスから順に読み出すことで、リンク列全体の道路形状や道路種別等を検出できる。
【００２１】
このように、本実施の形態では、１つのメッシュ領域内において、リンク列を単位としてデータを管理して、隣接するリンク間のノードは互に共有するため、図２４に示す従来例のように、リンクを単位としてデータを管理する場合に比べてデータの総容量を減らせる。図２４では、リンクＬ０〜Ｌ３はそれぞれ始点と終点にノードＮ０ｂ，Ｎ１ａ，Ｎ１ｂ……Ｎ３ａを有し、各ノードには接続情報として同一ノードであること示す同一ノード情報Ｃ０１，Ｃ１０……が設けられている。
【００２２】
(5)同一ノードを表すオフセット
図５において、リンク列１とリンク列２が交差する地点のノードの符号を、リンク列１のノードをＮ０１とし、リンク列２のノードをＮ０２とし、さらに、リンク列３のノードをＮ０３とする。その場合、これら交差点Ｎ０１〜Ｎ０３のノード情報はそれぞれ同一ノードオフセットというデータ項目を有している。
【００２３】
図７により同一ノードオフセットを詳細に説明する。例えば、リンク列２のノードＮ０２の同一ノードオフセットとしては、リンク列１のノードＮ０１のノード情報が記憶されたアドレス値が格納され、同様に、リンク列１のノードＮ０１の同一ノードオフセットとしては、リンク列３のノード情報が記憶されたアドレス値が格納され、リンク列３のノードＮ０３の同一ノードオフセットとしては、リンク列２のノードＮ０２のノード情報が記憶されたアドレス値が格納される。
【００２４】
一方、図５の交差点Ｎ０１〜Ｎ０３で表された交差点以外のノードは他の道路と交差していないため、これらノードのノード情報の同一ノードオフセット記憶領域には、同一ノードに関する他のノードが存在しないことを示す特定の値、例えばＦＦＦＦｈが格納される。
【００２５】
このように、同一ノードオフセットを設けることで、交差点のように同一ノードに対して複数のノード情報が存在する場合でも、各ノード情報の対応関係を容易に把握できるようになる。また、従来の装置では、図２５に示すように、３本の道路が交差する交差点に対応するノードを５つ（Ｎ０ａ〜Ｎ０ｄ）必要としていたのに対し、本実施の形態では図５に示すように３つ（Ｎ０１〜Ｎ０３）で足りるため、データ量を削減できる。
【００２６】
(6)属性１
ノードのＸ座標とともに格納される属性１はリンク列データを逆方向に読み出すためのオフセット情報である。前述したように、リンク列データには、実際に接続されている順序に従ってノード情報や補間点情報などがデータ配置されている。このため、リンク列データを記憶部の先頭アドレスから順に読み出せば、先頭位置からの道路形状を正確に把握できる。
【００２７】
一方、場合によっては、リンク列データを最後尾から読み出して、最後尾からの道路形状を把握する必要が生じる場合もある。この場合、最後尾のノード情報や補間点情報を読み出した後に、その直前にデータ配置されているノード情報等のヘッダ位置を検出する必要がある。例えば、図５の太線で示すリンクのリンク列データ（図６）を最後尾から読み出す場合を考えると、図８に矢印で示すように、ノードＮ３のノード情報を読み出した後にその直前にデータ配置されている補間点情報のヘッダ位置を検出し、このヘッダ位置から補間点情報を読み出す必要がある。ところが、ノード情報や補間点情報のデータ量は以下に説明するようにノードや補間点によって異なっており、ノード情報や補間点情報のヘッダ位置を一律に決めることはできない。
【００２８】
図９Ａ〜Ｄはノード情報や補間点情報のデータ量が異なる場合を説明する図であり、図９Ａはノード情報等がＸ，Ｙ位置座標の２ワードで構成される場合、図９Ｂは図９Ａに同一ノードオフセットを加えた３ワードで構成される場合、図９Ｃは図９Ｂに誘導オフセット情報を加えた４ワードで構成される場合、図９Ｄは図９Ｃにリンク番号を加えた５ワードで構成される場合をそれぞれ示す。
【００２９】
図９Ａ〜Ｄに示すように、ノード情報や補間点情報のデータ量は各リンクによって異なるため、本実施の形態では、ノード情報や補間点情報のヘッダ位置を示す情報を属性１のデータとして予めリンク列データに付加している。この実施の形態では、各ノードや補間点のＸ位置座標とともに付加している。
【００３０】
たとえば、図１０Ａは、属性１＋Ｘ座標データを構成する２バイトデータの下位１１ビットにＸ位置座標を格納し、上位２ビットに各ノード情報等のヘッダ位置を示す情報を格納する例を示す図である。この上位２ビットには、各ノード情報等のヘッダ位置まで何ワードであるかを示す情報が格納される。
【００３１】
このように、本実施の形態では、直前のノード情報等のヘッダ位置を示す情報をリンク列データに付加するため、リンク列データを逆方向に読み出す場合でも、すべてのノード情報等を漏れなく読み出すことができる。
【００３２】
(7)属性２
ノードのＹ座標とともに格納される属性２は交通規制情報、道路幅情報、車線数情報を含む。リンク列データを構成するノードリンク情報の各データのデータ長は１６ビット（２バイト＝１ワード）である。属性２＋Ｙ座標を表すデータの下位１１ビットには、図１１Ａに示すように、下位１１ビットにＹ位置座標を格納し、上位５ビットに交通規制情報、道路幅情報および車線数情報が格納される。上位５ビットのビットの組み合わせによって図１１Ｂの(1)〜(8)のいずれかの情報が選択される。
【００３３】
このように、ノードの位置座標等を格納するための２バイトデータの空きビットを利用して道路幅情報と交通規制情報と車線数情報を格納するようにしたため、データ量を増やすことなく道路幅情報や交通規制情報等をリンク列データに付加できる。
【００３４】
(8)高さ情報
道路地図を３次元表示する場合には、道路地図上の複数の地点について標高差に関するデータが必要となる。そこで、本実施の形態では、リンク列を構成する各リンクの高さ情報をまとめてリンク列データの最後尾に付加している。なお、高さ情報を有するリンク列データと高さ情報を持たないリンク列データとが混在するので、高さ情報は複数のノードおよび複数の補間点にそれぞれ付加することができる。
【００３５】
リンク列データに高さ情報を付加することで、道路地図を立体的に表示できるようになる。また、高さ情報をリンク列データの最後尾にまとめて付加するため、必要なときだけ高さ情報を読み出せばよく、例えば通常の平面地図を表示する場合のように高さ情報が不要の場合には、高さ情報の直前までのデータを読み出せばよい。
【００３６】
［２］ルート探索用データ
ルート探索用データは縮尺率の異なる複数の道路地図表示用データに対応する複数のデータを有し、各縮尺率のデータをレベルｍ（ｍは例えば２，４）のデータと呼ぶ。
【００３７】
図１２はルート探索用データのデータ構成を示す図である。ルート探索用データには、図示のように、道路を表現する最小単位であるリンクの接続点（ノード）ごとに、他のノードとの接続関係を示すノード情報が格納されている。各ノード情報はそれぞれ、自ノード情報と隣接ノード情報とからなり、自ノード情報の中にはノードの位置座標が格納されている。一方、隣接ノード情報には、図示のように、隣接ノード番号と、自ノードから隣接ノードに至るまでのリンクのリンク番号と、そのリンクのリンクコストと、そのリンクの交通規制情報とが格納されている。また、各ノード情報は、リンクの接続順に格納されており、格納される順番によって自ノードのノード番号を把握できるようにしている。このため、自ノード情報として自ノードのノード番号を格納しなくても自ノードのノード番号を把握でき、メモリ容量を削減できる。
【００３８】
［３］ルート探索用レベル間対応データ
図１３はルート探索用レベル間対応データのデータ構成を示す図である。ルート探索用レベル間対応データは各レベルのメッシュ（たとえば図２３のメッシュＭ４，Ｍ３，Ｍ２）ごとに設けられている。図１３は、１つのメッシュにおけるレベル間対応データを示すもので、対応情報１〜ｉは、そのメッシュに存在するノードの数だけ設けられる。ノードが１０ならばｉ＝１０である。なお、メッシュコードはメッシュコードの欄に格納される。
【００３９】
対応情報１〜ｉのそれぞれには、図示のように、自ノード対応情報と、隣接ノード＃１〜＃ｎ情報とを記憶する領域が設けられている。自ノード対応情報は、隣接するノード数、当該自レベルの自ノードに関する自レベル情報、および下位レベル情報を含む情報である。自レベル情報は、該当するレベルのノード（自ノードと呼ぶ）の番号を含む。下位レベル情報は、対応する下位レベルのノードの番号と、自ノードが存在する上位レベル上の小領域を表す分割小領域番号とを含む情報である。隣接ノード＃１〜＃ｎ情報はそれぞれ、自レベル隣接情報と下位レベル隣接情報とを含む情報である。自レベル隣接情報は自レベルにおける自ノードに隣接するノードの番号を含み、下位レベル隣接情報は、その隣接ノードに対応する下位レベルのノードのノード番号と、自ノードが存在する上位レベル上の小領域を表す分割小領域番号とを含む情報である。
【００４０】
なお、図１５はこの分割小領域番号を決めるときに使用される方向コードを示す図である。最上位レベルｎ＋４では分割小領域が１個すなわち自分自身を示している。レベルｎ＋３では分割小領域が１６（４×４）個、レベルｎ＋２では分割小領域が２５６（１６×１６）個、レベルｎ＋１では分割小領域が４０９６（６４×６４）個、最下位レベルｎでは分割小領域が６５５３６（２５６×２５６）個であるときの適用経度方向コードと適用緯度方向コードが図示されている。分割小領域番号は、この適用経度方向コード２桁と適用緯度方向コード２桁で表され、２バイト必要となる。
【００４１】
上記分割小領域番号についてさらに説明する前に、メッシュコードについて以下説明をする。メッシュとは、前述した通り道路地図を所定範囲ごとに区分けした一つの範囲である。このメッシュそれぞれに所定の基準に基づきメッシュコードが付されている。図２７はこのメッシュコードの取り方について説明する図である。図２７は、緯度方向４０分、経度方向１度の大きさを１次メッシュと呼び、この１次メッシュが４枚集まったレベル４の一つのメッシュＭ４０を表している。図２７は、さらにレベル４の一つのメッシュＭ４０を１６分割したレベル３の一つのメッシュＭ３０、さらにそれを１６分割したレベル２の一つのメッシュ２０についても表している。
【００４２】
メッシュコードは、メッシュの左下隅（南西方向の隅）の点の緯度経度に基づいた値で表す。１次メッシュのメッシュコードは、緯度に３／２を掛けた値を上２桁とし、経度からマイナス１００した値を下２桁として計４桁で表す。レベル４のメッシュは１次メッシュのメッシュコードと同様の計算でもって４桁で表す。従って、図２７のレベル４のメッシュＭ４０のメッシュコードは、３５度２０分×（３／２）＝５３と１３９度−１００度＝３９とにより５３３９で表される。さらにレベル４であることを示すコードを付加して５３３９Ｆ４の６桁で表される。コードはすべて１桁４ビットで表されるので、上記６桁の場合は３バイト必要となる。
【００４３】
レベル３のメッシュは、１次メッシュが４分割されたものであるので、その４分割を００、０１、１０、１１で表し、この値を１次メッシュコードに付加して表す。例えば、図２７のレベル３のメッシュＭ３１のメッシュコードは５３３９Ｆ３１１の８桁で表される。Ｆ３はレベル３を表している。図２７において、２次メッシュは１次メッシュを縦８分割、横８分割の６４分割したものである。従って、２次メッシュコードは１次メッシュコードに００〜７７のコードを付加して表す。例えば、レベル２のメッシュＭ２０は５３３９００で表され、さらにレベル２であることを示すコードが付加され５３３９００Ｆ２の８桁で表される。メッシュＭ２１は５４３９７７Ｆ２で表される。
【００４４】
分割小領域番号の説明に戻る。ルート探索用レベル間対応データは、上位レベルのあるメッシュのあるノードが下位レベルのどのメッシュのどのノードに対応するかを対応づけるためのデータである。従って、下位レベルの領域を表すには上述した各レベルのメッシュコードを直接使用するのが最も分かりやすい。しかし、メッシュコードを表すには上述した通りレベル４においては６桁、レベル３、レベル２においては８桁必要となり、さらに下位のレベルに行くと桁数が増加する。従って、ルート探索用レベル間対応データの容量を大きく取る必要がある。そこで、本実施の形態では下位レベルの分割小領域を示すために、図１５で示される方向コードを使用した分割小領域番号でもって下位レベルの領域を表している。
【００４５】
分割小領域は、図１５に示すように、下位方向に１レベル下がるごとに１６分割し、最下層のレベルでは２５６×２５６＝６５５３６に分割され、５つのレベル間で対応付けができる。この分割小領域番号は、基準となるメッシュに対し相対的な分割を表すものである。例えば、レベル４のあるメッシュに対し２つ下のレベル２の分割小領域を表すには、図１５のレベルｎ＋２のコードを使用し、レベル２のあるメッシュに対し、１つ下のレベル１の分割小領域を表すにはレベルｎ＋３のコードを使用する。
【００４６】
今、図２７のレベル４のメッシュＭ４０にノードｎ１００があったとした場合、このレベル４のメッシュＭ４０に対してノードｎ１００が存在する下位レベルの小領域番号は、レベル３では図１５のレベルｎ＋３のコードを使用して８０４０であり、レベル２では図１５のレベルｎ＋４のコードを使用してＡ０６０である。
【００４７】
以上のようにして分割小領域番号が付されるので、基準となるメッシュのメッシュコードとこの分割小領域番号により下位レベルの該当するメッシュコードが計算できる。例えば、図２７の上述のレベル４のメッシュコード５３３９のメッシュＭ４０のノードｎ１００に対応する、レベル３のメッシュＭ３２のメッシュコードは５４３９Ｆ３０１であり、レベル２のメッシュＭ２２のメッシュコードは５４３９２６Ｆ２として、図１５および図２７の関係を表す一定の計算式で計算できる。
【００４８】
隣接ノード＃１〜＃ｎ情報は、当該レベルの自ノードが含まれる小領域の番号順、かつ同一の小領域に含まれるノードの番号順にソートされて予め記憶されている。図１４はこのソートの様子を示す図である。図１４Ａのようにレベル４の１つのメッシュＭ４をたとえば４×４の１６の小領域に分割し、各小領域を特定するコードを、下端行を左から順番に（００，００）、（００，４０）、（００，８０）、（００，Ｃ０）とし、その上の行を（４０，００）、（４０，４０）……、最上端行の最も右の領域を（Ｃ０，Ｃ０）と表すものとする。そして、小領域（００，００）には２つのノード番号０、１が存在し、小領域（００，４０）には３つのノード番号０、１、２が存在し、小領域（００，８０）には４つのノード番号０、１、２、３が存在するものとする。なお、小領域は、下位レベル３のメッシュＭ３（図２３）と一致する。
【００４９】
このような場合、図１４Ｂに示すように自ノード対応情報は小領域の番号順で、かつ同一の小領域のノード番号順でソートされて記憶される。このようにすることにより、テーブル内のデータをサーチする時間が短縮できる。
【００５０】
図１６および図１７により自ノード対応情報と隣接ノード＃１〜＃ｎ情報を詳細に説明する。たとえばレベル４の自ノード番号１０００に隣接する３つのノードの隣接ノード番号が１１００、１２００、１３００とする。自ノード対応情報の自レベルノード番号として１０００が、このノードに対応するレベル２のノードの番号が下位レベルノード番号２３０としてそれぞれ記憶される。また、レベル２のノード２３０が図２７に例示したノードｎ１００と同じであると考えると、格納される分割小領域番号としてＡ０６０が記憶される。
【００５１】
また、隣接ノード＃１情報としては、レベル４のノード１０００に隣接するノードの番号１１００が自レベルノード番号として記憶されるとともに、ノード１０００と１１００との間のリンクＬＢに対応するレベル２のリンクをＬｂとすると、リンクＬｂ上の複数のノードのうちノード２３０に最も近い隣接するノードの番号が下位レベルノード番号２３１として記憶される。また、レベル２の隣接ノード番号２３１のノードが格納される分割小領域番号としてＡ０６０が記憶される。
【００５２】
さらに、隣接ノード＃３情報としては、レベル４のノード１０００に隣接するノードの番号１３００が自レベルノード番号として記憶されるとともに、ノード１０００と１３００との間のリンクＬＡに対応するレベル２のリンクをＬａとすると、リンクＬａ上の複数のノードのうちノード２３０に最も近い隣接するノードの番号が下位レベルノード番号３５４として記憶される。また、レベル２の隣接ノード番号３５４のノードが格納される分割小領域番号としてＡ０６０が記憶される。
【００５３】
［４］推奨ルートデータ
図１８は、経路探索データに基づいて探索された出発地から目的地までの推奨ルートを表わす推奨ルートデータのデータ構成の概要を示す図である。推奨ルートデータには、推奨ルート上のノード情報とリンク情報とがメッシュ領域単位で分類して格納されている。
【００５４】
図１８に示すように、推奨ルートデータは、メッシュコード、ノード数、ノード情報、リンク種別数、リンク情報、フェリー情報およびトンネル情報で構成される。このうち、メッシュコードの記憶領域には、メッシュ領域を識別する番号が格納され、ノード数の記憶領域には、メッシュ領域内に存在するノード数が格納され、ノード情報の記憶領域には、図１９Ａに詳細を示すように、メッシュ領域内の各ノードのノード番号、位置座標、距離コスト等が格納される。また、リンク種別数の記憶領域には、メッシュ領域内に存在するリンクの種別数が格納され、リンク情報の記憶領域には、図１９Ｂに詳細を示すように、メッシュ領域内の各リンクのリンク種別、リンク数、リンク番号等が格納される。図１９Ａ，Ｂは同一メッシュコードで示される領域内に２本のリンク列１，２がある場合を示す。
【００５５】
以下、フローチャートを参照して本実施の形態の動作を説明する。この実施の形態では、次のようにして推奨ルートを求めて表示装置６に表示する。レベル２とレベル４の道路地図データを用いたルート探索は次のようにして行なわれる。
【００５６】
ルート探索処理を図２０を参照して詳細に説明する。
(1)レベル２の出発地近傍の所定領域Ｒ１（たとえば５０Ｋｍ四方）を設定する。
(2)その所定領域内で出発地ＳＴ（現在地）を始点として、目的地に接続されていると思われる道路を抽出し、所定領域内での終点のノードＳＴ１〜ＳＴ３を決定する。さらに、この終点のノードの中から、所定領域を定める４辺のうち目的地に向う２辺Ｈ１，Ｈ２に隣接するノードＳＴ２，ＳＴ３を上位対応終点ノードとして選択する。
(3)レベル２の目的地近傍の所定領域Ｒ２（たとえば５０Ｋｍ四方）を設定する。
(4)その所定領域内で目的地ＤＰを始点として、出発地に接続されていると思われる道路を抽出し、所定領域内での終点のノードＤＰｌ〜ＤＰ３を決定する。さらに、この終点のノードの中から、所定領域を定める４辺のうち出発地に向う２辺Ｈ３，Ｈ４に隣接するノードＤＰ２，ＤＰ３を上位対応終点ノードとして選択する。
(5)レベル４において、出発地と目的地を含む所定領域Ｒ３を経路探索領域として設定する。
(6)出発地近傍の所定領域内で選択された複数の上位対応終点ノードＳＴ２，ＳＴ３に対応するレベル４のノードＳＴ２’，ＳＴ３’をレベル４の始点ノードとして検出するとともに、目的地近傍の所定領域内で選択された複数の上位対応終点ノードＤＰ２，ＤＰ３に対応するレベル４のノードＤＰ２’，ＤＰ３’をレベル４の終点ノードとして検出する。
(7)レベル４の複数の始点ノードＳＴ２’，ＳＴ３’と複数の終点ノードＤＰ２’，ＤＰ３’間を接続する道路を探索する。
(8)レベル２の出発地ＳＴと選択された上位対応終点ノードＳＴ２，ＳＴ３間の距離、レベル４の始点ノードＳＴ２’，ＳＴ３’と終点ノードＤＰ２’，ＤＰ３’間の距離、および、レベル２の目的地ＤＰと選択された上位対応終点ノードＤＰ２，ＤＰ３間の距離をそれぞれ加算し、例えば、最も短いものを推奨ルートとして決定する。
【００５７】
図２１，図２２は制御回路２が行うメイン処理の概要を示すフローチャートである。図２１のステップＳ１では、現在地検出装置１を用いて車両位置を検出する。ステップＳ２では、入力装置３によって入力された目的地を読み込む。ステップＳ３では、地図データベース装置８に格納されている地図表示用データに基づいて、経路探索の可能な道路上に経路探索の開始点および終了点を設定する。たとえば、車両の開始点は車両の現在位置（車両位置）、終了点が目的地である。
【００５８】
ステップＳ４では、レベル２のルート探索用データを用いて経路探索の開始点付近の経路探索を行う。そして、開始点付近における推奨ルートの候補を複数選択する。ステップＳ５では、レベル２のルート探索用データを用いて経路探索の終了点付近の経路探索を行う。そして、終了点付近における推奨ルートの候補を複数選択する。
【００５９】
ステップＳ６では、ステップＳ４，Ｓ５で選択した推奨ルートの候補の間の経路についてレベル４のルート探索用データを用いて経路探索を行い、開始点から終了点までの推奨ルートを演算する。
【００６０】
このように、開始点および終了点付近と、開始点および終了点の中間付近とで異なるレベルのルート探索用データを用いる理由は、すべての経路についてレベル２のルート探索用データを用いて経路探索を行うと、データ量が膨大なために経路探索に要する演算時間が長くなるからである。ステップＳ７では、ステップＳ６で演算した推奨ルートに関する情報を推奨ルートデータとしてＳＲＡＭ７に記憶する。
【００６１】
図２１のステップＳ７の処理が終了すると図２２のステップＳ８に進み、背景地図描画処理を行い、表示装置６に表示するための推奨ルート周辺の道路地図に関するデータを画像メモリ５に描画（格納）する。次いでステップＳ９に進み、ステップＳ３で演算した推奨ルートを表示するのに必要なデータを画像メモリ５に重ねて描画（格納）する。ステップＳ１０では、画像メモリ５に格納されているデータを読み出し、表示装置６に推奨ルートおよびその周辺の道路地図を表示する。
【００６２】
図１２に示すように、本実施の形態のルート探索用データおよび推奨ルートデータは、リンクの接続情報だけを保持しており、道路形状に関する情報は保持していない。したがって、モニタ上の道路地図に推奨ルートを重ねて描画するには、推奨ルートデータに基づいて道路地図データから形状データを抽出する。
【００６３】
本実施の形態では、ルート探索用データとルート探索用レベル間対応データとを用いてルート探索を行なうようにした。ここで、ルート探索用データは、各レベルの各ノードごとに、自ノードに関する自ノード情報と、この自ノードに隣接する隣接ノードに関する隣接情報とを含む。ルート探索用レベル間対応データは、そのレベルの自ノードに関する自レベル情報と、その自ノードに対応する下位レベルのノードに関する下位レベル情報とを１組とする自ノード対応情報、および、自ノードに隣接する隣接ノードに関する自レベル隣接情報と、その自ノードに対応する下位レベルのノードに隣接する隣接ノードに関する下位レベル隣接情報とを１組とする隣接ノード情報を含む。そして、レベル間対応データには、下位レベルから上位レベルを直接に特定する情報を記憶せず、上位レベルから下位レベルを直接に特定する情報だけを記憶するようにしたので、データ容量を小さくでき、また最下位レベルの対応データは不要となり、その分のデータ容量も低減できる。
【００６４】
なお、下位レベルから上位レベルへのノードの対応づけは、下位レベルのメッシュコードからそのノードが存在する上位レベルのメッシュのメッシュコードを計算により求め、さらにその上位のメッシュにおける自己のノードが存在する分割小領域番号を計算により求める。自己のノード番号と計算により求めた分割小領域番号とで、計算により求めた上位レベルのメッシュコードに該当するメッシュのルート探索用レベル間対応データ内をサーチし、上位レベルのメッシュのノード番号と対応づけすることができる。例えば、図１６の例で、レベル２のノード２３０から上位の対応するレベル４のノード１０００を見つける場合を説明する。まずレベル２のメッシュコードが図２７の例でメッシュＭ２２の５４３９２６Ｆ２だとすると、メッシュコードの上４桁よりレベル４の対応するメッシュのメッシュコードは５３３９Ｆ４であることが計算により求まる。すなわちメッシュＭ４０である。また、このメッシュＭ４０内においてレベル２のメッシュコード５４３９２６Ｆ２に対応する分割小領域番号はＡ０６０であることが計算により求まる。計算により求めた上位レベルのメッシュコード５３３９Ｆ４のメッシュＭ４０が有するルート探索用レベル間対応データの中（すなわち図１７あるいは図１３）を自己のノード番号２３０と計算により求めた分割小領域番号Ａ０６０をキーに検索すると、対応するノードとしてノード１０００を見つけることができる。
【００６５】
記憶容量の低減についてさらに詳細に説明する。
図２３において、たとえば、レベル２のメッシュＭ２のノードｎ３”をレベル２で選択された上位対応終点ノードとすると、レベル４の経路探索データの中からノードｎ３”と対応するノードを検出するためには、すなわち下位レベルから上位レベルの対応ノードを検索するためには、レベル２のノードｎ３”に対応するレベル４のノードｎ３のノード番号をレベル２のノードｎ３”のノード番号に付随させて記憶すればよい。また、逆に上位レベルから下位レベルの対応ノードを検索するためには、すなわち、レベル２の経路探索用データの中からノードｎ３に対応するレベル２のノードｎ３”を検出するためには、レベル４のノードｎ３に対応するレベル２のノードｎ３”のノード番号をレベル４のノードｎ３のノード番号に付随して記憶すればよい。
【００６６】
しかしながら、上位レベルから下位レベルのノードを対応づける場合、次のような問題がある。図２３において、レベル４のメッシュＭ４は１６個の小領域に分割され、１６個の小領域にそれぞれ対応してレベル３のデータが必要であり、レベル４のメッシュＭ４と同じ地域のデータをレベル３は１６個のメッシュのデータとして記憶する。これをメッシュＭ３−１〜Ｍ３−１６とすると、メッシュＭ３−１〜Ｍ３−１６のそれぞれに存在する複数のノードにはそれぞれ１〜Ｑまでのノード番号が割当てられている。すなわち、メッシュＭ３−１〜３−１６の中で同一の番号が重複してノード番号として使用されている。レベル３とレベル２の間でも同様であり、レベル３の１６個のメッシュＭ３−１〜Ｍ３−１６のそれぞれには各々また１６個のメッシュが対応づけられている。メッシュＭ３−１に対してはメッシュＭ２−１−１〜Ｍ２−１−１６が、メッシュＭ３−２〜Ｍ３−１６に対してはメッシュＭ２−２−１〜Ｍ２−１６−１６が存在する。すなわち、メッシュＭ２−１−１〜Ｍ２−１６−１６の中では同一のノード番号が重複して使用されている。したがって、上位レベルから下位レベルを見てレベル４のノードｎ３に対応するレベル２のノードｎ３”を特定する場合、ノード番号だけで特定することができない。
【００６７】
さらに具体的に説明すれば、レベル４の小領域ｍ４のノード番号１に対応するレベル２のノード番号が１７とした場合、レベル４の他の１５個の小領域に対応するレベル２の各メッシュの中にも、ノード番号１７のノードが存在する可能性があり、ノード番号１７だけで下位レベル２のノードを特定できない。すべてのレベルを通してノード番号を通し番号とすればノード番号だけで特定できるが、その場合日本全国では数百万個のノード数となり、記憶容量が膨大になってしまう。
【００６８】
この点、本実施の形態による地図データベース装置では、上述したようなルート探索用レベル間対応データを用いているから、上位レベルから下位レベルを特定する様な対応づけだけで、上位レベルから下位レベルおよび下位レベルから上位レベルの対応付けができ、記憶容量を低減できる。
【００６９】
また本実施の形態では、レベル間対応データの中に自レベル隣接データと対応させて下位レベル隣接データを記憶させているから、経路探索演算時のレベル間の隣接データの対応づけにより信頼性の高いルート探索を行なうことができる。例えば、レベル２で出発地近辺を探索し、あるノード以降はレベル４でルート探索を行う場合、上述したルート探索用レベル間対応データによりレベル４の対応するノードを見つけ、そのノードからレベル４のデータでルート探索を行う。このとき、下位レベルですでにそのノードに到達するまでのルートが探索済みであることが分かると、上位レベルでこのノードから探索を開始するとき、このルートは他のルートと全く同じ条件でルート探索候補に挙げて探索する必要がない。全く同じ条件で探索をするとなると、探索時間の無駄にもなり、またＵターンして逆戻りするような探索結果を得る場合もある。あるノードに到達するまでのルートが探索済みであることが分かるためには、該当するルートの最も隣接したノードの対応関係が分かればそのルートが分かる。ここで最も隣接したノードの情報を持つことにしたのは、レベル間によってノード間に含まれる情報量が異なるためである。上位レベルのあるノードに隣接するノード間において、下位レベルではさらに新たなノードが含まれたりするからである。なお、隣接ノード情報の代わりに接続されるリンク番号などのリンク情報にしてもよい。
【００７０】
産業上の利用の可能性
なお上記実施の形態では、ルート探索用レベル間対応データにおいて、下位レベルの分割小領域を示すために、分割小領域番号でもって表したが、上記にも説明したとおり各レベルのメッシュコードを直接使用してもよい。データ容量は多く必要となるが、計算をしなくてもよくなりプログラムが簡易になる。
【００７１】
また上記実施の形態では、図１に示す構成の車載用地図ナビゲーション装置の例を示したが、この実施の形態に限定する必要はない。例えば、図２６に示すようにパーソナルコンピュータのようなコンピュータ１０１にナビゲーションシステムの制御プログラムが搭載された記録媒体から制御プログラムを読みとらせそれを実行することにより本実施の形態の車載用地図ナビゲーンヨン装置と同等のシステムを構築することができる。この場合、上記実施の形態に示した地図データベースも記録媒体１０３から読みとる。さらに、現在地検出装置１０４などナビゲーションシステムを構成するのに必要な装置もコンピュータ１０１の外部ポートに接続する。
【図面の簡単な説明】
【図１】  本発明による地図データベース装置を搭載した車載用ナビゲーション装置の一実施の形態のブロック図である
【図２】  メッシュ領域内で２本の道路が交差する例を示す図
【図３】  リンク列データを説明する図
【図４】  道路地図表示用データの構成を示す図
【図５】  複数のノードおよび補間点を有する道路地図の例を示す図
【図６】  図６の太線道路のリンク列データを示す図
【図７】  リンク列データに付加される、直前のデータを読み出すためのオフセット情報を示す図
【図８】  リンク列データを最後尾から読み出す場合の読み出し方法を示す図
【図９Ａ〜９Ｄ】  ノード情報や補間点情報のデータ長の種類を示す図
【図１０Ａ、１０Ｂ】  属性１＋Ｘ座標データの一例を示す図
【図１１Ａ、１１Ｂ】  属性２＋Ｙ座標データの一例を示す図
【図１２】  ルート探索用データのデータ構成を示す図
【図１３】  経路探索用レベル間対応データのデータ構成を説明する図
【図１４Ａ、１４Ｂ】  自ノード対応情報と隣接ノード対応情報を説明する図
【図１５】  各レベルの分割枠（メッシュ）数とそのメッシュを特定するコードを説明する図
【図１６】  レベル４とレベル２の自ノードと隣接ノードを説明する図
【図１７】  図１６におけるレベル間対応データの一例を示す図
【図１８】  推奨ルートデータのデータ構成の概要を示す図
【図１９Ａ、１９Ｂ】  推奨ルートデータのノード情報とリンク情報のデータ構成の詳細図
【図２０】  レベル４とレベル２のデータによる経路探索を説明する図
【図２１】  制御回路が行うメイン処理の概要を示すフローチャート
【図２２】  図２１に続くフローチャート
【図２３】  レベル４，３，２の道路を説明する図
【図２４】  リンクデータとノードデータの従来例を示す図
【図２５】  交差点を境にして各道路をそれぞれ別リンクにする従来例を説明する図
【図２６】  ナビゲーション装置をコンピュータにより実現した場合の図
【図２７】  メッシュコードの取り方について説明する図
【図１】
0003905136.tif 000002
【図２】
0003905136.tif 000003
【図３】
0003905136.tif 000004
【図４】
0003905136.tif 000005
【図５】
0003905136.tif 000006
【図６】
0003905136.tif 000007
【図７】
0003905136.tif 000008
【図８】
0003905136.tif 000009
【図９Ａ】
0003905136.tif 000010
【図９Ｂ】
0003905136.tif 000011
【図９Ｃ】
0003905136.tif 000012
【図９Ｄ】
0003905136.tif 000013
【図１０Ａ】
0003905136.tif 000014
【図１０Ｂ】
0003905136.tif 000015
【図１１Ａ】
0003905136.tif 000016
【図１１Ｂ】
0003905136.tif 000017
【図１２】
0003905136.tif 000018
【図１３】
0003905136.tif 000019
【図１４Ａ】
0003905136.tif 000020
【図１４Ｂ】
0003905136.tif 000021
【図１５】
0003905136.tif 000022
【図１６】
0003905136.tif 000023
【図１７】
0003905136.tif 000024
【図１８】
0003905136.tif 000025
【図１９】
0003905136.tif 000026
【図２０】
0003905136.tif 000027
【図２１】
0003905136.tif 000028
【図２２】
0003905136.tif 000029
【図２３】
0003905136.tif 000030
【図２４】
0003905136.tif 000031
【図２５】
0003905136.tif 000032
【図２６】
0003905136.tif 000033
【図２７】
0003905136.tif 000034