説明

電子機器

【課題】リンクの接続関係を効率的に記述して地図データをコンパクトに設計した際の電子機器における上記地図データに基づいた処理の実行負荷を抑える。
【解決手段】ナビゲーション装置が備える地図データは、リンクの接続関係を表す情報が、リンク毎に設けられるリンクレコードに、分散して格納された構成にされている。具体的に、各リンクレコードには、このリンクの始点及び終点に接続されるリンクの番号が端点毎に一つのみ記述された構成にされている。ナビゲーション装置は、このようなフォーマットの地図データから、ノード毎に、リンクの接続関係を記述してなるノードテーブルをRAM19c上に作成する。地図データに基づいた処理を実行するアプリは、このノードテーブルを参照して、リンクの接続関係を特定する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、地図データに基づいた処理を実行する電子機器に関する。
【背景技術】
【0002】
従来、地図データに基づいた処理を実行する電子機器としては、地図画像を表示デバイスに表示したり、目的地までの誘導経路を探索したり、走行道路周辺の道路を案内(誘導経路の案内等)したりする車載装置(所謂ナビゲーション装置)が知られている(例えば、特許文献1参照)。また、地図データのフォーマットとしては、KIWIフォーマットが知られている(例えば、非特許文献1参照)。このフォーマットによれば、道路がリンク及びノードで表現され、地図データには、リンク毎に、リンクの形状・ストリートアドレス等のリンクの属性(特徴)を表すリンクデータが格納される。
【0003】
また、従来の地図データにおいては、各リンクに対して固有のリンクIDが割り当てられる。このリンクIDは、当該リンクIDに対応するリンクデータと他のデータとの関連付けに用いられる。例えば、リンクIDは、リンクの接続関係を表現するために用いられる。従来の地図データにおいては、例えば、リンクデータの複数がまとめられてリンク列データが構成されるが、リンク列データには、リンクを結ぶノードに関するデータであって、リンクIDを用いたリンクの接続関係を表すノードデータが格納される。また、ノードデータには、ノードに対応する交差点での信号機の有無や交通規制等(右左折禁止等)の他の交差点に関する情報が格納される。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2008−241659号公報
【非特許文献】
【0005】
【非特許文献1】藤本 英俊、「カーナビ用地図データフォーマットKIWI」、デンソーテクニカルレビュー、2001年、第6巻、第1号、p.29−34
【発明の概要】
【発明が解決しようとする課題】
【0006】
ところで、上記リンクに関するリンクデータと、上記ノードに関するノードデータとを保持する従来の地図データの構成では、リンクデータとノードデータとで座標情報などの重複する情報を保持する結果となっていた。このため、本発明者らは、ノードデータとして保持していた情報を、リンクデータに分散して格納することで、ノードデータを削除することを考えている。
【0007】
しかしながら、地図データにおいて、ノードデータを削除し、従来ノードデータとして保持していたリンクの接続関係を表す情報等をリンクデータに分散して格納する手法では、複数のリンクデータを参照しなければ、リンクの接続関係等のノードに関する情報を得ることができない。
【0008】
このため、地図データにノードデータを格納しない手法では、ノードの状態(リンクの接続関係等)を把握するための処理に負荷がかかるといった欠点があった。
本発明は、こうした問題に鑑みなされたものであり、リンクの接続関係等のノードに関する情報を、リンク毎のデータに分散して格納して地図データを構成する場合における当該地図データに基づいたノードに関する処理の負荷を抑えることを目的とする。
【課題を解決するための手段】
【0009】
上記目的を達成するためになされた本発明の電子機器(請求項1)は、地図データを記憶保持する地図データ記憶手段と、地図データ記憶手段が記憶保持する地図データを、ワークメモリに展開する展開手段と、を備え、ワークメモリに展開されたデータを参照して、地図データに基づく処理を実行する電子機器であって、次のように、地図データ及び展開手段が構成されたものである。
【0010】
即ち、地図データ記憶手段が記憶する地図データは、道路がリンク単位で表現され、これらリンクの接続によって道路ネットワークが表現された地図データとして構成され、道路ネットワークを構成するリンク毎に、リンク本体及び端点の属性が記された属性データを備え、端点の属性として、当該端点でのリンクの接続関係を表す情報が格納された構成にされている。
【0011】
一方、展開手段は、地図データ記憶手段が記憶保持するリンク毎の属性データに基づき、複数リンクの接続点である各ノードに対して、このノードを介して接続される複数リンクの夫々を識別可能な情報としてのリンク接続情報を格納したノードテーブルを作成し、ノードテーブルを、地図データの展開結果として、ワークメモリに書き込む。
【0012】
この電子機器によれば、地図データをワークメモリに展開する際、ノード毎に、従来のノードデータに対応した情報として、このノードでのリンクの接続関係を表すリンク接続情報を生成し、これらを登録したノードテーブルを作成する。従って、地図データに、ノードデータを設けず、リンクの接続関係を表す情報を、リンク毎の属性データに分散して記述しても、このノードテーブルを参照することで、簡単に各ノードでのリンクの接続関係を特定することができる。
【0013】
即ち、地図データ記憶手段が記憶する地図データを直接参照してノードに関する処理(ノードでのリンク接続関係を特定する処理)を実行し続ける場合よりも、本発明のようにノードテーブルを作成して、これを参照する手法によれば、当該ノードに関する処理負荷を抑えることができる。従って、本発明によれば、上記地図データの構成を採用し地図データをコンパクト化にするのに伴って、ノードに関する処理の性能が悪くなるのを抑制することができる。
【0014】
更に言及すれば、本発明にかかる電子機器の構成は、属性データに格納されるリンク端点でのリンクの接続関係を表す情報が、端点毎に、この端点に接続されるリンク群の内、所定の規則に従う単一リンクのみを接続相手として示す情報である場合に、特に有効である(請求項2)。
【0015】
このようにして、リンク毎の属性データにリンクの接続関係を表す情報が格納される場合には、互いに接続関係にある各リンクについての上記属性データを参照しなければ、ノードでの接続関係を把握することができないため、地図データのサイズを抑える目的では有効であるものの、ノードでの接続関係を把握するための手順が増加する。従って、このような地図データを備える電子機器において、上記ノードテーブルを作成する手順を追加すれば、ノードの状態把握のための処理負荷を有効に抑えることができる。
【0016】
ところで、ナビゲーション装置等では、地図データを参照するアプリケーションプログラムとして、地図画像を表示デバイスに描画するための描画プログラムや、目的地までの誘導経路を探索するための経路探索プログラムや、車両の走行に合わせた道路案内(誘導経路の案内や、前方の交通規制(一時停止・右左折禁止)の案内、レーン案内(右折レーン・左折レーンの有無の案内)等)を行うため経路案内プログラムが搭載され、これらの各アプリケーションプログラムに従う処理(描画処理、経路探索処理、経路案内処理等)が個別に実行される。
【0017】
従って、地図データをワークメモリに展開する際には、この地図データを、アプリケーションプログラム毎のデータに展開(変換)するとよい。
例えば、アプリケーションプログラム毎に、当該アプリケーションプログラムに対して必要十分な情報をまとめたノードテーブルを作成するとよい。地図データの上記「リンク本体及び端点に関する属性データ」には、リンクの接続関係の他に、リンク端点に対応する信号機の有無、右左折規制等の様々な道路や交差点に関する情報が格納されることが考えられるが、多くのケースにおいて、描画処理に、右左折規制等の情報が必要になることはない(但し、描画処理の内容による)。よって、処理の内容に応じて不要な情報を地図データから抽出せず必要情報を抽出して、ノードテーブルを作成すれば、アプリケーションプログラムでの処理効率が向上する。
【0018】
即ち、地図データに基づく処理として、複数種類のアプリケーションプログラムに従って、アプリケーションプログラム毎に、当該アプリケーションプログラムに対応した処理を、ワークメモリに展開されたデータを参照して実行する構成にされた電子機器において、展開手段は、アプリケーションプログラム毎に専用のノードテーブルを作成して、アプリケーションプログラム毎のノードテーブルを地図データの展開結果としてワークメモリに書き込み、上記アプリケーションプログラム毎のノードテーブルとして、ノード毎に、上記リンク接続情報を含む当該アプリケーションプログラムによって用いられるノードに関する情報を格納したノードテーブルを作成する構成にされるとよい(請求項3)。
【0019】
このように、地図データの参照を伴うアプリケーションプログラム毎に、ノードテーブルを作成すれば、アプリケーションプログラムに基づいた各処理において、効率的にノードに関する必要情報を取得することができて、その処理負荷が低減される。
【0020】
但し、ノードテーブルとして、アプリケーションプログラム毎のノードテーブルを作成する程度では、各ノードテーブルに重複した情報を保持する結果となり、ノードテーブルの記憶領域が大きくなるといった欠点がある。
【0021】
従って、展開手段は、複数種類のアプリケーションプログラムに共通のノードテーブル、及び、アプリケーションプログラム毎に専用のノードテーブルを作成して、これらのノードテーブルを地図データの展開結果としてワークメモリに書き込む構成にされるとよい。
【0022】
具体的に、展開手段は、上記共通のノードテーブルとして、ノード毎に、少なくとも上記リンク接続情報を含む複数種類のアプリケーションプログラムに共通して用いられるノードに関する情報を格納したノードテーブルを作成し、上記アプリケーションプログラム毎のノードテーブルとして、ノード毎に、当該アプリケーションプログラムによって用いられるノードに関する情報であって上記共通するノードテーブルにおいて不足する情報を格納したノードテーブルを作成する構成にされるとよい(請求項4)。
【0023】
このように、各アプリケーションプログラムに共通して用いられるノードに関する情報については、共通のノードテーブルに保持するように電子機器を構成すると、ノードテーブルの記憶領域を抑えることができる。
【0024】
また、上記電子機器は、併せて、アプリケーションプログラム毎に、当該アプリケーションプログラムに対して必要十分な情報をまとめた各リンクの属性を表すリンクテーブルを作成する構成にされてもよい。
【0025】
即ち、展開手段は、アプリケーションプログラム毎に、当該アプリケーションプログラムによって用いられるリンクに関する情報を上記地図データが有するリンク毎の属性データから抽出して構成される上記道路ネットワークを構成する各リンクの属性を記した当該アプリケーションプログラム専用のリンクテーブルを作成し、上記ノードテーブルに加えてアプリケーションプログラム毎のリンクテーブルを、地図データの展開結果としてワークメモリに書き込む構成にされてもよい(請求項5)。
【0026】
このように、地図データの参照を伴うアプリケーションプログラム毎に、リンクテーブル及びノードテーブルを作成すれば、アプリケーションプログラムに基づいた各処理において、効率的にリンク及びノードに関する必要情報を取得することができて、その処理負荷が低減される。
【0027】
また、展開手段は、アプリケーションプログラムに従う処理を実行するタスクからの要求に応じて、要求元のアプリケーションプログラムに対応したノードテーブルやリンクテーブルを作成し、これらを地図データの展開結果としてワークメモリに書き込む構成にされると(請求項6)、ノードテーブルやリンクテーブルの記憶に必要なワークメモリの領域を低減することができて、便利である。
【0028】
また、上記電子機器においては、リンクテーブルやノードテーブルをアプリケーションプログラム毎に作成するのを止めて、複数アプリケーションプログラム共通のリンクテーブルやノードテーブルを作成するようにしてもよい。この場合には、アプリケーションプログラム群の全体で必要なワークメモリの容量を抑えることができる。
【図面の簡単な説明】
【0029】
【図1】地図データの概略構成を表す図である。
【図2】基本データ/拡張データとして構成される統合ファイルの構成図である。
【図3】道路データにおける各メッシュ単位データの構成を表す図である。
【図4】道路データにおけるリンクレコード及び座標レコードの構成を表す図である。
【図5】道路データにおける道路管理レコード及びリンクレコード及び座標レコードの各配列の関係を表す図である。
【図6】リンクレコードで表現されるリンクの接続関係に関する説明図である。
【図7】リンクレコードで表現されるリンクの接続関係に関する説明図である。
【図8】道路データにおける複合リンク規制レコードの構成を表す図である。
【図9】制限速度データに関する説明図である。
【図10】ナビゲーション装置10の概略構成を表すブロック図である。
【図11】制御回路19による地図データの展開方法について説明した図である。
【図12】リンクテーブルTBL12,TBL13及びノードテーブルTBL22,TBL23の構成を表す図である。
【図13】制御回路19が実行するテーブル作成処理を表すフローチャートである。
【図14】制御回路19が実行するリンク始点側データ登録処理を表すフローチャートである。
【図15】変形例における地図データの展開方法について説明した図である。
【図16】変形例におけるノードテーブルTBL30,TBL32,TBL33の構成を表す図である。
【図17】変形例のリンク始点側データ登録処理を表すフローチャートである。
【発明を実施するための形態】
【0030】
以下に本発明の実施例について、図面と共に説明する。但し、本実施例のナビゲーション装置10(図10参照)が備える地図データは、特有の構成を備えるものであるので、以下では、先の地図データの構成について説明し、その後、ナビゲーション装置10の構成及び動作について、説明する。
<1 地図データの構造>
本実施例の地図データは、車両に搭載されるナビゲーション装置10に組み込まれるものである。図1に示すように、この地図データは、大きく分けて、メタデータ、基本データ群、拡張データ群、及び、その他のデータ群からなる。
【0031】
メタデータは、地図データの構造に関する主要な管理情報を有するものである。一方、基本データ群は、地図データに必須のデータ群の中でも特に地図の基本情報を有するものである。この基本データ群には、道路に関する情報を有する道路データ、及び、二次元地図の背景に関する情報を有する背景データが含まれる。
【0032】
また、拡張データは、地図データに適宜追加される種類のデータである。本実施例の地図データ構造によれば、地図データに格納する拡張データの種類によって複数種類の地図データを作成することができる。この拡張データ群には、例えば制限速度データが含まれる。また、上記「その他のデータ群」としては、地図表示に使用されるイメージデータ群やアイコンデータ群等を挙げることができる。
【0033】
ところで、上記基本データ及び拡張データの夫々は、地図の収録エリア全体を分割してできるメッシュ単位のデータ群に細分化されている(図1下段参照)。そして、上記基本データ及び拡張データの夫々において、これらのメッシュ単位データ群は、統合メッシュデータとして統合されている。但し、統合メッシュデータは、地図の収録エリア全体に対応するメッシュ単位データ群の全てをまとめるものではなく、メッシュ単位データの複数個をまとめてなるデータとして構成される。即ち、地図の収録エリア全体に対しては、複数の統合メッシュデータが用意される。
【0034】
更に言及すると、基本データ及び拡張データは、地図の詳細度別に階層化されている。即ち、基本データ及び拡張データの夫々は、地図の収録エリア全体を網羅する上記統合メッシュデータ群が階層毎に設けられた統合ファイルとして構成されている(図2参照)。
【0035】
図1下段は、最下層(レベル0)のメッシュ及び最下層よりも一つ上の階層(レベル1)のメッシュを示した図である。図1下段に示すように、レベル0のメッシュは、レベル1のメッシュが更に所定数分割(図1では16分割)されたメッシュとして構成されている。以下では、階層のことを「レベル」とも表現する。
【0036】
即ち、基本データ及び拡張データの夫々を構成するメッシュ単位データの収録エリアは、レベルが大きくなるほど広がるように設計されている。但し、メッシュ単位データが保持する地図情報はレベルが大きくなるほど粗くなる。高レベルのメッシュ単位データは、長距離の経路探索や、広範囲の地図表示をする際に用いられる。
<1.1 統合ファイルの構造>
上述したように基本データ及び拡張データの夫々(基本データとしての道路データ及び背景データ、並びに、拡張データとしての制限速度データ)は、各レベルの統合メッシュデータがまとめられてなる統合ファイルとして構成されるが、具体的に、統合ファイルは、図2に示すように構成される。
【0037】
即ち、統合ファイルは、レベル別の統合メッシュデータ数を記述したレベル別統合メッシュデータ数リストLa1、レベル別の統合メッシュデータオフセットを記述したレベル別統合メッシュデータオフセットリストLa2、レベル別の統合メッシュデータからなるレベル別統合メッシュデータリストLa3、から構成される。尚、統合メッシュデータ数A0〜AXは、該当レベルの統合メッシュデータの数量を示すものであり、固定長で表現される。
【0038】
また、統合メッシュデータオフセットは、対応する統合メッシュデータへのオフセット(対応する統合メッシュデータが格納された位置を、基準位置からのバイト位置で表現した値)を示し、固定長で表現される。基準位置としては、当該オフセットが記述される領域の先頭位置や、統合メッシュオフセットリストLa2の先頭位置、レベル別統合メッシュデータリストLa3の先頭位置等を挙げることができる。尚、該当する統合メッシュデータが存在しない場合には空値(0xFFFFFFFF)が記述される。
【0039】
また、統合メッシュデータは、統合メッシュデータサイズ、メッシュ数M、メッシュ単位データオフセット1〜Mからなるメッシュ単位データオフセットリストLa4、及び、メッシュ単位データ1〜Mからなるメッシュ単位データリストLa5から構成される。統合メッシュデータサイズは、当該統合メッシュデータの合計サイズを示すものであり、固定長で表現される。また、メッシュ数Mは、統合メッシュデータに対応する地図の収録エリアに含まれるメッシュの数量を示すものであり、固定長で表現される。
【0040】
この他、メッシュ単位データオフセットは、対応するメッシュ単位データへのオフセット(対応するメッシュ単位データが格納された位置を、基準位置からのバイト位置で表現した値)を示すものであり、固定長で表現される。ここでの基準位置としては、当該オフセットが記述される領域の先頭位置や、メッシュ単位データオフセットリストLa4の先頭位置、メッシュ単位データリストLa5の先頭位置等を挙げることができる。尚、対応するメッシュ単位データが存在しない場合には空値が記述される。
【0041】
また、メッシュ単位データ1〜Mは、基本データ及び拡張データの核となる情報を有するものであり、基本データ及び拡張データの夫々の種類に対応したフォーマットで記述されている。以下では、代表的なデータとして、道路データ及び制限速度データの構造を説明する。ちなみに、詳細な説明を省略する背景データは、以下に説明する道路データと同様の思想で、地図を構成する背景の種別を表すレコード群と背景のレイアウト位置(座標)を表すレコード群との関連付けがなされたデータとして構成されている。
<1.2 道路データのメッシュ単位データ>
上述したように道路データは、道路に関する情報を有するものであり、道路データのメッシュ単位データは、図3に示すように、ヘッダ、道路管理レコード1〜B1群から構成される道路管理リストLb1、リンクレコード1〜B2群から構成されるリンクリストLb2、座標レコード1〜B3群から構成される座標リストLb3、上位リンクID1〜B4群から構成される上位リンクIDリストLb4、及び、複合リンク規制レコード1〜B5群から構成される複合リンクリストLb5等から構成される。
<1.2.1 ヘッダ>
道路データのメッシュ単位データに格納されるヘッダは、固定長で表現されるものであり、道路管理レコード数B1、リンクレコード数B2、座標レコード数B3、上位リンクID数B4、及び、複合リンク規制レコード数B5等の情報が格納されてなる。
<1.2.2 道路管理レコード>
道路管理レコードは、レコード毎に固定長で表現されるものであり、リンク数等の情報が格納されてなる。道路管理レコードは、同一ストリートを構成する一連のリンク列を管理するレコードであり、上記リンク数は、この道路管理レコードで管理するリンク列を構成するリンクの数を表すものである。即ち、道路データのメッシュ単位データの作成に際しては、当該メッシュ内のリンク群を同一ストリートのリンク列毎にまとめるような思想でグループ化する。そして、道路データのメッシュ単位データには、このグループしたリンク列毎の上記道路管理レコードを格納する。詳細を省略するが、この道路管理レコードには、上記リンク数以外に、対応するストリートの特徴を表すその他のデータが格納される。
<1.2.3 リンクレコード>
リンクレコードは、リンクに関する主たる属性情報がレコード毎に固定長で表現されてなるものであり、道路データのメッシュ単位データには、メッシュ内の各リンクに対応するリンクレコードが格納される。
【0042】
図4(a)は、リンクレコードの構成を表す図である。同図に示すように、リンクレコードには、リンク種別、リンク長、及び、車線数の情報が格納される。また、このリンクレコードには、自リンクの始点から終点までの座標点数の情報が格納される。
【0043】
本実施例の地図データにおいては、リンクの両端にノード(図5(a)に示す黒丸)が設定され、その間に、形状補間点(図5(a)に示す白丸)が設定される。形状補間点は、リンク両端の間で湾曲するリンクの形状を表現するために必要な点である。各点の座標は、後述する座標レコードにより記述されるが、リンクレコードに記述される座標点数は、当該リンクに設定されたこれらノード及び形状補間点の数に一致する。
【0044】
また、リンクレコードには、スピードカテゴリ及び制限速度情報有無フラグが記述される。スピードカテゴリは、このリンクに設定された制限速度(法定速度)のカテゴリを表すものである。即ち、制限速度をグループ分けしたときに、対応するリンクの制限速度が、どのグループの速度領域に属するものであるのかを表す。
【0045】
一方、制限速度情報有無フラグは、自リンクに対応する制限速度管理レコード(図9参照)が拡張データとしての制限速度データに存在するか否かを表すものである。制限速度管理レコードは、スピードカテゴリより詳細な制限速度、即ち、該当リンクの制限速度(法定速度)の詳細な値を示す。
【0046】
また、本実施例のリンクレコードには、自リンクにおいて車両が通行可能な方向を表すリンク方向属性が記述される。具体的に、リンク方向属性は、リンクの始点から終点方向(順方向)にのみ通行可能であることを示す「順方向通行可能」、リンクの終点から始点方向(逆方向)にのみ通行可能であることを示す「逆方向通行可能」、上記順方向及び逆方向の両方向に通行可能であることを示す「両方向通行可能」、並びに、通行不可能であることを示す「通行禁止」のいずれかの値を採る。
【0047】
この他、リンクレコードには、自リンクの始点から他リンクへの通行規制(右左折規制等)を表す複合リンク規制レコードが複合リンク規制リストLb5内に存在するか否かを表す始点側複合リンク規制情報有無フラグ、自リンクの終点から他リンクへの通行規制を表す複合リンク規制レコードが複合リンク規制リストLb5に存在するか否かを表す終点側複合リンク規制情報有無フラグ、自リンクの始点側ノードに信号機が存在するか否かを表すフラグ、リンク終点側ノードに信号機が存在するか否かを表すフラグ、上位レベルのメッシュ単位データにリンク始点側ノードに対応するノードが存在するか否かを表すフラグ、及び、上位レベルのメッシュ単位データにリンク終点側ノードに対応するノードが存在するか否かを表すフラグが格納される。
【0048】
更に、このリンクレコードには、自リンクの始点に接続される他リンクの情報及び自リンクの終点に接続される他リンクの情報が格納される。具体的に、リンクレコードに記述される「自リンクの始点に接続される他リンクの情報」は、始点接続リンク番号及び始点接続属性からなる。始点接続リンク番号は、自リンクの始点に接続される他リンクのリンク番号のことである。但し、本実施例では、リンクリストLb2先頭からのリンクレコードの配列番号のことを「リンク番号」と表現する。即ち、リンクリストLb2先頭からn番目のリンクレコードは、リンク番号nのリンクレコードである。また、以下で表現するリンク番号nのリンクとは、リンクリストLb2先頭からn番目のリンクレコードに対応するリンクのことを言う。本実施例の地図データでは、従来の地図データのように、リンクに対して絶対的なリンクIDを付与しないので、従来のリンクIDに代えて、このリンク番号を用いる。
【0049】
ちなみに、上記リンクレコードには、上記始点接続リンク番号として、リンク始点に接続される他リンク(複数リンク)の内、所定の規則に従う単一のリンクのリンク番号のみを格納する。この点を含むリンク接続関係の記述方法の詳細については、後述する。
【0050】
また、リンクレコードにおいて、上記始点接続リンク番号と共に記述される始点接続属性は、自リンクが、その始点において、始点接続リンク番号に対応するリンクの始点及び終点のいずれに接続されるかを表すものである。即ち、始点接続属性は、「始点」又は「終点」のいずれかを表す値を採る。例えば、始点接続属性が「始点」を表す場合には、始点接続リンク番号に対応するリンクの「始点」が、この始点接続リンク番号が記述されたリンクレコードに対応するリンクの始点に接続されることを表す。ちなみに、リンクの始点に接続される同一メッシュ内の他リンクがない場合には、始点接続リンク番号として自リンクのリンク番号が記述され、始点属性情報として「始点」を表す値が記述される。リンクの始点に接続される同一メッシュ内の他リンクがない場合としては、行き止まりである場合や、リンクの始点が隣接メッシュとの境界に位置するノード(後述する境界ノード)であって隣接メッシュのリンクにのみに接続される場合などが挙げられる。本実施例では、メッシュ単位データを閉じたデータとするため、隣接メッシュとの境界に位置する境界ノードを挟むリンクの接続関係については、自己のメッシュ内のリンク接続関係についてのみを記述する。
【0051】
同様に、リンクレコードに記述される「自リンクの終点に接続される他リンクの情報」は、終点接続リンク番号及び終点接続属性からなる。終点接続リンク番号は、自リンクの終点に接続される他リンクのリンク番号のことである。リンクレコードには、終点接続リンク番号として、リンク終点に接続される他リンク(複数リンク)の内、所定の規則に従う単一のリンクのリンク番号のみが格納される。また、上記終点接続リンク番号と共に記述される終点接続属性は、自リンクが、その終点において、終点接続リンク番号に対応するリンクの始点及び終点のいずれに接続されるかを表すものである。リンクの終点に接続される同一メッシュ内の他リンクがない場合には、終点接続リンク番号として自リンクのリンク番号が記述され、終点属性情報として「終点」を表す値が記述される。
【0052】
リンクレコードには、上述したリンクに関する属性情報が主として格納される。
<1.2.4 座標レコード>
道路データのメッシュ単位データにおいて、座標レコード1〜B3群からなる座標リストLb3は、リンクリストLb2に登録された各リンクに設定されたノード及び形状補間点の座標(緯度・経度)が、ノード及び形状補間点毎に記述されてなるものである。即ち、各座標レコード1〜B3は、対応するノード又は形状補間点の座標を表す。
【0053】
図4(b)は、この座標レコードの構成を表す図である。座標レコードは、固定長で表現され、座標種別、X座標(経度方向の座標)、Y座標(緯度方向の座標)の情報を有する。座標種別は、対応する点が、境界ノード、境界ノードを除くノード、ダミーノード及び形状補間点のいずれに該当するか否かを表す情報である。
【0054】
この他、座標レコードには、境界ノードが接続する隣接メッシュの識別情報が格納される。この情報は、座標種別が「境界ノード」である座標レコードのみ、有効な値を示し、他の座標レコードには、空値が記述される。境界ノードは、上述したように隣接メッシュとの境界に位置するノードのことを示すが、「境界ノードが接続する隣接メッシュの識別情報」は、境界ノードが、このメッシュ単位データに対応するメッシュの四辺及び四角のいずれの位置に存在するかを表す情報で記述される。ちなみにメッシュは、図1下段に示すように矩形である。
<1.2.5 データ配列>
ここで、道路管理リストLb1における道路管理レコード1〜B1の配列、リンクリストLb2におけるリンクレコード1〜B2の配列、座標リストLb3における座標レコード1〜B3の配列について図5を用いて説明する。
【0055】
上述したように道路管理レコードは、リンク列を管理するものであり、リンクレコードは、リンクの主たる属性情報を有するものであり、座標レコードは、リンクに設定された各点(ノード及び形状補間点)の座標情報を有するものである。即ち、座標レコードの夫々は、リンクレコードに関連付けられるべきデータであり、リンクレコードは、道路管理レコードに関連付けられるべきデータである。
【0056】
本実施例では、このような道路管理リストLb1、リンクリストLb2、及び、座標リストLb3間の各レコードの関連付けをリスト内の配列順序を揃えることで実現している。図5(b)は、図5(a)に示すストリート、リンク、ノード及び形状補間点の関係にある地図に対して構成する道路管理リストLb1及びリンクリストLb2及び座標リストLb3の関係を表す図である。
【0057】
本実施例では、図5(b)に示すように、道路管理リストLb1における配列番号1番の道路管理レコード1に対応するリンク列のリンクレコード群を、リンクリストLb2において先頭から配置し、道路管理リストLb1における配列番号2番の道路管理レコード2に対応するリンク列のリンクレコード群を、リンクリストLb2において、道路管理リストLb1における配列番号1番の道路管理レコード1に対応するリンク列のリンクレコード群に続けて配列することにより、道路管理リストLb1とリンクリストLb2との間において、ストリート(リンク列)の配列が同一順序となるように、道路管理リストLb1とリンクリストLb2とを作成し、ストリートに関する複数の属性を関連付けている。
【0058】
即ち、本実施例では、このように道路管理リストLb1内の道路管理レコード1〜B1の配列に対応するストリートの配列と、リンクリストLb2内のリンクレコード1〜B2の配列に対応するストリートの配列とを揃える(同一順序とする)ことにより、道路管理リストLb1及びリンクリストLb2の各レコードを関連付けている。
【0059】
尚、道路管理レコードにはリンク数の情報が格納されているので、単一の道路管理レコードに対して複数のリンクレコードが関連付けられる場合にも、道路管理リストLb1及びリンクリストLb2の先頭から順にレコードを参照/読み込むことにより、道路管理レコード1〜B1とリンクレコード1〜B2との関係を特定することができる。
【0060】
また、リンクリストLb2に登録されたリンクレコードは、リンク(道路リンク)の第一の属性(特徴)を表す属性データということができ、このリンクに対応する座標レコード群は、当該リンクの第二の属性を表す属性データということができるが、本実施例では、図5(b)に示すように、リンクリストLb2における配列番号1番のリンクレコード1に対応するリンクに設定された点の座標レコード群を、座標リストLb3において先頭から配置し、リンクリストLb2における配列番号2番のリンクレコード2に対応するリンクに設定された点の座標レコード群を、座標リストLb3において、リンクリストLb2におけるリンクレコード1に対応する座標レコード群に続けて配列することにより、リンクリストLb2と座標リストLb3との間において、リンクの配列が同一順序となるように、リンクリストLb2と座標リストLb3とを作成している。
【0061】
即ち、本実施例では、このように座標リストLb3内の座標レコード1〜B3の配列に対応するリンクの配列を、リンクリストLb2と揃える(同一順序とする)ことにより、リンクリストLb2及び座標リストLb3の各レコードを関連付けている。尚、リンクレコードには座標点数の情報が格納されているので、このように単一のリンクレコードに対して複数の座標レコードが関連付けられる場合にも、リンクリストLb2及び座標リストLb3の先頭から順にレコードを参照/読み込むことにより、リンクレコード1〜B2と座標レコード1〜B3との関係を特定することができる。ちなみに、単一のリンクレコードに対応する座標レコード群は、座標リストLb3内において、そのリンクの始点から終点への点の並び順に、配列される。また、リンク終点の座標レコードについては、隣接するリンク始点の座標レコードと同座標を示すレコードとなるため、その登録を省略することが可能である。
<1.2.6 リンク接続関係>
続いて、先程説明を保留したリンクの接続関係の記述方法について説明する。本実施例では、上述したように、リンクレコードには、「自リンクの始点に接続される他リンクの情報」及び「自リンクの終点に接続される他リンクの情報」として、夫々、これらの各端点(始点/終点)に接続される単一リンクに関する情報のみしか記述しない。この点は、ノードデータにより、該当ノードに接続される全てのリンクに関する情報を記述する従来の地図データとは異なる点である。
【0062】
具体的に、本実施例では、同一ノードに接続される複数リンクの接続関係を、同一ノードに接続される各リンクのリンクレコードにおいて、時計回りに、隣接するリンクのリンク番号を、接続リンク番号(始点接続リンク番号又は終点接続リンク番号)として記述することにより、表現する。即ち、本実施例では、ノードに接続されるリンクの接続関係を、従来のようにノードデータで一括して記述するのではなく、同一ノードに接続される各リンクのリンクレコードで分散して記述する。そして、地図データを使用する際には、これらリンクレコードを、ノードを中心として時計回りに参照することにより、同一ノードに接続されたリンクを特定する。
【0063】
図6(a)は、リンクの接続関係の一例と共に、接続リンク番号の記述方向を示した図である。具体的に、同図の例では、注目リンクL0の始点及び終点での他リンクの接続関係を、次のように記載する。図6(b)は、図6(a)に示す注目リンクL0のリンクレコードに記述する始点接続リンク番号及び終点接続リンク番号を示した図である。この例では、注目リンクL0の始点に接続される他リンクは、リンクL1,L2,L3である。そして、これらリンクL1,L2,L3の内、注目リンクL0から見て時計回りに隣接するリンクは、リンクL1である。このため、注目リンクL0のリンクレコードには、始点接続リンク番号として、リンクL1のリンク番号を記述する。
【0064】
また、注目リンクL0の終点に接続される他リンクは、リンクR1,R2である。そして、これらリンクR1,R2の内、注目リンクL0から見て時計回りに隣接するリンクは、リンクR1である。このため、注目リンクL0のリンクレコードには、終点接続リンク番号として、リンクR1のリンク番号を記述する。
【0065】
続いて、図6(a)の例に対して、リンクL1,L2,L3のリンクレコードに記述する接続リンク番号を、図7(a)に示す。
図7(a)に示すように、注目リンクL0の始点を中心とした時計回り方向において、リンクL1に隣接するリンクは、リンクL2である。このためリンクL1のリンクレコードには、注目リンクL0の始点と一致するリンクL1の始点又は終点の接続リンク番号(始点接続リンク番号又は終点接続リンク番号)として、リンクL2のリンク番号を記述する。また、時計回り方向において、リンクL2に隣接するリンクは、リンクL3である。このためリンクL2のリンクレコードには、注目リンクL0の始点と一致するリンクL2の始点又は終点の接続リンク番号として、リンクL3のリンク番号を記述する。また、時計回り方向において、リンクL3に隣接するリンクは、注目リンクL0である。このためリンクL3のリンクレコードには、注目リンクL0の始点と一致するリンクL3の始点又は終点の接続リンク番号として、注目リンクL0のリンク番号を記述する。
【0066】
本実施例では、このような複数リンクレコードでの記述によって、注目リンクL0始点のリンク接続関係を表現する。
また、図7(b)は、図6(a)の例に対して、リンクR1,R2のリンクレコードに記述する接続リンク番号を示すものである。図7(b)に示すように、注目リンクL0の終点を中心とした時計回り方向において、リンクR1に隣接するリンクは、リンクR2である。このためリンクR1のリンクレコードには、注目リンクL0の終点と一致するリンクR1の始点又は終点の接続リンク番号(始点接続リンク番号又は終点接続リンク番号)として、リンクR2のリンク番号を記述する。また、時計回り方向において、リンクR2に隣接するリンクは、注目リンクL0である。このためリンクR2のリンクレコードには、注目リンクL0の終点と一致するリンクR2の始点又は終点の接続リンク番号として、注目リンクL0のリンク番号を記述する。
【0067】
本実施例では、このような複数リンクレコードでの記述によって、注目リンクL0終点のリンク接続関係を表現する。
以上、リンク接続関係の表現方法について説明したが、本実施例によれば、このようなリンク接続関係の表現方法を採用しているので、地図データにリンク接続関係を表すノードデータを設ける必要がなく、地図データをコンパクトすることが可能である。
<1.2.7 上位リンクID>
続いて、上位リンクID(図3参照)について説明する。道路データの各メッシュ単位データに格納される上位リンクIDは、対応するリンクの上位レベルリンクのリンク番号を示すものである。この上位リンクIDは、固定長で表現される。但し、ここで言う上位レベルリンクのリンク番号は、上位レベルのメッシュ単位データにおけるリンクリストLb2先頭からの配列番号である。この上位リンクIDは、当該レベルのリンクと、上位レベルのリンクとの対応関係を定義付ける目的で用いられる。
【0068】
詳述すると、上位リンクIDリストLb4は、リンクリストLb2にリンクレコードが登録されたリンク毎に、リンクリストLb2におけるリンクの配列と同配列で、対応するリンクの上位リンクID1〜B4が配列されてなる。このような配列の一致により、上位リンクIDリストLb4内の上位リンクID1〜B4と、リンクリストLb2内のリンクレコード1〜B2とは関連付けられている。
<1.2.8 複合リンク規制レコード>
続いて、複合リンク規制レコードについて、図8を用いて説明する。道路データのメッシュ単位データに格納される複合リンク規制レコードは、可変長で表現される。この複合リンク規制レコードは、対象リンク番号、脱出ポイント属性、脱出リンク数C、及び、脱出リンクデータ1〜Cの一群からなる脱出リンクリストLcが記述されてなる。複合リンク規制レコードは、これらの情報によって、対象リンク番号に対応するリンクの始点又は終点から通行(脱出)可能なリンクである脱出リンクを表す。
【0069】
具体的に、脱出リンク数Cは、脱出リンクリストLcに登録された脱出リンクデータの数を表すものであり、脱出リンクリストLcを構成する各脱出リンクデータ1〜Cは、対象リンク番号に対応するリンクの始点(又は終点)から通行(脱出)可能な脱出リンクの識別情報が記述されてなる。また、脱出ポイント属性は、「始点」又は「終点」のいずれかに対応する値を採る。脱出ポイント属性が「始点」である場合、当該複合リンク規制レコードの脱出リンクリストLcは、対象リンク番号に対応するリンクの始点からの脱出リンクを表す。また、脱出ポイント属性が「終点」である場合、当該複合リンク規制レコードの脱出リンクリストLcは、対象リンク番号に対応するリンクの終点からの脱出リンクを表す。
【0070】
また、各脱出リンクデータには、脱出リンクの識別情報として、脱出リンクが存在するメッシュの番号であるメッシュ番号、及び、そのリンクに対応するリンク番号(脱出リンク番号)が記述される。即ち、脱出リンクデータは、メッシュ番号及び脱出リンク番号により、脱出リンクの識別情報が記述された構成にされている。
【0071】
尚、本実施例の地図データを使用する場合には、この脱出リンクリストLcと、上記リンクレコード群で特定されるリンクの接続関係とから、交差点での右折/左折等の通行規制を特定する。
【0072】
例えば、リンクL0の始点において、リンクL1,L2,L3が接続されている交差点を例に挙げる(図8下段参照)。この場合、リンクL0の始点に対応する交差点に対して何ら規制がなければ(但しUターンを考慮しないものとする)、対象リンク番号がL0であり脱出ポイント属性が「始点」である複合リンク規制レコードの脱出リンクリストLcには、脱出リンクL1,L2,L3を示す合計3つの脱出リンクデータが記述される。これに対して、リンクL0からリンクL3への右折通行が禁止されている場合、脱出リンクリストLcには、脱出リンクデータとして、リンクL1を脱出リンクとする脱出リンクデータ及びリンクL2を脱出リンクとする脱出リンクデータのみが記述されリンクL3についての脱出リンクデータが記述されない。このようなリンク接続関係と脱出リンクとの差分情報から、本実施例では、交差点での右折禁止/左折禁止等を特定する。
<1.3 制限速度データのメッシュ単位データ>
上述した拡張データとしての制限速度データは、各リンクの制限速度を表すものである。図9(a)に示すように、この制限速度データのメッシュ単位データは、ヘッダ及び制限速度管理レコード1〜E群から構成される制限速度管理リストLeを有する。図9(a)は、制限速度データのメッシュ単位データの構成を表す図である。
<1.3.1 ヘッダ>
制限速度データのメッシュ単位データに格納されるヘッダは、固定長で表現されるものであり、制限速度管理レコード数E等が記述されてなるものである。
<1.3.2 制限速度管理レコード>
制限速度管理レコードは、レコード毎に固定長で表現されるものであり、対応するリンクの順方向制限速度及び逆方向制限速度が記述された構成にされている。尚、制限速度がない(無制限である)リンクに対しては、無制限であることを示す値が、順方向制限速度や逆方向制限速度として記述される。また、対応するリンクが一方通行である場合には、順方向制限速度及び逆方向制限速度の内、通行不可能な方向に対応する制限速度が、データがないことを示す空値で記述される。
【0073】
また、制限速度管理レコードの夫々は、一つのリンクに対して一つのみ設けられて、制限速度管理リストLeに登録される。具体的に、制限速度管理リストLeは、図9(b)に示すように、対応するメッシュのリンクリストLb2にリンクレコードが登録されたリンク毎に、当該リンクリストLb2におけるリンクの配列と同配列で、対応するリンクの制限速度管理レコード1〜Eが配列されてなる。図9(b)は、リンクレコード1〜B2の配列と、制限速度管理レコード1〜Eの配列との関係を表す図である。
【0074】
但し、制限速度情報有無フラグが「情報無し」との値に設定されたリンクレコードに対応する制限速度管理レコードは、制限速度管理リストLe内に登録されない。即ち、制限速度管理リストLeには、リンクリストLb2において配列番号の若いリンクレコードに対応したリンクの順に、当該リンクの制限速度管理レコードを配列し、リンクレコードに対応する制限速度管理レコードがない場合には、そのリンクレコードに対応する制限速度管理レコードを格納すべき位置に、配列番号が次のリンクレコードに対応する制限速度管理レコードを詰めて配置する。
【0075】
本実施例の地図データにおいては、このようにして、道路データにおける各リンクレコード1〜B2と、制限速度データにおける各制限速度管理レコード1〜Eとを関連付ける。
<1.4 地図データのまとめ>
以上に地図データの構成について説明したが、本実施例によれば、従来技術と同様に、道路をリンク単位で表現して、これらリンクの接続関係を表す情報により道路ネットワークを表現した地図データを作成する。
【0076】
但し、地図データを作成するに当っては、地図構成部品に関する複数種類のデータを、地図構成部品毎ではなく、データの種類毎に分けてまとめて、データリスト化する。例えば、リンクに関する複数種類の属性データ(リンクレコード、座標レコード、制限速度管理レコード等)を、リンク毎ではなく、これら属性データの種類毎に分けてまとめて、データリスト化する(リンクリストLb2、座標リストLb3、制限速度管理リストLe等)。従って、本実施例によれば、地図データの内容変更を簡単に行うことができる。
【0077】
これについて言及すれば、従来技術では、部品毎に複数種類のデータがまとめられた地図データ構造となっているため、特定種類の属性データを更新するだけの地図データの更新であっても、地図データ全体を更新する必要があったが、本実施例によれば、特定種類の属性データを更新するだけの地図データの更新であれば、当該特定種類の属性データ群からなるデータリストを、旧バージョンのデータリストと入れ替えるだけで、地図データの更新が完了する。従って、本実施例の地図データ構造によれば、地図データの更新が容易である。
【0078】
また、この地図データ構造によれば、地図データを構成する各種データリスト(特には拡張データ)の組合せを変更することで、地図データの内容変更を容易に実現できるため、複数種類の地図データを容易に作成することができる。例えば、地図データから制限速度データを削除したり、地図データに制限速度データを追加したりすることにより、制限速度の詳細情報を持たせた地図データ及び制限速度の詳細情報を外した地図データを容易に作成することができる。その結果として、顧客のニーズに合わせた様々な種類の地図データを販売することができる。また、地図データを構成するデータリストを個別に販売して、ユーザによりカスタマイズ可能に地図データを販売することもできる。
【0079】
また、上記データリスト化によっては、各データリストにおける同一リンクに関する属性データ(レコード)を関連付ける必要があるが、本実施例では、これをデータリスト内での配列によって実現するようにし、関連付けのためにリンクID等を用いなくても済むようにした。従って、本実施例によれば、地図データをコンパクトにすることができる。
【0080】
更に言えば、各レコードを極力固定長化することによって、レコード先頭にリンクIDはおろかデータ境界を表すコードを記述しなくとも済むようにすると共に、参照元レコードにおいて参照先レコードのアドレスを記載しなくても済むようにした。従って、この点によっても、本実施例の地図データは、データのコンパクト化に有利に働く。また、固定長化すれば、読込対象のレコードの格納位置を、レコード長とデータリスト先頭からのレコードの配列番号で特定することができるので、各レコードへのアクセス性が向上する。
【0081】
更に言及すれば、従来の地図データには、ノード毎に、リンクの接続関係を表すノードデータを設けていたが、本実施例によれば、リンクの接続関係に関する情報を分散して、リンクレコードに保持するようにした。よって、地図データには、ノードデータを設ける必要がなく、従来のようにリンクデータとノードデータとで座標情報などの重複情報を保持しなくて済む。従って、本実施例によれば、この点でも地図データをコンパクトにすることができる。
【0082】
特に、本実施例では、リンクレコードに、リンクの接続関係を表す情報として、始点接続リンク番号及び終点接続リンク番号を一つのみ記述するようにし、複数リンクが接続されているノード(リンクの始点又は終点)においても、単一の接続相手の識別情報(リンク番号)しか記述しないようにした。
【0083】
即ち、同一ノードに接続される各リンクのリンクレコードにおいては、図6及び図7に示す手法で接続リンク番号を記述することによって、効率的に、リンクの接続関係を表す情報を、同一ノードに接続される複数リンクのリンクレコードで保持するようにした。従って、本実施例によれば、地図データのデータ量を効率的に抑えることができる。
【0084】
また、本実施例の地図データ構造によれば、接続リンク番号を順々に参照することで、同一ノードに接続されるリンクのリンクレコードを一通り簡単に参照することができ、同一ノードにおけるリンクの接続関係を効率的に特定できるようにした。従って、本実施例のように、リンクの接続関係に関する情報を分散して、リンクレコードに保持するようにしても、ナビゲーション装置におけるリンクの接続関係特定のための処理負荷の増大を極力抑えることができる。
【0085】
また、本実施例の地図データ構造によれば、接続関係の記述に、リンクリストLb2でのリンク配列番号を用いるようにしたので、各リンクに対するリンクIDの設定も不要である。従って、この点でも、本実施例の地図データ構造によれば、データのコンパクト化に非常に有利に働く。
<2 ナビゲーション装置の構成>
続いては、上記構成の地図データを搭載するナビゲーション装置10の構成について説明する。
<2.1 基本構成>
図10に示すナビゲーション装置10は、位置検出装置11、地図データ入力装置13、操作デバイス15、音声出力デバイス16、表示デバイス17、及び、制御回路19を備えた構成にされている。
【0086】
位置検出装置11は、ナビゲーション装置10を搭載した車両の現在位置を検出するためのものであり、例えば、周知のジャイロスコープ、距離センサ及びGPS受信機等を有した構成にされる。
【0087】
一方、地図データ入力装置13は、上述の地図データが格納された記録媒体(具体的にはハードディスクやDVD)を有するものであり、この記録媒体に格納された地図データを制御回路19に入力可能に構成されたものである。尚、地図データ入力装置13は、地図データを記憶保持するハードディスク装置に加えてDVDドライブを備えた構成にすることができる。このように地図データ入力装置13を構成すれば、ナビゲーション装置10は、DVDメディアを通じてオプション販売される地図データの追加データを、ハードディスク装置にインストール可能な構成にすることができる。また、ナビゲーション装置10には、地図データを配布するセンタと無線通信可能な通信機(図示せず)を設けることができ、ナビゲーション装置10は、この通信機を通じて受信したデータに基づいて、地図データ入力装置13が保持する地図データを更新する構成にされてもよい。
【0088】
操作デバイス15は、ユーザからの指示を制御回路19に入力するためのものであり、表示デバイス17に配置されたタッチパネルや、ナビゲーション装置10の本体表面やリモートコントローラに設けられた操作スイッチ群等により構成される。この操作デバイス15を通じて、ユーザは、地図の縮尺変更やスクロール等の操作や目的地設定などナビゲーション装置10のあらゆる操作を行うことが可能である。
【0089】
また、音声出力デバイス16は、スピーカ等から構成され、制御回路19からの信号を受けてユーザへの案内音声等を出力するものである。この他、表示デバイス17は、フルカラー表示が可能なものであり、この表示デバイス17には、例えば、位置検出装置11により検出された車両の現在位置を表す現在位置マークや誘導経路等が、地図データ入力装置13より入力された地図データに基づく地図画像に重ねて表示される。
【0090】
また、制御回路19は、周知のマイクロコンピュータと同様の構成にされており、内部にCPU19a、ROM19b、RAM19c、I/O及びこれらの構成を接続するバスラインなどを備える。そして、CPU19aは、ROM19bに記憶されているプログラムに従って、位置検出装置11、地図データ入力装置13、及び、操作デバイス15から入力された信号(情報)に基づく処理を実行する。
【0091】
具体的に、制御回路19は、CPU19aによるプログラムの実行により、地図データ入力装置13から地図データをメッシュ毎に読み込んで、RAM19cに展開する。そして、この展開後地図データに基づいて地図表示や経路探索・経路案内等の処理を実行する。
<2.2 地図データの読込>
続いては、制御回路19が、地図データ入力装置13から地図データを読み込んでRAM19cに展開する処理について説明する。制御回路19は、地図データ入力装置13から地図データをメッシュ毎に読み込んでRAM19cに展開するが、この際には、図11に示すように、地図データ入力装置13が記憶するオリジナルの地図データを、地図データを参照するアプリケーションプログラム(以下、単に「アプリ」と称する。)毎の専用地図データMA1〜MA3に変換する。そして、これらアプリ毎の専用地図データMA1〜MA3を、RAM19cに展開後地図データとして格納する。
【0092】
具体的には、表示デバイス17に地図画像を描画する処理を司るアプリケーションプログラムである描画アプリ、操作デバイス15を通じてユーザから指定された目的地までの誘導経路を探索する処理を司るアプリケーションプログラムである経路探索アプリ、及び、走行道路周辺の道路案内(誘導経路の案内や、走行位置前方の交通規制の案内や、レーン案内等)を行うアプリケーションプログラムである経路案内アプリの夫々について、該当アプリに必要な情報を、地図データ入力装置13が記憶するオリジナルの地図データから抽出・整理した専用地図データMA1〜MA3を、RAM19cに格納する。
【0093】
以下では、描画アプリにより参照される上記専用地図データを、描画用地図データMA1と表現し、経路探索アプリにより参照される上記専用地図データを、経路探索用地図データMA3と表現し、経路案内アプリにより参照される上記専用地図データを、経路案内用地図データMA2と表現する。
【0094】
ちなみに、上記記載からも理解できるように、制御回路19は、地図データを地図データ入力装置13から読み込んで展開するプログラムの他に、ROM19bに記録された描画アプリ、経路探索アプリ、及び、経路案内アプリを実行して、ナビゲーション装置10としての機能を実現する。
【0095】
さて、上記描画用地図データMA1は、地図画像の表示デバイス17への表示に必要十分な情報がまとめられた地図データとして作成され、経路探索用地図データMA3は、目的地までの誘導経路探索に必要十分な情報がまとめられた地図データとして作成され、経路案内用地図データMA2は、表示デバイス17及び音声出力デバイス16を通じた道路案内に必要十分な情報がまとめられた地図データとして作成される。
【0096】
詳述すると、これらアプリ毎及びメッシュ毎の専用地図データMA1〜MA3は、夫々、対応するメッシュ内のリンクに関する情報がまとめられたリンクテーブルと、これらリンクの接続点であるノードに関する情報がまとめられたノードテーブルと、を主な構成要素とする。
【0097】
リンクテーブルTBL11〜TBL13は、単一リンクに関する複数種類のデータがまとめて記述された「リンクデータ」を、メッシュ内のリンク毎に有するものであり、ノードテーブルTBL21〜TBL23は、単一ノードを介して接続されるリンクの識別情報がまとめて記述された「ノードデータ」を、メッシュ内のノード毎に有するものである。
【0098】
即ち、地図データ入力装置13が記憶する地図データを、RAM19cに展開する処理では、リンク単体に関する情報を、リンク毎にまとめたリンクテーブルTBL11〜TBL13を作成すると共に、地図データにおいてリンク毎に分散して記述されるリンクの接続関係やノードの情報(信号機の有無等)を、ノード毎にまとめたノードテーブルTBL21〜TBL23を作成する。
<2.2.1 リンクテーブル及びノードテーブルの詳細構成>
図12(a)は、経路探索用地図データMA3を構成するリンクテーブルTBL13(上段)及びノードテーブルTBL23(下段)のデータ構造の一例を表す図である。
【0099】
本実施例のリンクテーブルTBL11〜TBL13は、リンク番号及び該当リンクの詳細属性が記述されたリンク詳細属性情報を構成要素とするリンクデータをメッシュ内のリンク毎に有する。具体的に、図12(a)に示す例によれば、経路探索用のリンクテーブルTBL13には、リンク番号に続いて、リンク種別、リンク長、制限速度、及び、一方通行規制の情報等がリンク詳細属性情報として記述されたリンクデータが登録される。
【0100】
尚、リンクデータに記述されるリンク番号は、リンクリストLb2に登録された該当リンクの配列番号を示し、リンクデータに記述されるリンク種別は、対応するリンクレコードに記されたリンク種別を起源(出所)とする。同様に、リンクデータに記述されるリンク長は、対応するリンクレコードに記されたリンク長を起源とする。
【0101】
この他、リンクデータに記述される一方通行規制の情報は、対応するリンクレコードに記されたリンク方向属性を起源とする。更に、リンクデータに記述される制限速度は、対応するリンクレコードに記述されたスピードカテゴリ、又は、対応するリンクの制限速度管理レコードが示す順方向制限速度及び逆方向制限速度を起源とする。リンクデータには、上記制限速度として、対応するリンクの制限速度管理レコードが示す順方向制限速度及び逆方向制限速度が、この制限速度が適用される車線の向きの情報と共に記述されるが、対応するリンクの制限速度管理レコードがない場合には、スピードカテゴリが示す速度領域に基づく値(例えば速度領域の代表値)が記述される。
【0102】
また、ノードテーブルTBL21〜TBL23は、ノード番号、該当ノードでのリンク接続数、このノードに接続されるリンクについてのリンク番号が配列されたリンク接続情報、このノードの座標を表すノード座標情報、及び、座標及び接続関係以外についてのノードの詳細属性が記述されたノード詳細属性情報を構成要素とするノードデータを、メッシュ内のノード毎に有する。
【0103】
具体的に、ノード番号は、各ノードテーブルTBL21〜TBL23への登録順に、連続した番号としてノードデータに付されるものである。また、ノードデータに記述されるリンク接続数は、リンク接続情報としてリンク番号が登録されたリンクの数に一致する。また、リンク接続情報は、上述したように、該当ノードに接続される各リンクのリンク番号の一群からなるが、ここで使用されるリンク番号は、当然のことながら、該当リンクのリンクリストLb2における配列番号に一致する。
【0104】
また、図12(a)に示す例によれば、経路探索用のノードテーブルTBL23には、上記ノード詳細属性情報として、経路探索に必要な右左折規制情報が記述される。右左折規制情報としては、具体的に、当該ノードに進入するリンクであって、当該ノードでの右折及び左折のいずれか一方が禁止されたリンクのリンク番号と禁止内容(右折禁止/左折禁止/右左折の両者禁止のいずれか)とが記述される。
【0105】
ちなみに、ノードデータを構成するリンク接続情報は、当該ノードに接続される各リンクのリンクレコードが示す始点接続リンク番号及び終点接続リンク番号及び始点接続属性及び終点接続属性(図4(a)参照)を起源(出所)とする情報であり、ノード座標情報は、該当ノードの座標レコード(図4(b)参照)を起源とし、右左折規制情報は、該当ノードに接続された各リンクの複合リンク規制レコード(図8参照)を、起源とする。
【0106】
また、図12(b)は、経路案内用地図データMA2を構成するリンクテーブルTBL12(上段)及びノードテーブルTBL22(下段)のデータ構造を表す図である。図12(b)に示すように、経路案内用のリンクテーブルTBL12に登録されるリンクデータは、上記リンク詳細属性情報として、リンク種別及び車線数の情報を有する。尚、このリンク詳細属性情報として記述される車線数は、対応するリンクレコードが示す車線数を起源とする。また、経路案内用のノードテーブルTBL22に登録されるノードデータは、上記ノード詳細属性情報として、前方に信号機があることを案内するための信号機情報を有する。尚、この信号機情報は、対応するノードでの信号機の有無を表すものであり、ノードに接続されるリンク群の各リンクレコードが示す始点側信号機有無フラグ及び終点側信号機有無フラグを起源とする。
【0107】
また、図示を省略するが、描画用地図データMA1のリンクテーブルTBL11としては、例えば、上記リンク詳細属性情報として、リンク種別の情報のみを有した構成のリンクテーブルを挙げることができる。更に、描画用地図データMA1のノードテーブルTBL21としては、ノードテーブルTBL22と同一構成のノードテーブルを挙げることができる。
<2.2.2 テーブル作成処理>
続いて、制御回路19が、地図データ入力装置13の地図データからメッシュ毎及びアプリ毎の上記ノードテーブルTBL21〜TBL23及びリンクテーブルTBL11〜TBL13を作成する際に実行するテーブル作成処理について、図13を用いて説明する。図13は、制御回路19が実行するテーブル作成処理を表すフローチャートである。制御回路19は、地図データを読み込む際、メッシュ毎に、このテーブル作成処理を実行して、対応するメッシュのリンクテーブル及びノードテーブルであって、アプリ毎のリンクテーブルTBL11〜TBL13及びノードテーブルTBL21〜TBL23を作成する。
【0108】
このテーブル作成処理を開始すると、制御回路19は、まず、テーブル作成を宣言して、内容が空のテーブルであって、対応するメッシュのアプリ毎のリンクテーブルTBL11〜TBL13及びノードテーブルTBL21〜TBL23をRAM19c上に作成する(S100)。また、ノードテーブルTBL21〜TBL23に登録するノードデータ毎に、1から始まる連続したノード番号を付すため、ノード番号vを1に初期化する(S110)。また、注目リンク番号wを1に初期化する(S120)。このテーブル作成処理では、リンクリストLb2先頭からリンクレコードを順に参照するが、注目リンク番号wは、参照するリンクレコードのリンクリストLb2先頭からの配列番号を表す。以下では、注目リンク番号wのリンクレコードに対応するリンクを、注目リンクとも表現する。
【0109】
S120での処理を終えると、制御回路19は、変数Nに、今回地図データ読込対象とするメッシュのリンクレコード数B2を設定する(S130)。このリンクレコード数B2の設定は、道路データのメッシュ単位データに記述されたリンクレコード数B2に基づいて行うことができる。以下、変数Nに設定された値を、単に値Nと表現する。
【0110】
また、この処理を終えると、制御回路19は、注目リンク番号wが値Nより大きいか否かを判断し(S140)、値N以下である場合には(S140でNo)、図14に示すリンク始点側データ登録処理(S150)、及び、リンク終点側データ登録処理(S160)を実行する。
【0111】
詳細については後述するが、リンク始点側データ登録処理(S150)では、注目リンクの始点に位置するノードについてのアプリ毎のノードデータを作成して、これを上記アプリ毎のノードテーブルTBL21〜TBL23に登録すると共に、当該ノードに接続された各リンクについてのアプリ毎のリンクデータを作成して、これを上記アプリ毎のリンクテーブルTBL11〜TBL13に登録する。
【0112】
また、リンク終点側データ登録処理(S160)では、注目リンクの終点に位置するノードについてのアプリ毎のノードデータを作成して、これを上記アプリ毎のノードテーブルTBL21〜TBL23に登録すると共に、当該ノードに接続された各リンクについてのアプリ毎のリンクデータを作成して、これを上記アプリ毎のリンクテーブルTBL11〜TBL13に登録する。
【0113】
このようにして、リンク始点側データ登録処理(S150)及びリンク終点側データ登録処理(S160)を終了すると、制御回路19は、注目リンク番号wを1加算するように更新した後(S170)、ループ先頭であるS140に戻って、上記更新後の注目リンク番号wに基づいたS140以降の処理を実行する。そして、注目リンク番号wが値Nを超えると(S140でYes)、当該テーブル作成処理を終了する。
【0114】
続いて、S150で実行するリンク始点側データ登録処理について図14を用いて詳述する。リンク始点側データ登録処理を開始すると、制御回路19は、ノードデータ登録対象のノードとして、注目リンクの始点に位置するノードを設定する(S210)。ここでは、具体的に、RAM19cのノード座標情報作成エリアに、注目リンクの始点に位置するノード座標を登録することにより、ノードデータ登録対象のノードとして、注目リンクの始点に位置するノードを設定する。ちなみに、ノード座標については、注目リンクのリンクレコードに関連付けられた座標レコード群の先頭レコードに記述された座標情報から特定することができる。
【0115】
また、この処理を終えると、S210でノードデータ登録対象に設定されたノードについてのノードデータが既にアプリ毎の各ノードテーブルTBL21〜TBL23に登録されているか否かを判断する(S220)。そして、該当ノードデータが登録されていると判断すると(S220でYes)、S330に移行し、該当ノードデータが登録されていないと判断すると(S220でNo)、S230に移行する。
【0116】
S230に移行すると、制御回路19は、参照リンク番号Zrを、注目リンク番号wに設定することにより、リンクレコードを参照するリンクである参照リンクとして、注目リンクを設定する。尚、本実施例の地図データ構造によれば、ノードにおけるリンクの接続関係を把握するには、同一ノードに接続されたリンクに対応するリンクレコードを時計回りに巡回するように参照する必要がある。S230の手順は、このように同一ノードに接続されたリンクに対応するリンクレコードを巡回する際に、最初に参照するリンクレコードを設定するための動作である。
【0117】
S230での処理を終えると、制御回路19は、S240に移行し、RAM19cのリンク接続情報作成エリアに、参照リンク番号Zrを追加登録する。これによって、ノードデータ登録対象のノードに接続される当該リンクのリンク番号をリンク接続情報として登録する。
【0118】
また、この処理を終えると、参照リンク番号Zrに対応する参照リンクについてのアプリ毎のリンクデータが既にリンクテーブルTBL11〜TBL13に登録されているか否かを判断し(S250)、リンクテーブルTBL11〜TBL13に登録されていない場合には(S250でNo)、S260の処理を実行した後にS270に移行し、リンクテーブルTBL11〜TBL13に登録されている場合には(S250でYes)、S260の処理をスキップして、S270に移行する。
【0119】
具体的に、S260では、リンクリストLb2において参照リンク番号Zrに対応するリンク番号のリンクレコードを参照し、このリンクレコード及びこれに関連付けられたレコード(制限速度管理レコード等)に基づいて、参照リンクについてのアプリ毎のリンクデータを作成する。即ち、参照リンクのリンクレコード等に含まれる情報を整理して、経路探索用のリンクテーブルTBL13に登録するリンクデータ、経路案内用のリンクテーブルTBL12に登録するリンクデータ、及び、描画用のリンクテーブルTBL11に登録するリンクデータを作成する。各リンクテーブルTBL11〜TBL13に対応するリンクデータの例は、図12等で説明した通りである。そして、これらアプリ毎のリンクデータの夫々を、対応するリンクテーブルTBL11〜TBL13に登録する。
【0120】
また、S270では、参照リンク番号Zrを更新する。具体的には、現時点での参照リンク番号Zrに対応する参照リンクのリンクレコードに記述された始点接続リンク番号Qs又は終点接続リンク番号Qeのいずれか一方を、新たな参照リンク番号Zrに設定することで、参照リンク番号Zrを更新する(Zr←Qs又はZr←Qe)。詳述すれば、現参照リンクの始点が、S210で設定したノードデータ登録対象のノードに一致する場合には、参照リンク番号Zrを、現参照リンクのリンクレコードに記述された始点接続リンク番号Qsに更新する。一方、現参照リンクの終点が、S210で設定したノードデータ登録対象のノードに一致する場合には、参照リンク番号Zrを、現参照リンクのリンクレコードに記述された終点接続リンク番号Qeに更新する。尚、リンク始点側データ登録処理における初回のS270では、S210で注目リンクの始点に位置するノードを、ノードデータ登録対象のノードに設定する関係上、参照リンク番号Zrを、その時点での参照リンクである注目リンクのリンクレコードに記述された始点接続リンク番号Qsに更新する。尚、参照リンクの始点及び終点のいずれがノードデータ登録対象のノードであるか否かは、各点の座標を比較することにより、特定することができる。
【0121】
また、S270での処理を終えると、制御回路19は、S280に移行し、参照リンク番号Zrが注目リンク番号wに一致するか否かを判断する。尚、ここで、参照リンク番号Zrが注目リンク番号wに一致する場合には、ノードに接続されたリンクに対応するリンクレコードの参照が時計回りに一通り完了(一巡)したことを意味する。
【0122】
そして、参照リンク番号Zrが注目リンク番号wに一致しないと判断すると(S280でNo)、処理ループ先頭であるS240に戻って、更新後の参照リンク番号Zrに対応した参照リンクについてのS240〜S280の処理を実行する。
【0123】
このような繰返し動作により、リンク接続情報作成エリアには、ノードデータ登録対象のノードに接続される各リンクのリンク番号が順に登録され、最終的に、当該ノードについてのリンク接続情報が完成する。また、S280で、参照リンク番号Zrが注目リンク番号に一致すると判断すると(S280でYes)、制御回路19は、S290に移行し、リンク接続情報作成エリアで完成した上記リンク接続情報に基づいて、経路探索用のノードデータを作成し、これを経路探索用のノードテーブルTBL23に登録する。
【0124】
具体的には、リンク接続情報で特定される当該ノードでのリンク接続関係に基づき、経路探索用のノードデータに格納する上記ノード詳細属性情報を、地図データ入力装置13が記憶する地図データを参照して作成する。そして、現時点で設定されているノード番号v、リンク接続情報に登録されているリンク数、リンク接続情報作成エリアで完成した上記リンク接続情報、ノード座標情報作成エリアに登録されたノード座標情報、及び、上記作成した経路探索用のノード詳細属性情報を格納したノードデータを作成し、これを経路探索用のノードテーブルTBL23に登録する。
【0125】
同様に、S290に続くS300では、経路案内用のノードデータを、経路案内用のノードテーブルTBL22に登録する。具体的には、リンク接続情報で特定される当該ノードでのリンク接続関係に基づき、経路案内用のノードデータに格納する上記ノード詳細属性情報を作成し、このノード詳細属性情報を、経路探索用のノードデータに格納したノード詳細属性情報に代えて格納してなるノードデータを、経路案内用のノードデータとして作成する。そして、これを、経路案内用のノードテーブルTBL22に登録する。
【0126】
同様に、S300に続くS310では、描画用のノードデータを、描画用のノードテーブルTBL21に登録する。具体的には、リンク接続情報で特定される当該ノードでのリンク接続関係に基づき、描画用のノードデータに格納する上記ノード詳細属性情報を作成し、このノード詳細属性情報を、経路探索用のノードデータに格納したノード詳細属性情報に代えて格納してなるデータを、描画用のノードデータとして作成する。そして、これを、描画用のノードテーブルTBL21に登録する。
【0127】
また、このようにしてアプリ毎のノードテーブルTBL21〜TBL23に、該当ノードについてのノードデータを登録した後には、S320に移行して、ノード番号vを1カウントアップする。その後、S330に移行する。
【0128】
また、S330では、今般のノードデータの作成に用いたRAM19c上の情報作成エリア(リンク属性情報作成エリア及びノード座標情報作成エリア)をクリアして、当該リンク始点側データ登録処理を終了する。以上が、リンク始点側データ登録処理の内容である。
【0129】
ちなみに、S160で実行されるリンク終点側データ登録処理は、ノードデータ登録対象ノードを、注目リンクの終点に位置するノードに設定する以外は、リンク始点側データ登録処理の同内容の手順を実行するものである。本実施例では、このような内容のリンク終点側データ登録処理をS160で実行して、注目リンクの終点に位置するノードのノードデータについても、同様にノードテーブルTBL21〜TBL23に登録する。
【0130】
以上、ナビゲーション装置10について説明したが、上述の地図データ構造によれば、地図データをコンパクトすることができる一方で、リンクの接続関係が複数のリンクレコードに分散して表現されるので、ナビゲーション装置側で、リンクの接続関係を、都度地図データを参照して特定するのでは、リンクの接続関係を特定するのに従来装置よりも負荷がかかってしまう。このため、本実施例では、従来と同様のノードデータを、地図データから作成して、ノードテーブルTBL21〜TBL23に登録することで、リンクの接続関係を特定するための処理負荷を、低減するようにした。従って、このナビゲーション装置10によれば、地図データのコンパクト化により生じる不利益を解消することができる。
【0131】
また、このナビゲーション装置10のように、地図データからノードテーブルTBL21〜TBL23を作成すれば、末端のアプリケーションプログラムにおいて、従来の地図データと同様の方式で、地図データにアクセスし、必要な処理を実行することができる。よって、このナビゲーション装置10によれば、上記地図データ構造の採用により、従前使用されてきたアプリケーションプログラムの大幅な修正が強いられるのを回避することができる。
【0132】
また、アプリ毎のリンクテーブルTBL11〜TBL13及びノードテーブルTBL21〜TBL23を作成することで、データアクセス性が向上し、アプリによる処理性能が向上するといった利点もある。
【0133】
ところで、上記実施例では、各アプリのリンクテーブルTBL11〜TBL13及びノードテーブルTBL21〜TBL23を、単一のテーブル作成処理で直列的に作成するようにしたが、ナビゲーション装置10は、アプリ毎のテーブル作成処理を並列に実行して、各アプリのリンクテーブルTBL11〜TBL13及びノードテーブルTBL21〜TBL23を並列に作成する構成にされてもよい。
【0134】
例えば、アプリ毎にテーブル作成処理を実行し、各アプリのテーブル作成処理では、S260で、対応するアプリ用のリンクテーブルのみを作成し、S290〜S310では、この内のいずれか一つの処理のみを実行して、対応するアプリ用のノードテーブルを作成するように、ナビゲーション装置10(制御回路19)を構成することができる。
【0135】
特には、アプリからの要求(詳細には、アプリに対応する処理を実行するタスクからの要求)に応じて、要求元のアプリに対応したテーブル作成処理を実行し、当該アプリのリンクテーブル及びノードテーブルを作成するように、ナビゲーション装置10(制御回路19)を構成すると、リンクテーブル及びノードテーブルの記憶領域を減らすことができるといった効果が得られて、一層ナビゲーション装置10の利便性が高まる。
【0136】
例えば、ナビゲーション装置10は、描画アプリからの要求に応じて、描画用のリンクテーブルTBL11及びノードテーブルTBL21を作成し、経路案内アプリからの要求に応じて、経路案内用のリンクテーブルTBL12及びノードテーブルTBL22を作成し、経路探索アプリからの要求に応じて、経路探索用のリンクテーブルTBL13及びノードテーブルTBL23を作成する構成にすることができる。
【0137】
また、上記実施例では、アプリ毎にリンクテーブルTBL11〜TBL13及びノードテーブルTBL21〜TBL23を作成するようにしたが、複数アプリに共通するリンクテーブル及びノードテーブルを作成するようにしてもよい。この場合にも、リンクテーブル及びノードテーブルの記憶領域を低減することができる。
【0138】
尚、複数アプリに共通するリンクテーブル及びノードテーブルを作成する手法としては、アプリ毎のリンクテーブルTBL11〜TBL13及びノードテーブルTBL21〜TBL23を作成するのを止めて、複数アプリに共通するリンクテーブル及びノードテーブルを作成する手法の他、アプリ毎のリンクテーブル及びノードテーブルを作成するが、各アプリが共通して用いる情報については、これらをまとめて格納した複数アプリに共通するリンクテーブル及びノードテーブルを作成する手法が考えられる。そして、後者の対応によれば、リンクやノードに関する情報の読出効率を過度に落とすことなく記憶領域の低減を図ることができるといった利点がある。
<3.変形例>
続いて、上述したナビゲーション装置10の変形例について、図15〜図17を用いて説明する。但し、変形例のナビゲーション装置10は、そのハードウェア構成を、上記実施例と同一とするものであり、制御回路19が実行するテーブル作成処理の一部内容及び当該テーブル作成処理にて作成されるノードテーブルの一部構成が異なる程度である。従って、以下では、上記実施例のナビゲーション装置10と同一構成の部位に上記実施例と同一の符号を付して、その説明を適宜省略する。
【0139】
まず概略について説明すると、変形例のナビゲーション装置10は、上記実施例におけるノードテーブルTBL21〜TBL23の夫々が互いに重複して保持する情報を格納した共通ノートテーブルTBL30(図12及び図16参照)を作成する一方、上記実施例のノードテーブルTBL21〜TBL23の夫々からノード番号以外の上記互いに重複して保持する情報を削除したアプリ毎のテーブルTBL31〜TBL33を、上記実施例のノードテーブルTBL21〜TBL23に代わるテーブルとして作成するようにしたものである。
【0140】
即ち、変形例のナビゲーション装置10が有する制御回路19(図10参照)は、地図データ入力装置13から地図データをメッシュ毎に読み込んでRAM19cに展開する際、図15に示すように、アプリ毎のリンクテーブルTBL11〜TBL13及びノードテーブルTBL31〜TBL33を格納した専用地図データMA11〜MA13を作成する一方、各アプリ共通のノードテーブルである共通ノードテーブルTBL30を作成する。
【0141】
図16(a)は、共通ノードテーブルTBL30のデータ構造を表す図であり、図16(b)は、変形例の経路探索用地図データMA13に格納されるノードテーブルTBL33のデータ構造を表す図であり、図16(c)は、変形例の経路案内用地図データMA12に格納されるノードテーブルTBL32のデータ構造を表す図である。
【0142】
図16(a)に示すように、共通ノードテーブルTBL30は、ノード毎に、ノード番号、このノードでのリンク接続数、このノードに接続されるリンクのリンク番号が配列されたリンク接続情報、及び、このノードの座標を表すノード座標情報が互いに関連付けられたノードデータを有する。これらの情報は、図12の参照により理解できるように、上記実施例におけるアプリ毎のノードテーブルTBL21〜TBL23において互いに重複して保持していた情報である。
【0143】
一方、図16(b)及び図16(c)に示すように、アプリ毎のノードテーブルTBL31〜TBL33は、対応するアプリに特有なノード詳細属性情報がノード番号に関連付けられてなるノードデータを、ノード毎に有する。即ち、変形例におけるアプリ毎のノードテーブルTBL31〜TBL33は、図12との比較から理解できるように、上記実施例におけるアプリ毎のノードテーブルTBL21〜TBL23において重複して保持されていた各ノードのリンク接続数、リンク接続情報、及び、ノード座標情報が省略されてなるテーブルとして構成される。尚、本変形例においては、リンクテーブル及びノードテーブルの内、ノードテーブルに対してのみ、共通するテーブル(共通ノードテーブルTBL30)が作成される。換言すると、アプリ毎のリンクテーブルTBL11〜13は、上記実施例と同一構成とされる。
【0144】
制御回路19は、テーブル作成処理(図13参照)におけるS100で、テーブル作成を宣言して、内容が空のテーブルであって、対応するメッシュの共通ノードテーブルTBL30並びにアプリ毎のリンクテーブルTBL11〜TBL13及びノードテーブルTBL31〜TBL33をRAM19c上に作成した後、S110〜S170の処理を上記実施例と同様に実行するが、S150では図14に示すリンク始点側データ登録処理に代えて、図17に示す内容のリンク始点側データ登録処理を実行し、S160では同一思想のリンク終点側データ登録処理を実行することにより、共通ノードテーブルTBL30、及び、アプリ毎のノードテーブルTBL31〜TBL33に対して、ノードデータを登録して、各テーブルTBL30〜TBL33を完成させる。
【0145】
具体的に、リンク始点側データ登録処理では、上記実施例と同様にS210〜S280の処理を実行した後、S400に移行し、共通ノードテーブルTBL30に対して、ノードデータ登録対象ノードに対応したノード番号、リンク接続数、リンク接続情報、及び、ノード座標情報を格納したノードデータを登録する。
【0146】
その後、当該ノードデータ登録対象ノードのリンク接続情報で特定される当該ノードでのリンク接続関係に基づき、経路探索用のノードデータに格納する上記ノード詳細属性情報を、地図データ入力装置13が記憶する地図データを参照して作成し、当該ノードのノード番号とノード詳細属性情報とを格納したノードデータを、経路探索用のノードテーブルTBL33に登録する(S410)。
【0147】
更に、当該ノードデータ登録対象ノードのリンク接続情報で特定される当該ノードでのリンク接続関係に基づき、経路案内用のノードデータに格納する上記ノード詳細属性情報を、地図データ入力装置13が記憶する地図データを参照して作成し、当該ノードのノード番号とノード詳細属性情報とを格納したノードデータを、経路案内用のノードテーブルTBL32に登録する(S420)。
【0148】
同様にして、当該ノードデータ登録対象ノードのリンク接続情報で特定される当該ノードでのリンク接続関係に基づき、描画用のノードデータに格納する上記ノード詳細属性情報を、地図データ入力装置13が記憶する地図データを参照して作成し、当該ノードのノード番号とノード詳細属性情報とを格納したノードデータを、描画用のノードテーブルTBL31に登録する(S430)。
【0149】
このようにしてアプリ毎のノードテーブルTBL31〜TBL33に、ノードデータ登録対象ノードについてのノードデータを登録した後には、S320に移行して、ノード番号vを1カウントアップする。その後、S330に移行する。
【0150】
変形例では、このようにしてリンク始点側データ登録処理を実行する。また、リンク終点側データ登録処理では、ノードデータ登録対象ノードを、注目リンクの終点に位置するノードに設定することを除いては図17に示すリンク始点側データ登録処理の同内容の手順を実行し、注目リンクの終点に位置するノードのノードデータを、共通ノードテーブルTBL30及びアプリ毎のノードテーブルTBL31〜TBL33に登録する。
【0151】
このようにして本実施例では、共通ノードテーブルTBL30及びアプリ毎のノードテーブルTBL31〜TBL33を完成させる。
そして、各アプリにおけるノードデータの参照時には、ノード番号によって共通ノードテーブルTBL30と自アプリのノードテーブルと間で関連付けられている各ノードデータを参照し、当該ノードデータに基づいた処理を実行する。
【0152】
以上、変形例のナビゲーション装置10について説明したが、このナビゲーション装置10では、ノードテーブルに関して、リンク接続情報を含む各アプリに共通して用いられるノードに関する情報(リンク接続数の情報及びリンク接続情報及びノード座標情報)を、共通ノードテーブルTBL30に格納し、アプリ毎のノードテーブルTBL31〜TBL33には、該当アプリによって用いられるノードに関する情報の内、共通ノードテーブルTBL30において不足する情報のみを格納するようにした。従って、変形例によれば、ノードテーブルのデータ量を抑えることができ、ノードデータの読出効率の劣化を抑えつつも効率的にノードテーブルの記憶領域を低減することができる。尚、変形例では、アプリ毎のリンクテーブルTBL11〜TBL13から重複する情報を抽出して共通リンクテーブルを作成することをしなかったが、リンクテーブルについても、リンクテーブルTBL11〜TBL13から重複する情報を抽出して共通リンクテーブルを作成するようにしてもよい。
<4 最後に>
以上に、変形例を含む本発明の実施例について説明したが、本発明は、上記実施例に限定されるものではなく、種々の態様を採ることができる。例えば、上述した構成の地図データ構造は、車両に搭載されるナビゲーション装置用の地図データ以外の地図データにも適用することができる。具体的には、携帯電話等の携帯端末にインストールされる地図データにも適用することが可能である。
【0153】
この他、上記実施例では、リンクレコードにおいて、このリンクに接続される他のリンクであって、時計回り方向に隣接するリンクのリンク番号を、始点接続リンク番号又は終点接続リンク番号として記述するようにしたが、時計回り方向ではなく、反時計回り方向に隣接するリンクのリンク番号を、始点接続リンク番号又は終点接続リンク番号として記述するようにしてもよい。
【0154】
その他、接続リンク番号(始点接続リンク番号又は終点接続リンク番号)には、同一地点に接続されるリンクのリンク番号を、その番号の小さい順又は大きい順に記述して、リンクの接続関係を表現することもできる。例えば、図6(a)に示す例において、リンクL0,L1,L2,L3のリンク番号の大小関係が、リンクL2>リンクL1>リンクL3>リンクL0であるとすると、リンクL0のリンクレコードにおける接続リンク番号に、リンクL3のリンク番号を記述し、リンクL3のリンクレコードにおける接続リンク番号に、リンクL1のリンク番号を記述し、リンクL1のリンクレコードにおける接続リンク番号に、リンクL2のリンク番号を記述し、リンクL2の接続リンク番号に、リンクL0のリンク番号を記述するといった具合である。
【0155】
このような接続リンク番号の記載によっても、同一ノードに接続される複数リンクのリンクレコードの全てを、接続リンク番号に基づいて、一巡するように効率的に参照して、ノードでのリンクの接続関係を把握することができる。特に、リンク番号の小さい順に接続リンク番号を記載すれば、リンクリストLb2の先頭から順に、同一地点に接続されたリンクについてのリンクレコードにアクセスすることができるので、データアクセス性が向上する。
【0156】
この他、上記実施例では、地図データ入力装置13が記録媒体に記憶する地図データを、上記リンクテーブルTBL11〜TBL13及びノードテーブルTBL21〜TBL23(又はノードテーブルTBL30〜TBL33)に変換して、ワークメモリ(作業メモリ)であるRAM19cに書き込むが、地図データの読込については、一旦、地図データ入力装置13が記録媒体に記憶する地図データを、RAM19cにコピーし、このコピーした地図データに基づいて、上記リンクテーブルTBL11〜TBL13及びノードテーブルTBL21〜TBL23(又はノードテーブルTBL30〜TBL33)を作成し、これをアプリが参照するRAM19cの別領域に書き込むようにしてもよい。
【0157】
この場合、「特許請求の範囲」記載の地図データ記憶手段は、RAM19cにおける地図データ入力装置13が記録媒体に記憶する地図データをコピーした領域に対応し、「特許請求の範囲」記載のワークメモリは、RAM19c上のリンクテーブル及びノードテーブルを記憶する領域に対応する。
【0158】
また、「特許請求の範囲」記載のリンク本体及び端点の属性が記された属性データは、リンク本体の属性として、リンク長や車線数等の情報が記載されると共に、リンク端点の属性として、始点/終点接続リンク番号や、信号機有無フラグが記載されたリンクレコードや、制限速度管理レコード、複合リンク規制レコード等の一群に対応する。
【符号の説明】
【0159】
10…ナビゲーション装置、11…位置検出装置、13…地図データ入力装置、15…操作デバイス、16…音声出力デバイス、17…表示デバイス、19…制御回路、19a…CPU、19b…ROM、19c…RAM、La1…道路管理リスト、Lb2…リンクリスト、Lb3…座標リスト、Lb4…上位リンクIDリスト、Lb5…複合リンク規制リスト、Le…制限速度管理リスト、MA1,MA11…描画用地図データ、MA2,MA12…経路案内用地図データ、MA3,MA13…経路探索用地図データ、TBL11〜TBL13…リンクテーブル、TBL21〜TBL23,TBL30〜TBL33…ノードテーブル

【特許請求の範囲】
【請求項1】
地図データを記憶保持する地図データ記憶手段と、
前記地図データ記憶手段が記憶保持する前記地図データを、ワークメモリに展開する展開手段と、
を備え、前記ワークメモリに展開されたデータを参照して、前記地図データに基づく処理を実行する電子機器であって、
前記地図データ記憶手段が記憶する前記地図データは、道路がリンク単位で表現され、これらリンクの接続によって道路ネットワークが表現された地図データとして構成され、前記道路ネットワークを構成する前記リンク毎に、リンク本体及び端点の属性が記された属性データを備え、前記端点の属性として、当該端点でのリンクの接続関係を表す情報が格納された構成にされ、
前記展開手段は、前記地図データ記憶手段が記憶保持する前記リンク毎の属性データに基づき、複数リンクの接続点である各ノードに対して、このノードを介して接続される前記複数リンクの夫々を識別可能な情報としてのリンク接続情報を格納したノードテーブルを作成し、前記ノードテーブルを、前記地図データの展開結果として、前記ワークメモリに書き込む構成にされていること
を特徴とする電子機器。
【請求項2】
前記属性データに格納されるリンク端点でのリンクの接続関係を表す情報は、端点毎に、この端点に接続されるリンク群の内、所定の規則に従う単一リンクのみを接続相手として示す情報であること
を特徴とする請求項1記載の電子機器。
【請求項3】
前記電子機器は、前記地図データに基づく処理として、複数種類のアプリケーションプログラムに従って、前記アプリケーションプログラム毎に、当該アプリケーションプログラムに対応した処理を、前記ワークメモリに展開されたデータを参照して実行する構成にされ、
前記展開手段は、前記アプリケーションプログラム毎に専用の前記ノードテーブルを作成して、前記アプリケーションプログラム毎の前記ノードテーブルを前記地図データの展開結果として前記ワークメモリに書き込む構成にされ、前記アプリケーションプログラム毎の前記ノードテーブルとして、前記リンク接続情報を含む当該アプリケーションプログラムによって用いられるノードに関する情報を前記ノード毎に格納したノードテーブルを作成すること
を特徴とする請求項1又は請求項2記載の電子機器。
【請求項4】
前記電子機器は、前記地図データに基づく処理として、複数種類のアプリケーションプログラムに従って、前記アプリケーションプログラム毎に、当該アプリケーションプログラムに対応した処理を、前記ワークメモリに展開されたデータを参照して実行する構成にされ、
前記展開手段は、前記複数種類のアプリケーションプログラムに共通のノードテーブル、及び、前記アプリケーションプログラム毎に専用のノードテーブルを作成して、前記複数種類のアプリケーションプログラムに共通のノードテーブル及び前記アプリケーションプログラム毎のノードテーブルを前記地図データの展開結果として前記ワークメモリに書き込む構成にされ、前記共通のノードテーブルとして、前記ノード毎に、少なくとも前記リンク接続情報を含む前記複数種類のアプリケーションプログラムに共通して用いられる前記ノードに関する情報を格納したノードテーブルを作成し、前記アプリケーションプログラム毎のノードテーブルとして、前記ノード毎に、当該アプリケーションプログラムによって用いられる当該ノードに関する情報であって前記共通するノードテーブルにおいて不足する情報を格納したノードテーブルを作成すること
を特徴とする請求項1又は請求項2記載の電子機器。
【請求項5】
前記電子機器は、前記地図データに基づく処理として、複数種類のアプリケーションプログラムに従って、前記アプリケーションプログラム毎に、当該アプリケーションプログラムに対応した処理を、前記ワークメモリに展開されたデータを参照して実行する構成にされ、
前記展開手段は、前記アプリケーションプログラム毎に、当該アプリケーションプログラムによって用いられるリンクに関する情報を前記リンク毎の属性データから抽出して構成される前記道路ネットワークを構成する各リンクの属性を記した当該アプリケーションプログラム専用のリンクテーブルを作成し、前記ノードテーブルに加えて、前記アプリケーションプログラム毎のリンクテーブルを、前記地図データの展開結果として前記ワークメモリに書き込む構成にされていること
を特徴とする請求項1〜請求項4のいずれか一項記載の電子機器。
【請求項6】
前記展開手段は、前記アプリケーションプログラム毎に、前記アプリケーションプログラムに従う処理を実行するタスクからの要求に応じて、要求元の前記アプリケーションプログラムに対応した前記リンクテーブル及び前記ノードテーブルを作成し、これらを前記地図データの展開結果として前記ワークメモリに書き込むことを特徴とする請求項5記載の電子機器。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate


【公開番号】特開2011−175235(P2011−175235A)
【公開日】平成23年9月8日(2011.9.8)
【国際特許分類】
【出願番号】特願2010−249783(P2010−249783)
【出願日】平成22年11月8日(2010.11.8)
【出願人】(000004260)株式会社デンソー (27,639)
【Fターム(参考)】