(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0018】
以下、本発明の実施形態を図面に基づいて説明する。
図1に示すように、本実施形態の地図データ1は、地図収録領域を細分化して定められるメッシュ毎のデータファイル(以下、「メッシュ単位データ」と記載する。)と、メッシュ単位データ群を管理するための管理データファイルと、を含むデータファイル群で構成される。
【0019】
上記メッシュは、地図収録領域を包含する矩形領域を細分化して定義される。管理データファイルには、矩形領域内のメッシュ毎に、このメッシュに対応するメッシュ単位データが存在するか否かを表す情報が記述される。メッシュ単位データは、メッシュの配列に対応した順序で配列される。
【0020】
地図データ1は、このメッシュを単位とするメッシュ単位データとして道路データ10、背景データ20を記述する。道路データ10は、経路計算などに必要な道路の接続関係および形状に関するデータであり、背景データ20は、道路地図描画に必要なメッシュ内の背景に関するデータである。このメッシュ単位データの具体的な記述は後述するが、道路データ10のメッシュ単位データは、メッシュ内の道路ネットワークを記述したリンク実体データLb1(
図3参照)を含んでいる。道路ネットワークは、道路と道路の接続関係を意味しており、リンク実体データLb1は、この接続関係をリンクの接続により記述する。リンクは、隣接メッシュとの境界を跨ぐことなく、メッシュの境界で必ず区切られている。よって、各メッシュ単位データは、隣接するメッシュに対して閉じたデータとして構成される。隣接メッシュ間を跨ぐ道路は、各メッシュのリンクのメッシュ境界での接続により表現される。
【0021】
図2に示すように、メッシュ単位データが備える道路データ10と、背景データ20は、それぞれ複数のレベル(すなわち階層)に分かれて管理されている。
図2の例では、道路データ10は、レベル0〜レベル4までの5階層に分かれており、背景データ20はレベル0〜レベル6までの7階層に分かれている。もちろんこれは一例であり、道路データ10、背景データ20の階層数は、
図2の例に限定されない。背景データ20については後ろで詳細に説明することとして、ここではまず道路データについて述べる。
<道路データの階層化>
道路データのレベルは、道路の種別(高速道路や国道など)と、道路間の接続関係を考慮して決定される。たとえば、都市間を結ぶ高速道路がレベル4の道路データとして設定され、その他の高速道路や主要な国道がレベル3の道路データに設定される。また、レベル3の道路データに含まれていない国道や主要地方道がレベル2の道路データとし、市内を走る一般道をレベル1の道路データとして扱う。細街路や私道は、レベル0の道路データとして扱うものとする。もちろん、これらはあくまで一例であり、適宜設計されれば良い。
【0022】
なお、道路のレベル分けは、道路の種別だけでなく道路間の接続関係も考慮して為されるため、たとえば、主要な国道であっても、必ずしもレベル3に格付けされるとは限らない。主要な国道(仮に国道3号線とする)は、本来はレベル3に格付けされるべきであるが、この国道3号線が他のレベル3に属する道路と接続しない場合には、他のレベル3の道路との接続関係によって、この国道3号線を管理できなくなってしまう。すなわち、他のレベル3の道路と接続点を持たない国道3号線をレベル3に入れてしまうと、レベル3の道路によるネットワークの中で国道3号線が浮いてしまい、経路計算に不具合が生じる。したがって、このような場合、国道3号線は、国道3号線と接続する道路が存在する他のレベル(例えばレベル2)に格付けされる。もちろん、ここでは、本来レベル3に格付けされる道路が他のレベルに格付けされる例を説明したが、他の種別の道路においても同様に、道路間の接続関係から本来のレベルとは異なるレベルに格付けされる場合がある。
【0023】
道路データ10は、KIWIフォーマットと異なり、同じ道路のリンク実体データを、一つのレベルにしか格納しない。たとえば、最上位の道路レベル(高速道路の一部が該当)のリンク実体データは、最上位レベルであるレベル4にしか格納されていない。また、最下位の道路レベル(細街路が該当)のリンク実体データは、最下位レベルであるレベル0にしか格納されていない。このようにリンク実体データは、それが記述する道路の道路レベルにより格納されるレベルは異なる。
【0024】
<道路データのメッシュ単位データ>
道路データ10は、前述したように、メッシュ単位データを構成単位としている。なお、背景データ20もメッシュ単位のデータ構成であるが、以下では、特に記載する場合を除き、メッシュ単位データは道路データに対するデータを指す。
【0025】
メッシュ単位データは、メッシュ内の道路ネットワークを表すデータファイルであり、各メッシュに対して一つ設けられる。メッシュ単位データは、
図3に示すように、ヘッダ、小区画路線数リストLb11、小区画路線リストLb12、路線リストLb13、セグメントリストLb14、リンクリストLb15、第1座標リストLb16、第2座標リストLb23、道路名称IDリストLb17、道路番号名称IDリストLb18、道路/道路番号名称辞書Lb19、・・・、上位レベルリンクリストLb21、上位レベルリンクリストLb22などを備える。これらのリスト等のうち、上位レベルリンクリストLb21、上位レベルリンクリストLb22、および、第2座標リストLb23は上位道路描画用データLb2である。そして、それ以外はリンク実体データLb1である。なお、上位道路描画用データLb2は上位レベル形状データに相当する。
【0026】
リンク実体データLb1は、経路計算、経路案内等、リンクの概念を用いて行うアプリケーションに利用するものであり、道路ネットワークデータに相当する。
【0027】
<メッシュ単位データの詳細>
<ヘッダ>
図4にヘッダの構成を示す。ヘッダは、メッシュ単位データの構成を定義するものであり、固定長で表現される。具体的には、ヘッダは、メッシュ単位データに格納されるデータリストの配列順に、データリストの大きさを表す情報を有する。
【0028】
データリストの大きさは、固定長のレコード群から構成されるデータリスト(Lb11〜Lb18、Lb21〜Lb23)の場合、データリスト内のレコード数の情報として記述される。すなわち、
図4に示すように、小区画路線数リストLb11のレコード数B11、小区画路線リストLb12のレコード数B12、路線リストLb13のレコード数B13、セグメントリストLb14のレコード数B14、リンクリストLb15のレコード数B15、第1座標リストLb16のレコード数B16、上位レベルリンクリストLb21のレコード数B21、上位レベルリンクリストLb22のレコード数B22、第2座標リストLb23のレコード数B23が、ヘッダに記述される。一方、非固定長のレコード群から構成されるデータリスト(Lb19)の場合には、そのデータサイズ(バイト数)の情報として記述される。各リストはレコード群から構成される。次に、各リストを詳しく説明する。
【0029】
<小区画路線数リストLb11>
図5に示すように、小区画路線数リストLb11は、小区画路線数レコードのリストである。小区画路線レコードは、1つの仮想小区画内の路線数を表す固定長のレコードであり、仮想小区画毎に設けられる(
図7参照)。
【0030】
ここで、仮想小区画とは、1つのメッシュが更に細分化されて定義される区画であり、仮想メッシュということもできる。たとえば、
図6に示すように、単位メッシュを64分割して1つの仮想メッシュ(すなわち1つの仮想小区画)とする。
【0031】
「仮想」と表現しているのは、仮想メッシュに対応するデータは、メッシュ単位データのように独立したデータファイルとして構成されていないこと、および、リンクが仮想メッシュを境界として区切られておらず仮想メッシュの境界を基準に明確にデータが分離されて管理されていないこと等を理由とする。小区画路線数レコードは、仮想小区画内の路線数を表すものであり、仮想小区画毎に設けられる。なお、
図6の一点鎖線で区切られる領域、すなわち、仮想小区画の16個からなる領域を仮想中区画としている。
【0032】
<小区画路線リストLb12>
小区画路線リストLb12は、
図7に示すように、小区画路線数レコードが表す路線数Cと同一数の小区画路線レコードを有するリストである。小区画路線レコードは、仮想小区画毎に、当該仮想小区画に存在する路線の一つ一つに対して設けられる。
【0033】
小区画路線リストLb12には、小区画路線数リストLb11における小区画路線数レコードに対応する順序で、該当仮想小区画の小区画路線レコード群が配列される。
【0034】
この小区画路線レコードは、
図8に示すように、(1)このレコードが記述対象とする路線に対応する路線レコードの格納先を表す情報、(2)この路線のうち該当仮想小区画を通る線分の先頭に対応する座標レコードの格納先を表す情報、および、(3)この路線のうち、該当仮想小区画を通る線分に対応する座標点数(座標レコードの総数)の情報を有する固定長のレコードである。
【0035】
具体的には、上記(1)の情報は、該当路線レコードの路線リストLb13内での配列番号(以下、「路線レコード配列番号」と言う。)の情報によって記述される。例えば、該当路線レコードが路線リストLb13内で先頭からα番目に格納されている場合、路線レコード配列番号として値αが記述される。
【0036】
同様に、上記(2)の情報は、該当座標レコードの第1座標リストLb16内での配列番号(以下、座標レコード配列番号と言う。)を表す。例えば、該当座標レコードが第1座標リストLb16内で先頭からβ番目に格納されている場合、座標レコード配列番号として値βが記述される。
【0037】
なお、上記(2)の情報において、「路線のうち該当仮想小区画を通る線分」は、次のように定義される。ここでは、
図9に示すように、リンクLk1,Lk2,Lk3が順に接続されてなる路線であって、仮想小区画BのリンクLk1に続くリンクLk2が仮想小区画A、仮想小区画Bおよび仮想小区画Cを通って、仮想小区画CのリンクLk3に接続される路線を例に挙げて説明する。
【0038】
図9の白丸は、リンクの接続点(ノード)を表す。リンクLk1とリンクLk2との接続点は仮想小区画Bに位置し、リンクLk2とリンクLk3との接続点は仮想小区画Cに位置する。また、
図9の黒丸は、座標レコードとして地図データ内で座標が保持されている点を示す。但し、座標は、黒丸以外に白丸(リンクの接続点)に関しても保持される。黒丸は後述する形状補間点であり、白丸はノードであるが、ここでは、それらの点を座標保持点P1〜P5と表現する。
【0039】
上記「路線のうち該当仮想小区画を通る線分」は、第一種の部分路線と、第二種の部分路線とに分類され、小区画路線レコードは、仮想小区画毎および路線毎に、第一種および第二種の部分路線のそれぞれに対して設けられる。
【0040】
第一種の部分路線は、該当路線のうち、該当仮想小区画内に位置する座標保持点を結ぶ線分と、この線分の端点に位置する座標保持点から、その座標保持点に隣接する座標保持点であって該当仮想小区画外の座標保持点までの路線と、を結んだ線分によって定義される。要するに、第一種の部分路線は、この路線のうち、該当仮想小区画内に位置する各座標保持点と仮想小区画外に一つ出た座標保持点とを結んだ線分によって定義される。
【0041】
一方、第二種の部分路線は、隣接する座標保持点が他の仮想小区画を跨いで接続される場合に、当該隣接する座標保持点間を結ぶ線分によって定義される。この第二種の「路線のうち該当仮想小区画を通る線分」は、当該跨がれる対象の仮想小区画(例えば、座標保持点P3および座標保持点P4が跨ぐ仮想小区画B)についての第一種の部分路線である。
【0042】
詳述すると、
図9に示す例によれば、リンクLk1,Lk2,Lk3を結ぶ路線のうち、仮想小区画Aを通る部分路線は、座標保持点P1,P2,P3,P4を結ぶことで設定できる。よって、この路線の仮想小区画Aに対応する小区画路線レコードには、座標レコード配列番号として、部分路線を設定する座標保持点P1,P2,P3,P4のうち、第1座標リストLb16において座標レコード配列番号の最も若い座標保持点P1の座標レコード配列番号が記述される。また、座標レコード数は値4が記述される。
【0043】
なお、本実施形態の第1座標リストLb16には、路線レコードに対応する順序で、路線レコードが示す路線上の各点での座標を表す座標レコードが配列されている。また、各路線に対応する座標レコード群は、当該路線の流れに沿って、座標レコードに対応する地点が該当路線を一方向に進むように配列されている。
【0044】
一方、この路線の仮想小区画Bに対応する小区画路線レコードは二つ用意される。この路線のうち仮想小区画Bを通る部分は、座標保持点P1,P2および図示しない座標保持点P1より遡った地点(P0とする)の座標保持点を含む。よって、第一の小区画路線レコードの座標レコード配列番号は、座標保持点P0に対応する座標レコードの第1座標リストLb16内での配列番号が記述される。そして、座標レコード数は値3が記述される。
【0045】
また、この路線のうち仮想小区画Bを通る部分が座標保持点P3,P4を含むので、第二の小区画路線レコードの座標レコード配列番号は、座標保持点P3に対応する座標レコードの第1座標リストLb16内での配列番号が記述される。そして、座標レコード数は値2が記述される。なお、この例とは異なり、P0、P1、P2、P3、P4と一つにまとめて記述することもできる。
【0046】
また、この路線のうち仮想小区画Cに対応する部分は、座標保持点P3,P4,P5および同一路線の図示しない下流の座標保持点(P6とする)を結んで設定される。よって、仮想小区画Cの小区画路線レコードには、座標レコード配列番号に、座標保持点P3,P4,P5、P6のうち、第1座標リストLb16において座標レコード配列番号の最も若い座標保持点P3の座標レコードの配列番号が記述される。
【0047】
<路線リストLb13>
路線リストLb13は、
図10に示すように、複数の路線レコードからなるリストである。路線レコードは、経路案内に適したメッシュ内のリンク列を一グループとして管理するためのレコードである。この路線レコードは、同一路線に属するリンク列を定義する。「路線」は、例えば、一条に接続される同一道路名称および同一道路番号のリンク列により定義される。また、リンク列は、同一路線内の一部または全部の一群のリンク群を指す。
【0048】
路線レコードは、具体的には
図10に示すように、(1)記述対象とする路線の名称属性、(2)この路線の道路属性、(3)この路線先頭に対応する座標レコードの座標レコード配列番号、(4)この路線に対応する座標レコード数、(5)セグメントレコード配列番号、(6)路線を構成するセグメント数の情報を有する。上記(5)のセグメントレコード配列番号は、この路線先頭のセグメントに対応するセグメントレコードのセグメントリストLb14における配列番号である。
【0049】
路線レコードを構成する上記(1)〜(6)の情報を具体的に説明する。(1)の「名称属性」は、道路名称IDリストLb17においてこの路線に対応する道路名称IDレコードの格納位置を特定可能な情報と、道路番号名称IDリストLb18においてこの路線に対応する道路番号名称IDレコードの格納位置を特定可能な情報とを有する。
【0050】
道路名称IDレコードは、道路/道路番号名称辞書Lb19において対応する道路名称が登録された位置を表し、道路名称番号IDレコードは、道路/道路番号名称辞書Lb19において対応する道路番号名称が登録された位置を表す。道路名称IDレコードおよび道路名称番号IDレコードは固定長のレコードで構成され、道路/道路番号名称辞書Lb19内の登録語は可変長のレコードで構成される。
【0051】
(2)の「道路属性」は、この路線が有料道路および非有料道路のいずれであるかの情報やこの路線の道路種別の情報を有する。道路種別は、高速道路、一般国道、細街路等の区別を表す。この道路種別は道路レベルとは異なる。道路レベルは道路種別を基準として設定されるが、道路種別と完全には対応しない。たとえば、同じ高速道路でも、互いに異なる道路レベルが付与されることがある。この理由は、道路データ10は、道路ネットワークを記述したデータであるからである。ある高速道路と、別の高速道路とが、同じ道路レベルの道路を介して接続していない(つまりネットワークを構成しない)場合、下のレベルであればネットワークを構成することができる側の高速道路を、当該下のレベルとする。
【0052】
また、(3)の座標レコード配列番号および(4)の座標レコード数は、この路線に対応する各点での座標を表す座標レコード列を第1座標リストLb16内で特定するために用いられる。上述したように、第1座標リストLb16では、路線上の各点での座標を表す座標レコードが路線の流れに沿って配列されている。従って、(3)の情報、すなわち、路線先頭に対応する座標レコードの座標レコード配列番号と、(4)の座標レコード数によって、路線に対応する各座標レコードが特定できる。
【0053】
(5)のセグメントレコード配列番号、および(6)のセグメント数は、路線レコードを構成するセグメント列に対応する各セグメントレコードを、セグメントリストLb14内で特定するために用いられる。
【0054】
ここで、セグメントについて説明する。
図16に示すように、本実施形態のセグメントは、路線を構成するリンク列であって、主要道路の交差点で少なくとも区切られるリンク列を一単位とするものである。このセグメントは、路線レコードで定義される一つの路線から他の路線へ跨がないように定義される。
【0055】
図17には、路線レコード、セグメントレコード、リンクレコード、座標レコードの対応関係が示されている。この
図17から分かるように、セグメントレコードは、通常、一つの路線レコードに対して複数設けられる。但し、セグメントは、路線レコードで定義される一つの路線を構成するリンク列の全てを含む場合もありうる。すなわち、一つの路線レコードに対して一つのセグメントレコードが対応付けられる場合もありうる。
【0056】
どの道路を主要道路とするかは適宜、決定することができる。たとえば、高速移動可能であるか否かの観点に従って道路レベルを二分したときの高速移動可能な道路レベル側を主要道路とすることができる。
【0057】
セグメントは、主要道路ではない路線に対しては定義されない。すなわち、
図10の(5)(6)のセグメントレコード配列番号、セグメント数は、主要道路に対応する路線レコードに対してのみ記述される。セグメントの定義されない路線(主要道路ではない路線)に対応する路線レコードには、セグメントレコード配列番号、セグメント数の代わりに、リンクレコード配列番号と、路線を構成するリンク数とが記述される。リンクレコード配列番号は、路線先頭のリンクに対応するリンクレコードのリンクリストLb15における配列番号である。
【0058】
<セグメントリストLb14>
図11に示すように、セグメントリストLb14には、第1座標リストLb16と同様、路線の流れに従って各セグメントに対応するセグメントレコードが配列されている。具体的には、第1座標リストLb16における座標レコードの配列順および路線リストLb13における路線レコードの配列順に対応する順序で、各セグメントに対応するセグメントレコードが配列されている。従って、路線レコードに記述されている
図10の(5)、(6)、すなわち、路線先頭のセグメントに対応するセグメントレコード配列番号と、路線を構成するセグメント数とによって、当該路線を構成する各セグメントのセグメントレコードを特定することができる。
【0059】
また、セグメントレコード配列番号およびセグメント数の代わりに、リンクレコード配列番号およびリンク数が記述されているか否かは、後述する道路レベル順のレコード配列およびセグメントリストLb14内のレコード数B14を利用することによって特定可能である(詳細後述)。
【0060】
<セグメントレコード>
セグメントレコードはセグメント毎に設けられる。本実施形態では、主要道路の道路ネットワークをセグメントの接続により表現しており、主要道路の交差点は、セグメントの接続により表現される。このような主要道路の交差点で区切られるセグメントに関するセグメントデータは、対応するセグメントを構成するリンク列の各リンクレコードを特定できる情報となっている。
【0061】
図11に示すように、セグメントレコードは、リンクレコード配列番号と、リンクレコード数からなる。リンクレコード配列番号は、セグメントを構成するリンク列の先頭に位置するリンクに対応するリンクレコードが、リンクリストLb15において何番目に配列されているかを示す番号である。リンクレコード数は、セグメントを構成するリンクの数を表す。
【0062】
<リンクリストLb15>
図12に示すリンクリストLb15には、第1座標リストLb16と同様、路線の流れに従って各リンクに対応するリンクレコードが配列されている。具体的には、第1座標リストLb16における座標レコードの配列順および路線リストLb13における路線レコードの配列順に対応する順序で、各リンクに対応するリンクレコードが配列されている。従って、セグメントレコードに記述されている
図11のリンクレコード配列番号と、セグメントを構成するリンク数によって、当該セグメントを構成する各リンクのリンクレコードを特定することができる。
【0063】
ところで、前述のように、セグメントは主要道路にのみ設定している。換言すれば、高い道路レベルの路線にはセグメントは設定するが、低い道路レベルの路線にはセグメントは設定しない。
【0064】
たとえば、道路レベル2、3、4の路線にはセグメントを設定するが、道路レベル0、1の路線にはセグメントは設定しないとする。この場合、セグメントリストLb14には、道路レベルが2、3、4である路線に対応するセグメントレコードは格納されるものの、道路レベルが0、1である路線のセグメントレコードは格納されない。
【0065】
<リンクレコード>
続いて、リンクレコードについて説明する。リンクレコードは、メッシュ内の各リンクに対応して設けられ、該当するリンクの特徴を表す情報である。
【0066】
前述した
図12は、リンクレコードの構成も示している。同図に示すように、リンクレコードには、(1)当該リンクに対応する座標レコード数、(2)始点側接続リンク番号および始点側接続属性、(3)終点側接続リンク番号および終点側接続属性、(4)リンク長、(5)リンクのその他の道路属性(一方通行等の交通規制情報や車線数、法定速度、リンク端点に対応する交差点での信号機の有無など)を表す情報が記述される。
【0067】
各リンクは、第1座標リストLb16内における対応する座標レコード群の配列によって方向が定められている。リンクの始点は、リンク両端のうち、座標レコードの配列順の若い端点のことを言う。リンクの終点は、リンク両端のうち、始点に該当する端点とは反対側の端点のことを言う。
【0068】
(2)の始点側接続リンク番号は、当該リンクの始点に接続される他リンクに対応するリンクレコードのリンクレコード配列番号である。この始点側接続リンク番号と始点側接続属性とにより、当該リンクの始点に接続される他リンクとの接続関係を表す。
【0069】
(3)の終点側接続リンク番号は、当該リンクの終点に接続される他リンクに対応するリンクレコードのリンクレコード配列番号である。この終点側接続リンク番号と終点側接続属性とにより、当該リンクの終点に接続される他リンクとの接続関係を表す。これら(2)、(3)の情報により、該当するリンク両端における他リンクとの接続関係を表す。
【0070】
上記始点側接続リンク番号には、リンク始点に接続される他リンクが複数存在していても、その複数の他リンクのうち、所定の規則に従う単一の他リンクのリンクレコード配列番号のみが記述される。同様に、上記終点側接続リンク番号には、リンク終点に接続される他リンクが複数存在していても、その複数の他リンクのうち、所定の規則に従う単一の他リンクのリンクレコード配列番号のみが記述される。この点を含むリンク接続関係の記述方法の詳細については後述する。
【0071】
上記始点側接続リンク番号とともに記述される始点側接続属性は、自リンクが、その始点において、始点側接続リンク番号に対応するリンクの始点および終点のいずれに接続されるかを表す。すなわち、始点側接続属性は、「始点」または「終点」のいずれかを表す値を採る。なお、リンクの始点側端点に接続される他リンクが同一メッシュ内にない場合には、始点側接続リンク番号として自リンクのリンクレコード配列番号が記述され、始点側接続属性として「始点」を表す値が記述される。リンクの始点に接続される同一メッシュ内の他リンクがない場合としては、行き止まりである場合や、リンクの始点が隣接メッシュとの境界に位置するノード(境界ノード)であって隣接メッシュのリンクにのみに接続される場合などが挙げられる。本実施形態では、メッシュ単位データを閉じたデータとするため、隣接メッシュとの境界に位置する境界ノードを挟むリンクの接続関係については、自己のメッシュ内のリンク接続関係についてのみを記述するのである。
【0072】
同様に、上記終点側接続リンク番号とともに記述される終点側接続属性は、自リンクが、その終点において、終点側接続リンク番号に対応するリンクの始点および終点のいずれに接続されるかを表す。リンクの終点に接続される同一メッシュ内の他リンクがない場合には、終点側接続リンク番号として自リンクのリンクレコード配列番号が記述され、終点側接続属性として「終点」を表す値が記述される。
【0073】
(1)の座標レコード数は、リンクレコードを構成する座標点数である。第1座標リストLb16において、各座標レコードは、リンクリストLb15におけるリンクレコードに対応した順序で配列されている。よって、リンクリストLb15の先頭から各リンクレコードに記述された座標点数を加算していくことで、各リンクレコードに対応する座標レコードを特定することができる。このことから、リンクに対応する座標レコード数は、リンクの各点の座標を表す座標レコード群を第1座標リストLb16内で特定可能な情報である。
【0074】
ただし、上述のように座標点数を加算してリンクの各点の座標を特定することに代えて、各リンクの先頭の座標レコードに対応する座標レコード配列番号およびこのリンクに対応する座標レコード数の情報により、リンクの各点の座標を表す座標レコード群を第1座標リストLb16内で特定してもよい。
【0075】
<第1座標リストLb16>
図13は、第1座標リストLb16および第1種座標レコードの構成図である。第1座標リストLb16は第1種座標レコードのリストである。第1種座標レコードは、この第1座標リストLb16を含むメッシュ単位データが記述する道路レベルの道路を構成する各リンクの端点および形状補間点に対する座標レコードである。
【0076】
第1種座標レコードは、対応する地点のX座標(経度)およびY座標(緯度)の情報を有する。さらに、その地点の属性情報を有する。第1種座標レコードに記述される属性情報は、対応する地点の種別を表す情報を含み、この情報によって、その地点は、形状補間点、ノード、メッシュ境界に設けられる境界ノード等の予め定められた種別のいずれかに分類される。第1座標リストLb16は、第1種座標レコードを、路線の流れに沿って配列している。
【0077】
<第2座標リストLb23>
第2座標リストLb23は、上述の第1座標リストLb16を含むメッシュ単位データが記述する道路レベルよりも上位の道路レベルの道路に対する座標レコードである第2種座標レコードのリストである。
【0078】
第2種座標レコードも、対応する地点のX座標(経度)およびY座標(緯度)の情報を有する。この第2種座標レコードは道路描画用であり、経路案内、経路探索等には地点がノードであるか否かの情報が必要であるが、描画には地点の属性は不要である。そのため、第2種座標レコードは属性情報を有していない。なお、以下では、第2種座標レコードを描画用座標レコードということもある。
【0079】
第2座標リストLb23における第2種座標レコードの配列は、第1座標リストLb16と同じであり、第2座標リストLb23には、路線の流れに沿って第2種座標レコードが配列されている。なお、第1座標リストLb16と第2座標リストLb23は連続した配列である。よって、これら第1座標リストLb16と第2座標リストLb23をまとめて一つの座標リストと考えることもできる。
【0080】
<上位レベルリンク列リストLb21>
図14は、上位レベルリンク列リストLb21および上位レベルリンク列レコードの構成図である。上位レベルリンク列リストLb21は、上位レベルに属するリンク列に対応した複数の上位レベルリンク列レコードを備える。上位レベルリンク列リストLb21において、各上位レベルリンク列レコードは路線の流れに沿って順番に配列されている。
【0081】
各上位レベルリンク列レコードは、(1)実体データ格納レベル、(2)リンクレコード配列番号、(3)リンク数、(4)リンク列属性を備える。
【0082】
(1)の実体データ格納レベルは、対応するリンク列のリンク実体データLb1(
図3参照)を格納しているレベルを示している。(2)のリンクレコード配列番号は、リンク列の先頭のリンクに対応するリンクデータが(1)の実体データ格納レベルのリンクリストLb15において何番目に配列されているかを示す番号である。(3)のリンク数は、対応するリンク列が幾つのリンクから構成されるかを示す数である。(4)のリンク列属性は、道路表示クラス、表示縮尺フラグを含む。道路表示クラスは、対応するリンク列がどの道路表示クラスであるかを示す情報である。表示する地図は、道路表示クラスにより線の色、太さが決まっている。よって、描画にこの情報が必要となる。そのため、上位レベルリンク列レコードは、この道路表示クラスの情報を備えているのである。表示縮尺フラグは、このリンク列の道路を、どの表示縮尺で表示するかを定めている。
【0083】
<上位レベルリンクリストLb22>
図15は、上位レベルリンクリストLb22および上位レベルリンクレコードの構成図である。上位レベルリンクリストLb22は、上位レベルに属するリンク列を構成する個々のリンクに対応した複数の上位レベルリンクレコードを備える。上位レベルリンクリストLb22において、各上位レベルリンクレコードは路線の流れに沿って順番に配列されている。
【0084】
各上位レベルリンクレコードは、座標数と、幅員・車線数属性を備える。座標数は、上位レベルリンク列を構成する個々のリンクの座標の数を記述している。なお、この数は、1点目の座標を除いた数である。幅員・車線数属性は、リンク列の幅員、車線数を示す値が記述される。
【0085】
<リンク実体データLb1のデータ配列>
次に、リンク実体データLb1のデータ配列を説明する。本実施形態では、路線リストLb13を構成する各レベルの路線レコード群を、道路レベルの高い順に配列している。この順番に路線レコード群を配列しているのは、経路探索等では目的地に早く到達できる経路の探索が求められるため、高速移動可能な道路レベルのレコードに対してのデータアクセス頻度が高くなる傾向にあるからである。
【0086】
道路レベルの高い順にレコード群を配列する規則は、セグメントリストLb14を構成するセグメントレコード群、リンクリストLb15を構成するリンクレコード群、第1座標リストLb16を構成する座標レコード群に対しても適用されている。すなわち、リンク実体データLb1に対して共通に適用される。
【0087】
さらに、一つの道路レベルに着目すると、路線レコードは路線の流れに沿う順序で配列されており、
図17に示したように、セグメントレコードは路線レコードの並びに対応した配列順で配列されている。
【0088】
セグメントレコードと同様に、一つのレベルのリンクリストLb15には、路線レコードに対応した配列順で、当該路線レコードに対応する路線を構成する各リンクのリンクレコードが配列される。よって、リンクリストLb15には、セグメントリストLb14に登録されたセグメントの配列順に、当該セグメントを構成するリンク列の各リンクレコードが配列される。なお、セグメントを有していない路線については、その路線を構成するリンク列に対応した順序で、当該路線に対応する各リンクレコードが配列されることになる。
【0089】
上記道路レベル順の配列により、セグメントを構成しないリンクのリンクレコードについては、リンクリストLb15の後半に配置される。一方、セグメントを構成するリンクのリンクレコードについては、リンクリストLb15の前半に配置される。このため、路線レコードにおいて、セグメントレコード配列番号およびセグメント数の代わりに、リンクレコード配列番号およびリンク数を記述しても、その記述が、セグメントレコード配列番号およびセグメント数であるのか、リンクレコード配列番号およびリンク数であるのかは、セグメントレコード数B14から特定できる。すなわち、配列番号として、セグメントレコード数B14以下の番号が記述されていれば、その記述は、セグメントレコード配列番号ということになり、セグメントレコード数B14を超える番号が記述されていれば、その記述は、リンクレコード配列番号ということになる。
【0090】
また、第1座標リストLb16も、セグメントレコードやリンクレコードと同様に、路線レコードに対応した配列順で、当該路線レコードに対応する路線上の各点の座標レコードが配列される。なお、図示の便宜上、
図17では、連続する2つのリンクレコードに対応する座標レコードは重複していない図としているが、実際には、連続する2つのリンクにおいて、前側リンクの終点と後側リンクの始点は共通である。
【0091】
<上位道路描画用データLb2の配列>
上位レベルリンク列リスト21を構成する上位レベルリンク列レコード群、上位レベルリンクリスト22を構成する上位レベルリンクレコード群、第2座標リスト23を構成する第2種座標レコード群は、上位の道路レベルがあるレベル(以下、単に下位レベル)を備える。より正確には、上位の道路レベルの道路の形状に対応する下位レベルのメッシュが、上位道路描画用データLb2を備える。換言すれば、上位の道路レベルの道路の形状を表すリンクの位置と下位レベルの各メッシュの範囲を対比し、上位の道路レベルの道路の形状を表すリンクの位置をメッシュ範囲に含んでいる下位レベルのメッシュが、上位道路描画用データLb2を備える。下位レベルのみが上位道路描画用データLb2を備えることから、最上位の道路レベル4の道路データ10は、上位道路描画用データLb2を備えない。
【0092】
また、複数の上位レベルがある下位レベルの道路データ10は、複数の上位レベルそれぞれに対応した上位道路描画用データLb2を備える。すなわち、道路レベル3の道路データ10は、道路レベル4に対応した上位道路描画用データLb2を備え、道路レベル2の道路データ10は、道路レベル4、3の上位道路描画用データLb2を備え、道路レベル1の道路データ10は、道路レベル4、3、2の上位道路描画用データLb2を備え、道路レベル0の道路データ10は、道路レベル4、3、2、1の上位道路描画用データLb2を備える。
【0093】
複数の上位レベルに対応した上位道路描画用データLb2は、各上位レベルに対応した複数レベルの上位レベルリンク列レコード群、上位レベルリンクレコード群、第2種座標レコード群を備える。それら複数レベルのレコード群は、リンク実体データLb1と同様、道路レベルの高い順に配列され、かつ、一つの道路レベルに着目すると、路線の流れに沿って配列されている。
【0094】
<上位レベルに対応する座標レコード群の配列>
上位レベルに対応する座標レコード群、すなわち、前述した描画用座標レコードは、
図18に示すように、当該下位レベルの道路の座標を記述した第1種座標レコード群に続いて記述される。また、当該下位レベルに複数の上位レベルが存在する場合には、道路レベルの高い順に描画用座標レコードは記述される。
【0095】
<各描画用座標レコード群の違い>
図18に示すように、同じレベルの描画用座標レコード群が複数の下位レベルの地図データにそれぞれ格納されている。たとえば、レベル4の描画用座標レコード群は、レベル0、1、2、3の道路データにそれぞれ格納されている。これら各レベル0、1、2、3の描画用座標レコード群は、描画対象の道路は同じであるが、各レベルの表示精度(換言すれば各レベルの表示縮尺)が異なることから、データ数が相違する。
【0096】
<同一地点での3つ以上のリンクの接続関係の記述方法>
本実施形態では、リンクレコードにおいて記述されている、リンクの始点(または終点)に接続される他リンクとの接続関係を表す情報は、前述の始点側接続リンク番号、終点側接続リンク番号、つまり、単一のリンクを指す情報である。
【0097】
しかし、交差点や分岐点を想定すれば分かるように、実際には、一つのリンクには複数のリンクが接続されていることもある。つまり、当該一つのリンクと、それに接続される複数のリンク、計3つ以上のリンクが同一地点で接続されていることも多い。
【0098】
それにも関わらず、本実施形態でリンクの始点(または終点)に接続される他リンクとの接続関係を表す情報が単一のリンクを指す始点側接続リンク番号、終点側接続リンク番号であるのは、次に説明する規則に従っているからである。
【0099】
具体的には、本実施形態では、同一ノードに接続される複数リンクの接続関係を、同一ノードに接続される各リンクのリンクレコードにおいて、時計回りに記述する。すなわち、ノードを中心に時計回りに、隣接するリンクのリンクレコード配列番号を、接続リンク番号(始点側接続リンク番号または終点側接続リンク番号)として記述する。そして、地図データを使用する際には、リンクレコードを、ノードを中心として時計回りに参照することにより、同一ノードに接続された複数のリンクを特定する。
【0100】
図19(a)には、リンクの接続関係の一例とともに、接続リンク番号の記述方向を示す。
図19(a)に示しているように、各リンクレコードは、時計周りで接続リンクを記述する。
【0101】
図19(b)は、
図19(a)に示す注目リンクL0のリンクレコードに記述する始点側接続リンク番号および終点側接続リンク番号を示した図である。この例において、注目リンクL0の始点に接続される他リンクは、リンクL1,L2,L3である。そして、これらリンクL1,L2,L3のうち、注目リンクL0から見て時計回りに隣接するリンクは、リンクL1である。このため、注目リンクL0のリンクレコードには、始点側接続リンク番号として、リンクL1のリンクレコード配列番号を記述する。
【0102】
また、注目リンクL0の終点に接続される他リンクは、リンクR1,R2である。そして、これらリンクR1,R2のうち、注目リンクL0から見て時計回りに隣接するリンクは、リンクR1である。このため、注目リンクL0のリンクレコードには、終点側接続リンク番号として、リンクR1のリンクレコード配列番号を記述する。
【0103】
図19(c)は、
図19(a)の例を前提に、リンクL1,L2,L3のリンクレコードに記述する接続リンク番号を示すものである。注目リンクL0の始点を中心とした時計回り方向において、リンクL1に隣接するリンクは、リンクL2である。このためリンクL1のリンクレコードには、注目リンクL0の始点と一致するリンクL1の始点または終点の接続リンク番号(始点側接続リンク番号または終点側接続リンク番号)として、リンクL2のリンクリスト配列番号を記述する。また、時計回り方向において、リンクL2に隣接するリンクは、リンクL3である。このためリンクL2のリンクレコードには、注目リンクL0の始点と一致するリンクL2の始点または終点の接続リンク番号として、リンクL3のリンクリスト配列番号を記述する。また、時計回り方向において、リンクL3に隣接するリンクは、注目リンクL0である。このためリンクL3のリンクレコードには、注目リンクL0の始点と一致するリンクL3の始点または終点の接続リンク番号として、注目リンクL0のリンクリスト配列番号を記述する。
【0104】
このような記述によって、注目リンクL0始点のリンク接続関係を表現するので、同一地点で互いに接続される各リンクのリンクレコードに含まれる、他のリンクとの接続関係を表す情報を順に参照すると、同一地点に接続される全リンクについての始点側接続リンク番号または終点側接続リンク番号を一通り参照できる。
【0105】
このような表現方法で、同一地点での3つ以上のリンクの接続関係を記述しているので、地図データにノードデータを設けるとしても、そのノードデータにはリンクの接続関係を記述する必要がない。
【0106】
以上、本実施形態の地図データ1における道路データ10の構造を説明した。この道路データ10は、路線レコードの配列順、セグメントレコードの配列順、リンクレコードの配列順、および、座標レコードの配列順を揃えて、各レコードを一連の路線の流れに沿って配列している。また、リスト間のレコードの対応付けを、リスト内における該当レコードの配列番号とレコード数を用いて行う。この構造については特許文献1と同じである。よって、特許文献1と同様、本実施形態の道路データ10は、各リストのレコードに対して効率的にアクセスすることができ、更には、道路データ10の編集も容易である。
【0107】
<背景データ>
図2に示すように、背景データ20は7階層に分けて管理されており、描画処理時には表示縮尺に応じてそれぞれのレベルの背景データ20が使い分けられる。たとえば、レベル0の背景データ20は、表示縮尺が1/2万〜1/1万に設定されている時の表示画像を描画する際に用いられ、レベル1の背景データ20は、表示縮尺が1/8万〜1/4万に設定されている時の表示画像を描画する際に用いられる。その他のレベルの背景データ20も、表示縮尺が
図2の「描画時の縮尺」欄に記載されている縮尺に設定されている場合に、それぞれ用いられる。
【0108】
また、表示縮尺に応じて表示精度への要求は異なるため、それぞれの地図画像の細かさは異なる。たとえば、表示縮尺が1/2万〜1/1万に設定されている場合は、家屋や駐車場の位置などの細かい地図画像を表示する必要がある。このため、レベル0の背景データ20は、1辺の長さが2.5Kmとした区画を1単位として、上位のレベルの背景データ20の1単位よりも細かい密度で地図の画像データを備えている。
【0109】
一方で、表示縮尺が1/4096万に設定されている場合は、国土全体が表示されればよく、細かい家屋などの画像データは不要となる。したがって、レベル6の背景データ20は、1辺の長さが10160Kmとした区画を1単位として、下位のレベルの背景データ20よりも荒い密度で地図の画像データを備えている。もちろん、これらはあくまで一例であり、適宜設計されれば良い。
【0110】
本実施形態における背景データ20の特徴として、背景データ20は、建物や河川、山などの一般的な背景に加えて、道路の形状データも一部備えている。道路の一部を背景データ20として備えているのは、既に説明した道路データ10の構造、すなわち、道路データ10が、道路レベル別の階層構造を有していることに起因する。以下、詳しく説明する。
【0111】
本実施形態において、道路地図を描画する際には、表示縮尺の設定値から描画に用いる道路データ10および背景データ20のレベルを決定し、当該レベルに属する道路および背景データ20を用いて、道路画像および背景画像が描画する。当該レベルの道路の描画に関しては、道路データ10のリンク実体データLb1から、座標レコードや路線の道路属性等を参照して道路の形状などを描画する。また、当該レベルよりも上位の道路に関しては、道路データ10が有する上位道路描画要データLb2から座標レコードやリンク列属性等を参照して道路の形状などを描画する。
【0112】
以上のような描画処理を実施した場合の課題を、
図20を用いて説明する。
図20の(A)に示すように、たとえば、表示縮尺(1/128万)から描画に用いるデータをレベル3と決定すると、レベル3に属する道路(主要な国道1)およびレベル4に属する道路(都市間高速道路2)の形状は描画されるが、レベル3より下位のレベルに属する道路は描画されない。ところで、<道路データの階層化>の欄でも前述したように、道路間の接続関係から、本来のレベルとは異なるレベルに格付けされている道路が存在する。
図20に示す主要な国道3は、主要な国道でありながら、レベル3に属する他の道路との接続関係からレベル2に格付けされている道路である。このとき、主要な国道3は、本来はレベル3に属するものであるから、表示縮尺が1/128万の地図においても表示されるはずである。しかし、実際はレベル2に属しているため、
図20(A)に示すように表示されなくなってしまい、ユーザーに違和感を与えてしまうおそれがある。(鎖線は見えないことを示す)。
【0113】
以上で述べた懸念から、各レベルの背景データ20は、そのレベルにリンク実体データLb1が記述されている道路種別と同じ道路種別であるが、そのレベルよりも下位のレベルにリンク実体データLb1が記述されている道路の(すなわち、当該レベルで描画したときに見えなくなってしまう道路)の一部または全部を、背景(単なる画像データ)として備える。これにより、本来表示されるべきである道路が表示されなくなることを防ぐことができる。すなわち、
図20の(B)に示すように、背景データ20として主要な国道3を表示することで、ユーザーに違和感を与える恐れを低減することができる。
【0114】
また、レベル5やレベル6の階層においては、道路データ10が存在しないため、従来の構成においては、たとえばレベル6に対応する表示縮尺(1/4096万)で描画した際には、地図画像に道路が表示されなくなってしまう。しかしながら、道路データが存在しない階層となる表示縮尺で描画した場合にも、道路を表示したいという要望があった。そこで、本実施形態では、表示縮尺に対応する道路データが存在しない、レベル5および6の背景データ20には、都市間高速道路などの主要な道路を背景として備えさせておく。これによって、レベル5や6に対応する表示縮尺で描画する場合でも、道路を含んだ地図画像を表示することができるようになる。
【0115】
<装置構成>
次に、上記地図データ1を搭載するナビゲーション装置100の構成について述べる。
図21に示すナビゲーション装置100は、記憶部50、位置検出部60、制御部30、および表示部40を備えている。制御部30と、記憶部50、位置検出部60、および表示部40とは、例えばCAN(Controller Area Network)などの通信プロトコルに準拠した車内LANで各々接続されている。
【0116】
記憶部50は、上述した地図データ1を格納している記憶媒体(例えば、DVDやハードディスクなど)を備えており、その記憶媒体から各種データを読み出して、制御部30に出力する。位置検出部60は、ナビゲーション装置100を搭載した車両の現在位置を検出するためのものであって、例えば公知のジャイロスコープ、距離センサ、およびGPS受信機などを備えている。
【0117】
表示部40は、制御部30の指示に従ってテキストや画像を表示するディスプレイである。たとえば、表示部40は位置検出部60が検出した車両の現在位置を示す現在位置マークや、道路データ10、背景データ20に基づいて描画した地図を表示する。表示部40は、フルカラー表示が可能なものであり、液晶ディスプレイ、有機ELディスプレイ等を用いて構成することができる。
【0118】
制御部30は、マイクロコンピュータを主として構成され、いずれも周知のCPU、ROM・RAM・EEPROM等のメモリ、I/O、及びこれらを接続するバスを備えている。制御部30は、記憶部50、位置検出部60より入力される信号に対して、ROMに記憶されているアプリケーションプログラムに基づいた処理を実施する。この制御部30は、経路案内部31および描画処理部32を備えている。
【0119】
経路案内部31は、位置検出部60が取得する現在位置からユーザーが登録した目的地までの案内経路を算出する処理を実施する。この経路算出方法は、公知のものを用いればよいため、ここでの説明は省略する。
【0120】
描画処理部32は、表示部40に表示する画像を描画する処理を実施する機能である。たとえば描画処理部32は、位置検出部60が検出した車両の現在位置を示す現在位置マークや、経路案内部31で算出した案内経路、道路データ10、背景データ20から作成した現在位置周辺の地図画像などを、表示部40に出力する。
【0121】
<描画処理>
次に、描画処理部32が実施する描画処理の流れについて、
図22を用いて説明する。
図22のフローチャートは、逐次実施されている。ステップS1では、位置検出部60より車両の現在位置を取得して、ステップS3に進む。ステップS3では、表示縮尺の設定値を取得し、ステップS5に進む。ステップS5では、前ステップS3で取得した表示縮尺の設定値から、表示画像を描画するために用いるデータのレベル(すなわち、道路データ10および背景データ20のレベル)を決定する。本実施形態では、道路データ10と背景データ20において、各レベルの表示縮尺が共通するように設定しているため、表示画像を描画するために用いるデータのレベルは、同じ値となる。ただし、レベル5、6に関しては、背景データ20は存在するが道路データ10はないため、1/2048万〜1/1024万(レベル5)および1/4096万(レベル6)に表示縮尺が設定されている場合には、背景データ20のみを用いる。
【0122】
ステップS7では、ステップS1で取得した車両の現在位置、ステップS3で取得した表示縮尺の設定値、および1メッシュ当たりの大きさから、表示部40に表示する画像データを描画するために用いるメッシュ単位データを決定する。
【0123】
ステップS9では、前ステップS7で決定したメッシュ単位データにおいて、前ステップS5で決定したレベルの道路データ10および背景データ20を読み出す。そして、ステップS11で、前ステップS9で読みだした背景データ20(すなわち表示縮尺に適応するレベルの背景データ20)に基づいて背景画像を描画して、ステップS13に進む。ステップS13では、ステップS9で読みだした道路データ10から、道路画像を描画する。より具体的には、ステップS9で読みだした道路データ10から、道路の描画に用いる座標レコードを決定する。そして、座標レコードが示す道路の色・太さは、当該レベルに関する道路はそのリンク実体データLb1から決め、当該レベルよりも上位のレベルに属する道路に関しては、上位レベルリンクリンク列レコード、上位レベルリンクレコードから決める。このとき、上位レベルリンク列レコードと上位レベルリンクレコード、および、第2種座標レコードのデータ配列から、どこからどこまでが同じ道路か、その道路属性が何であるかを特定することができる。
【0124】
ステップS15では、ステップS11およびステップS13で描画した画像データを、道路の画像がユーザーから見て背景の手前側に位置するように重畳させた画像(表示画像)を生成して、表示部40に出力し、表示させる。
【0125】
以上、説明した本実施形態によれば、地図画像の表示縮尺によって定まる道路データおよび背景データを用いて地図画像を描画する。このとき、表示縮尺から決定される道路レベルの道路データが存在しない場合であっても、その表示縮尺に対応する背景レベルの背景データに、道路形状のデータが備えられているため、道路を地図画像に描画することができる。
【0126】
加えて、本実施形態では各背景レベルの背景データに、本来は該当レベルに属する種類の道路であるが接続関係から該当道路レベルより下位の道路レベルに属する道路の形状データをもたせている。このため、表示縮尺に応じて定まる道路レベルよりも下位の道路レベルに属する道路が、当該表示縮尺設定時に表示されなくなることで、ユーザーに違和感を与えることを防ぐことができる。
【0127】
以上、本発明の実施形態を説明したが、本発明は上述の実施形態に限定されるものではなく、要旨を逸脱しない範囲内で種々変更して実施することができる。
【0128】
(変形例1)
たとえば、前述の実施形態では、上位レベルリンク列リストLb21、上位レベルリンクリストLb22は、リンクリストLb15の次に格納していたが(
図3)、リンク実体データLb1の全てのデータの後にそれらを格納してもよい。