実施の形態1.
<地図情報処理装置の構成>
図1は、この発明に係る実施の形態1の地図情報処理装置の構成を示すブロック図である。
図1において、入力部1は、使用者の操作又は指示に従ってプロセッサ5に指示信号を与える。図示しないが、具体的には、入力部1は使用者の音声を認識して音声に基づく指示信号を出力する音声認識部、使用者の手動操作により指示信号を出力するボタン等の少なくともいずれかを有しており、入力手段として機能する。
位置検出部2は、例えばGPS(Global Positioning System)受信機、車速センサ、角速度センサ等のいずれかないしは複数を用いた位置検出手段であって、当該地図情報処理装置を搭載している車両の現在位置を検出し、検出した現在位置を示す位置情報をプロセッサ5に提供する。
更新情報取得部3は、例えば、メモリカードリーダーにより構成され、メモリカードに記憶された更新情報を読み取り、更新情報を取得する更新情報取得手段として機能する。
地図情報記憶部4は、例えば、地図情報記憶媒体としてハードディスクを用いたハードディスクドライブにより構成された地図情報記憶手段であり、当該地図情報記憶部4に予め地図情報を記憶しておく。
プロセッサ5は、入力部1から与えられた指示信号、位置検出部2から得られた現在位置を示す位置情報、及び地図情報記憶部4から読み出した地図情報とを用いて、各種の地図情報処理を行う地図情報処理手段51として機能する。
この各種の地図情報処理の内容としては、位置検出部2から得た現在位置を示す位置情報と地図情報記憶部4から読み出した地図情報とに基づいて車両の現在位置を推定するマップマッチング処理、出発地から目的地までの経路を算出する経路探索(経路計算)処理、経路探索処理によって得られた好適な経路の候補を道路地図と共に出力部6が備える例えば表示部の画面に表示する経路表示処理、好適な経路の候補から選択された経路に従って出発地から目的地までの案内を行う経路誘導処理、現在位置周辺の地図の表示処理、及び施設、住所、電話番号等の各種情報を検索する各種検索処理等が含まれる。
また、プロセッサ5は、更新情報取得部3によりメモリカードから読み取った更新情報を用いて、地図情報記憶部4に記憶された地図情報を更新する更新手段52としても機能する。
出力部6は、プロセッサ5による各種の地図情報処理の結果得られた情報を、使用者に提示する出力手段として機能する。図示しないが、具体的には、出力部6は、地図情報に基づく地図、当該地図上での車両の現在位置、当該地図上での経路探索処理によって得られた好適な経路の候補、好適な経路の候補から選択された経路に従って出発地から目的地まで案内を行うための案内情報、検索によって得られた各種情報等を表示する表示部、及び表示された内容と同様ないしは関連する内容を使用者に音声で指示又は案内を行う音声発生部のいずれか一方ないしは両方を有していても良い。
地図情報処理装置は以上のように構成されているので、使用者が例えば目的地周辺の道路がどのようになっているかを確認したいと考えれば、その所要の範囲の地図情報を使用者が入力部1を使って指示をすることで、地図情報処理装置はその所要の範囲の地図情報を得ることができる。その結果、使用者は当該地図情報処理装置の出力部6によって目的地周辺の道路についてどのようになっているか確認することができる。
また、使用者が例えば目的地に行くための地図情報を更新しようと考えれば、使用者は、まず、更新情報が記憶されたメモリカードを更新情報取得部3にセットする。次に、使用者が入力部1を使って地図情報の更新の指示を地図情報処理装置にすることで、地図情報処理装置は、更新情報に基づいて地図情報記憶部4に記憶された地図情報を更新する。その結果、使用者は、目的地に行くための最新バージョンの地図情報を利用することができる。
また、位置検出部2から使用者が乗車している車両の現在位置を示す位置情報を得ることができるので、地図情報処理装置は当該車両の現在位置から目的地までの所要の地図情報を得ることができる。その結果、使用者は当該地図情報処理装置の出力部6によって現在位置から目的地までの経路誘導のための案内情報を知ることができる。
また、地図情報処理装置は、位置検出部2から使用者が乗車している車両の現在位置を示す位置情報を得た上で、当該現在位置から目的地まで行くための所要の地図情報について、メモリカードに記憶された更新情報に基づいて自動的に地図情報記憶部4に記憶された地図情報を更新する。その結果、使用者は、現在位置から目的地に行くための最新バージョンの地図情報を利用することができる。
<地図情報>
地図情報の作成範囲は、経線及び緯線により囲まれた領域とする。なお、作成範囲の形状は、地球上の高緯度の地域を除いては近似的に略矩形とみなすことが可能である。従って、高緯度の地域以外では、地図情報の作成範囲は矩形領域として取り扱っても実用上は問題無い。そこで、以下では、作成範囲が経線及び緯線により囲まれた矩形領域であるとみなして、説明する。
また、地図情報は、情報の詳細さの度合いにより階層化され、地図情報の作成範囲を各階層毎に所定間隔の経線及び緯線により囲まれた矩形領域であるメッシュ状に分割することで、区画化されて管理される。この地図情報の作成範囲がメッシュ状に分割されて区画化された領域を、以下では1次区画と呼ぶこととする。
次に、上記のようにメッシュ状に分割することで区画化された作成範囲は、メッシュ状とは異なる分割形状にてさらに上記1次区画の集合体以外の所定形状の領域によって区画化される。以下では、メッシュ状の1次区画内をさらに上記1次区画とは異なる所定形状の領域によって区画化された領域を、2次区画と呼ぶこととする。
上記所定形状の領域は、地図情報処理装置の使用者の便宜の点から分割された地図情報の更新の最小単位であり、以下では、この最小単位を更新領域と呼ぶこととする。
各更新領域には、各々の領域を識別するための識別子である更新領域の領域識別子が付与される。所定形状の領域である更新領域としては、その呼称からその領域が容易に類推できる領域とし、例えば国、州、都道府県、市区町村等の行政区域や、行政区域そのものでは無いが社会的に認知されている地域名を有する例えば関東地方や近畿地方等の地方区域等を表すものとする。この所定形状の領域は、使用者にとっては日常の中で慣れ親しんで認識しているので、使用者は地図情報の更新の範囲を容易に理解することができる。
図2は、各階層化され、各階層がメッシュ状に分割された地図情報の例である。図2においては、レベル0、レベル1、及びレベル2の3階層に階層化され、レベル2、レベル1、及びレベル0の順に詳細度が大きくなるものとする。レベル0の階層では、作成範囲はメッシュ状に分割されることで8×8個の1次区画に区画化され、レベル1の階層では、作成範囲はメッシュ状に分割されることで4×4個の1次区画に区画化される。さらに、レベル2の階層では、作成範囲はメッシュ状に分割されることで2×2個の1次区画に区画化されている。
なお、作成範囲である矩形領域の左端の経度の値をWimin、右端の経度の値をWimaxとする。さらに、この作成範囲である矩形領域の下端の緯度の値をWjmin、上端の緯度の値をWjmaxとする。また、作成範囲の経度方向の幅をWi、作成範囲の緯度方向の幅をWjとし、Wi=Wimax−Wimin及びWj=Wjmax−Wjminの関係があるものとする。
図2に示すように、各階層の作成範囲はメッシュ状に分割されて1次区画に区画化されているので、レベル0の1次区画の経度方向の幅はWi/8であり、緯度方向の幅はWj/8となっている。また、レベル1の1次区画の経度方向の幅はWi/4、緯度方向の幅はWj/4であり、レベル2の1次区画の経度方向の幅はWi/2、緯度方向の幅はWj/2となっている。
また、各階層の作成範囲の中においてメッシュ状に分割された1次区画を特定するために、各1次区画に対して2次元のメッシュ座標(i,j)を付与する。2次元のメッシュ座標(i,j)を示すための座標軸iの値は、作成範囲である矩形領域の左端の1次区画から右端に向かって順にi=0、1、2、・・・、m(mは自然数)を付与し、座標軸jの値は、作成範囲である矩形領域の下端の1次区画から上端に向かって順にj=0、1、2、・・・、n(nは自然数)を付与する。以上により、作成範囲である矩形領域内の1次区画をメッシュ座標(i,j)で特定することができる。例えば、図2の中のレベル0の階層の作成範囲において、メッシュ座標(i,j)=(2,3)で特定される1次区画は、図2において太枠で位置が特定されている。以下では、1次区画(i,j)は、メッシュ座標が(i,j)である1次区画を指すものとする。
図3は、作成範囲内に更新領域が存在する様子を示した地図情報の例である。図3において、更新領域A、B、C、D、E、及びFが示されている。
図4は、図2に示したメッシュ状に区画化された作成範囲の地図情報を、さらに図3に示した更新領域A、B、C、D、E、及びFで区画化された地図情報の例である。例えば、レベル0の階層の作成範囲の中に分割されて存在する1次区画(2,3)では、更新領域Aに属する区画、更新領域Bに属する区画、及び更新領域Cに属する区画の都合3つの2次区画に区画化されている。図4のレベル0の階層だけで無く、レベル1及びレベル2の階層においても同様に同じ更新領域A、B、C、D、E、及びFで1次区画が2次区画に区画化されている。
地図情報記憶部4には、図4に示す各階層の地図情報において、メッシュ状に分割され区画化された1次区画に対応する地図情報である1次区画地図情報が各1次区画に対応付けられて記憶されている。さらに、これらの1次区画地図情報を管理するための1次区画管理情報と更新領域のバージョンを管理する更新領域に関するバージョン管理情報とが記憶されている。
図5は、図4に示したレベル0、レベル1、及びレベル2の階層からなる地図情報における1次区画地図情報の例である。
図5に示されるように、図4のレベル2の1次区画(0,0)〜1次区画(1,1)の4個の1次区画のそれぞれに対応して1次区画地図情報#0〜1次区画地図情報#3の4個の1次区画地図情報が、地図情報記憶部4に記憶される。また、レベル1の1次区画(0,0)〜1次区画(3,3)の16個の1次区画のそれぞれに対応して1次区画地図情報#4〜1次区画地図情報#19の16個の1次区画地図情報が、地図情報記憶部4に記憶される。さらに、レベル0の1次区画(0,0)〜1次区画(7,7)の64個の1次区画のそれぞれに対応して1次区画地図情報#20〜1次区画地図情報#83の64個の1次区画地図情報が、地図情報記憶部4に記憶される。
図6は、図4に示したレベル0、レベル1、及びレベル2の階層からなる地図情報における更新領域に関するバージョン管理情報の例である。
図6に示す更新領域に関するバージョン管理情報は、地図情報記憶部4に記憶されている更新領域の数を示すバージョン管理ヘッダと、地図情報記憶部4に記憶されている各更新領域に対応して設けられたバージョン管理レコードとを有している。
バージョン管理レコードの各々は、それぞれのバージョン管理レコードがどの更新領域に対応しているのかを示すための更新領域の領域識別子と、当該更新領域の名称を示す領域名と、当該更新領域の地図情報のバージョンを示すための記憶地図情報バージョンとを有している。
図6に示す更新領域に関するバージョン管理情報の例において、バージョン管理ヘッダに示されている更新領域の数は6個で、図3及び図4に示されている更新領域A、B、C、D、E、及びFに対応している。バージョン管理情報は、この6個の更新領域の各々に対応して、バージョン管理レコード#0〜バージョン管理レコード#5からなる6個のバージョン管理レコードを有している。ここで、例えば、バージョン管理レコード#0は、更新領域Aの領域識別子、Aという更新領域の領域名、及び更新領域Aの記憶地図情報バージョンを有している。同様に、バージョン管理レコード#2であれば、更新領域Cの領域識別子、Cという更新領域の領域名、及び更新領域Cの記憶地図情報バージョンを有している。
図7は、図4に示したレベル0、レベル1、及びレベル2の階層からなる地図情報における1次区画管理情報の例である。
図7に示す1次区画管理情報は、1次区画管理情報ヘッダと1次区画の各々に対応して設けられた1次区画管理レコードとを有している。
1次区画管理情報ヘッダは、作成範囲、階層数、及び各階層に対応して設けられた階層管理レコードを有している。さらに、作成範囲については、その矩形領域の左端経度、右端経度、下端緯度、及び上端緯度が示されている。また、階層管理レコードの各々には、それぞれの階層の地図情報に含まれる1次区画の数を示す1次区画数、当該1次区画の経度方向の幅及び当該1次区画の緯度方向の幅が示されている。
さらに、図7に示す1次区画管理情報は、各階層に含まれるそれぞれの1次区画に対応して設けられた1次区画管理レコードを有している。1次区画管理レコードの各々は、当該1次区画が含まれる階層の名称である階層名、当該1次区画が含まれる階層の作成範囲の中での当該1次区画の位置を特定するためのメッシュ座標、当該1次区画に対応する1次区画地図情報が地図情報記憶部4のどこに記憶されているかを特定するための1次区画地図情報の所在、及び地図情報記憶部4に記憶されている当該1次区画に対応する1次区画地図情報のデータサイズを有している。
図7に示す1次区画管理情報の例において、1次区画管理情報ヘッダに含まれる作成範囲は、その矩形領域の左端経度がWimin、右端経度がWimax、下端経度がWjmin、さらに上端緯度がWjmaxであることを示している。また、1次区画管理情報ヘッダに含まれる階層数は、レベル2の階層、レベル1の階層、及びレベル0の階層の都合3個である。1次区画管理情報ヘッダは、3個の階層であるレベル2、レベル1、及びレベル0に対応して階層管理レコード#0〜階層管理レコード#2からなる3個の階層管理レコードを有している。ここで、例えば、レベル2の階層に対応する階層管理レコード#0は、1次区画数が4個であり、1次区画の経度方向の幅がWi/2、1次区画の緯度方向の幅がWj/2である。また、レベル1の階層に対応する階層管理レコード#1は、1次区画数が16個であり、1次区画の経度方向の幅がWi/4、1次区画の緯度方向の幅がWj/4である。また、レベル0の階層に対応する階層管理レコード#2は、1次区画数が64個であり、1次区画の経度方向の幅がWi/8、1次区画の緯度方向の幅がWj/8である。
次に、図7に示す1次区画管理情報の例において、1次区画管理情報は、1次区画管理情報ヘッダと併せて各階層に含まれるそれぞれの1次区画に対応して設けられた1次区画管理レコードを有している。そして、当該1次区画管理レコードは、図5に示された1次区画地図情報#0〜1次区画地図情報#83からなる1次区画地図情報の各々に対応して、1次区画管理レコード#0〜1次区画管理レコード#83の84個からなる。ここで、例えば、1次区画管理レコード#46は、図4に示されたレベル0の階層の作成範囲に含まれるメッシュ座標(i,j)=(2,3)で特定される太枠の1次区画に対応しているが、当該1次区画管理レコード#46においては、階層名がレベル0であり、メッシュ座標(i,j)が(2,3)であり、さらに、1次区画地図情報の所在としては当該1次区画(2,3)に対応する1次区画地図情報#46の所在であり、1次区画地図情報のデータサイズとしては当該1次区画(2,3)に対応する1次区画地図情報#46のデータサイズとなっている。
なお、1次区画管理レコードは、1次区画地図情報の検索を容易にするために、階層及びメッシュ座標に関してソートして並べられている。
所要の地図情報の階層及び範囲が指定されれば、1次区画管理情報ヘッダの作成範囲、所要の階層の1次区画の経度方向の幅及び緯度方向の幅から、所要の1次区画のメッシュ座標が容易に算出される。さらに、上記階層及びメッシュ座標を有する1次区画管理レコードから1次区画地図情報の所在が取得できるため、所要の地図情報の階層及び範囲の1次区画地図情報を地図情報記憶部4から容易に取得することができる。ここで、1次区画地図情報には、その1次区画に含まれる全ての更新領域の1次区画内の更新領域地図情報が含まれるため、更新領域による区画を考慮することなく、所要の1次区画の地図情報が得られる。
図8は、階層及び区画が図4に示すものとした場合であって、階層がレベル0の作成範囲の中のメッシュ座標が(i,j)=(2,3)の1次区画(2,3)に対応する1次区画地図情報#46の内容を説明するための図である。
1次区画地図情報は、1次区画地図情報ヘッダと当該1次区画内の2次区画地図情報の並びからなる。1次区画内の2次区画地図情報は、当該1次区画内の2次区画における地図情報であり、当該1次区画に存在する2次区画の数だけ設けられる。
図8に示すように、1次区画地図情報ヘッダは、当該1次区画に存在する2次区画の数を表す2次区画数と、当該1次区画内に存在する2次区画の各々に対応して設けられた2次区画管理レコードとを有する。
2次区画管理レコードは、対応する2次区画が属する更新領域の領域識別子、対応する2次区画地図情報の所在、及び当該2次区画地図情報のデータサイズを有する。
所要の更新領域の領域識別子を有する2次区画管理レコードを参照することにより、所要の更新領域の2次区画地図情報を取得することができる。
図8に示す1次区画地図情報は、図4に示した地図情報において、階層がレベル0であり、メッシュ座標が(i,j)=(2,3)である1次区画に対応する1次区画地図情報#46を具体的に示した例である。
図8に示す1次区画地図情報#46において、1次区画地図情報ヘッダによれば、1次区画(2,3)内の2次区画数が3個であり、2次区画管理レコードとしては更新領域がAの2次区画管理レコード#0と更新領域がBの2次区画管理レコード#1と更新領域がCの2次区画管理レコード#2とが含まれている。さらに、2次区画地図情報としては、1次区画(2,3)内の更新領域がAである2次区画地図情報#0と同じく1次区画(2,3)内の更新領域がBである2次区画地図情報#1と同じく1次区画(2,3)内の更新領域がCである2次区画地図情報#2とが含まれている。
なお、上記の1次区画地図情報ヘッダにおける2次区画管理レコード#0を例にとれば、当該2次区画管理レコード#0においては、領域識別子が更新領域Aに対応しており、さらに、2次区画地図情報#0の所在としては更新領域がAである2次区画地図情報#0の所在であり、2次区画地図情報のデータサイズとしては当該2次区画地図情報#0のデータサイズとなっている。
図9は、1次区画内の2次区画地図情報の例で、経路計算、マップマッチングや道路の表示に使用するための道路網を表す道路データ、河川及び海等の地図背景を表示するための背景データ、地名等名称を表示するための名称データ、経路誘導のための経路誘導データ、施設等を検索するための検索データ等の各種のデータを有すると共に、前記各種のデータの所在や前記各種のデータのデータサイズを示す地図データヘッダを有している。
以上のように、1次区画地図情報は、地図情報を1次区画内の所定形状の領域に区画化された領域である2次区画毎に分類して、管理し収容しているため、1次区画地図情報を更新領域毎に更新することが容易となる。
<更新情報>
更新情報は、使用者ないしは地図情報処理装置が所要する更新領域に関するものであって、地図情報記憶部4に記憶された全階層の地図情報を更新するために必要な情報で、更新情報記憶媒体として例えばメモリカードに記憶された形態で、使用者に提供される。
更新情報は、更新管理情報と更新領域内の2次区画更新情報とを有する。
更新領域内の2次区画更新情報は、当該更新情報が更新対象とする更新領域に属する最新バージョンの2次区画更新情報で、各階層毎に更新領域に一部又は全部が含まれる1次区画に対応して設けられる。
更新管理情報は、更新管理情報ヘッダ及び1次区画更新管理レコードの並びを有する。
更新管理情報ヘッダは、使用者ないしは地図情報処理装置が所要する更新対象である更新領域を示す領域識別子、当該更新領域の名称を示す更新領域の領域名、更新バージョン、更新領域内の2次区画更新情報の数を有する。なお、更新バージョンとしては、上記最新バージョンを設定する。
1次区画更新管理レコードは、上記更新領域内の2次区画更新情報を管理するためのレコードで、更新情報ヘッダが示す更新領域内の2次区画更新情報の数だけ設けられ、管理対象とする更新領域内の2次区画更新情報の階層、メッシュ座標、所在及びデータサイズ等を表す情報を有する。
図10は、図4の区画において更新範囲を上記更新領域Cとしたときの更新情報の例である。
図10に示すように、レベル2に対し、更新領域Cを含む1次区画(0,0)、1次区画(0,1)、1次区画(1,0)、1次区画(1,1)のそれぞれについて、最新バージョンであり更新領域Cに属する2次区画の地図情報である更新領域内の2次区画更新情報#0〜2次区画更新情報#3からなる4個の2次区画更新情報、及びそれらの1次区画更新管理レコード#0〜1次区画更新管理レコード#3からなる4個の1次区画更新管理レコードを設ける。従って、レベル2のどの1次区画に対する更新領域内の2次区画更新情報にも更新領域C以外の地図情報は含まれない。例えば、レベル2の、1次区画(0,0)の更新領域内の2次区画更新情報#0には更新領域A、B、及びDに属する2次区画の地図情報は含まれない。
レベル1に対し、更新領域Cを含む1次区画(1,1)、1次区画(1,2)、1次区画(2,1)、1次区画(2,2)のそれぞれについて、最新バージョンであり更新領域Cに属する2次区画の地図情報である更新領域内の2次区画更新情報#4〜2次区画更新情報#7、及びそれらの1次区画更新管理レコード#4〜1次区画更新管理レコード#7を設ける。従って、レベル1のどの1次区画に対する更新領域内の2次区画更新情報にも更新領域C以外の地図情報は含まれない。例えば、レベル1の、1次区画(1,1)の更新領域内の2次区画更新情報#4には更新領域A、B、及びDに属する2次区画の地図情報は含まれない。
レベル0に対し、更新領域Cを含む1次区画(2,2)、1次区画(2,3)、1次区画(2,4)、1次区画(3,2)、1次区画(3,3)、1次区画(3,4)、1次区画(3,5)、1次区画(4,2)、1次区画(4,3)、1次区画(4,4)、1次区画(4,5)のそれぞれについて、最新バージョンであり更新領域Cに属する2次区画の地図情報である更新領域内の2次区画更新情報#8〜2次区画更新情報#18、及びそれらの1次区画更新管理レコード#8〜1次区画更新管理レコード#18を設ける。従って、レベル0のどの1次区画に対する更新領域内の2次区画更新情報にも更新領域C以外の地図情報は含まれない。例えば、レベル0の、1次区画(2,3)の更新領域内の2次区画更新情報#9には更新領域A及びBに属する2次区画の地図情報は含まれない。
上記のように更新領域Cの更新用のメモリカードには、更新領域C以外の更新情報は一切含まれず、更新情報の不要な増大を防止でき、提供範囲外の地図情報の使用料の発生を防止できる。
また、上記更新領域Cの更新用のメモリカードにおける更新情報の更新範囲は、レベル2、レベル1、及びレベル0の全ての階層で、同じ更新領域Cとなるため、レベル2、レベル1、及びレベル0の全ての階層で、更新領域Cの地図情報を同じバージョンに更新することができ、更新後の更新領域Cにおいて、階層間のバージョン不一致による不整合の発生を防止できる。
また、更新領域内の2次区画更新情報として、当該2次区画の最新バージョンの地図情報を用いるので、最新バージョンの地図情報から当該2次区画分だけを切り出すことにより更新領域内の2次区画更新情報が得られ、容易に更新情報を作成することができ、利用者はより安価な更新情報が得られる。
また、更新情報の更新対象の更新領域が地図情報と同じ行政区域又は行政区域以外で社会的に認知されている地域となるため、使用者は更新の範囲を容易に理解することができ、所要する地域の更新情報を的確に購入できる。
<道路データに関するデータ構造>
以下に、図9に示された2次区画地図情報のうちの道路データに関するデータ構造を説明する。道路データは、地理上の地点を表すノードとノード間を結ぶ道路を表すリンクからなる当該2次区画における道路網を表すデータである。
図11は、図4に示す各階層の地図情報のうちで、レベル0の階層の1次区画(2,3)とその周辺の道路網の例である。ここで、「N」はノードを意味し、その後ろの数字はノード番号を意味している。また、「L」はリンクを意味し、その後ろの数字はリンク番号を意味している。また、1次区画(2,3)と他の1次区画との境界は、太い実線で示されている。
図11の道路網の例では、ノードN0からノードN18の19個のノード、及びリンクL0からリンクL18の19個のリンクが示されている。また、各更新領域の境界が破線で示されている。境界A−Bは、更新領域Aと更新領域Bの境界であり、境界B−Cは、更新領域Bと更新領域Cの境界である。さらに、境界A−Cは、更新領域Aと更新領域Cの境界を示している。
また、ノードN4、ノードN12、及びノードN13は、一区画(2,3)とその周辺の1次区画との境界上に位置している。ノードN4は、1次区画(2,3)と1次区画(3,3)との境界上に存在して、リンクL3とリンクL16とを接続する。ノードN12は、1次区画(2,3)と1次区画(2,4)の境界上に存在して、リンクL11とリンクL14とを接続する。ノードN13は、1次区画(2,3)と1次区画(2,2)との境界上に存在して、リンクL13とリンクL15とを接続する。
上記のように、1次区画や2次区画の境界上に位置するノードを境界ノードと呼び、特に、1次区画の境界上に位置するノードを以下では1次区画境界ノードと呼ぶものとする。
一方、ノードN2、ノードN7、及びノードN10は、それぞれ更新領域の境界に位置している。ノードN2は、境界A−C上に存在して、リンクL1とリンクL2とを接続する。ノードN7は、境界B−C上に存在して、リンクL5とリンクL6とを接続する。ノードN10は、境界A−B上に存在して、リンクL8とリンクL9とを接続する。
上記のように、境界ノードのうちで、特に更新領域の境界上に位置するノードを以下では更新領域境界ノードと呼ぶものとする。
図12は、図11の道路網を2次区画に区画化した結果を説明するための説明図である。1次区画(2,3)は、更新領域A、B、及びCで2次区画に区画化されている。以下では、1次区画(2,3)を更新領域Aで区画化した2次区画を2次区画(2,3)−Aと表すこととする。同様に、1次区画(2,3)を更新領域Bで区画化した2次区画は、2次区画(2,3)−B、更新領域Cで区画化した2次区画は、2次区画(2,3)−Cで表されるものとする。
さらに、図12においては、1次区画(2,3)の周辺の1次区画が更新領域Cで区画化された2次区画(2,2)−C、2次区画(2,4)−C、及び2次区画(3,3)−Cも示されている。
なお、図12において、ノードN4’及びノードN4”は、図11のノードN4と実質的に同一ノードであり、更新領域間の境界でのリンクの接続を説明するために、便宜上、図11におけるノードN4をノードN4’及びノードN4”で表現したものである。ノードN2’とノードN2”、ノードN7’とノードN7”、ノードN10’とノードN10”、ノードN12’とノードN12”、及びノードN13’とノードN13”についても同様である。
図13は、図11及び図12における2次区画(2,3)−Cの2次区画地図情報のうちの道路網を表す道路データのデータ構造の例である。
図13において、2次区画(2,3)−Cの道路網の道路データは、道路データ管理部、ノード情報、接続情報、リンク情報、及びリンク形状情報からなる。
ここで、道路データ管理部は、ノード情報、接続情報、リンク情報、及びリンク形状情報のそれぞれの格納位置やデータサイズやレコード数等を示す。
ノード情報は、2次区画(2,3)−Cに属するノードに対応して設けられたノードレコードからなる情報で、図12に示されたノードN2”、ノードN3、ノードN4’、ノードN7”、ノードN8、ノードN9、ノードN12”、及びノードN13’のそれぞれに対応してノードレコード#0〜ノードレコード#7からなる。なお、ノード情報におけるノードレコードの並び順をノードレコード番号と呼ぶものとする。
接続情報は、2次区画(2,3)−Cに属するノードに対応して設けられた接続レコードからなる情報で、図12に示されたノードN2”、ノードN3、ノードN4’、ノードN7”、ノードN8、ノードN9、ノードN12”、及びノードN13’のそれぞれに対応して接続レコード#0〜接続レコード#7からなる。
リンク情報は、2次区画(2,3)−Cに属するリンクに対応して設けられたリンクレコードからなる情報で、図12に示されたリンクL2、リンクL3、リンクL6、リンクL7、リンクL11、リンクL12、及びリンクL13のそれぞれに対応してリンクレコード#0〜リンクレコード#6からなる。なお、リンク情報におけるリンクレコードの並び順をリンクレコード番号と呼ぶものとする。
リンク形状情報は、2次区画(2,3)−Cに属するリンクに対応して設けられた形状レコードからなる情報で、図12に示されたリンクL2、リンクL3、リンクL6、リンクL7、リンクL11、リンクL12、及びリンクL13のそれぞれに対応して形状レコード#0〜形状レコード#6からなる。
図14は、図11及び図12における2次区画(2,3)−Aの2次区画地図情報のうちの道路網を表す道路データのデータ構造の例である。
図14において、ノード情報は、図12に示されたノードN0、ノードN1、ノードN2’、ノードN10”、及びノードN11のそれぞれに対応してノードレコード#0〜ノードレコード#4からなる。接続情報は、図12に示されたノードN0、ノードN1、ノードN2’、ノードN10”、及びノードN11のそれぞれに対応して接続レコード#0〜接続レコード#4からなる。リンク情報は、図12に示されたリンクL0、リンクL1、リンクL9、及びリンクL10のそれぞれに対応してリンクレコード#0〜リンクレコード#3からなる。リンク形状情報は、図12に示されたリンクL0、リンクL1、リンクL9、及びリンクL10のそれぞれに対応して形状レコード#0〜形状レコード#3からなる。
以下、同様に、図15は、図11及び図12における2次区画(2,3)−Bの2次区画地図情報のうちの道路網を表す道路データのデータ構造の例である。
図15において、ノード情報は、図12に示されたノードN5、ノードN6、ノードN7’、及びノードN10’のそれぞれに対応してノードレコード#0〜ノードレコード#3からなる。接続情報は、図12に示されたノードN5、ノードN6、ノードN7’、及びノードN10’のそれぞれに対応して接続レコード#0〜接続レコード#3からなる。リンク情報は、図12に示されたリンクL4、リンクL5、及びリンクL8のそれぞれに対応してリンクレコード#0〜リンクレコード#2からなる。リンク形状情報は、図12に示されたリンクL4、リンクL5、及びリンクL8のそれぞれに対応して形状レコード#0〜形状レコード#2からなる。
また、図16は、図11及び図12における2次区画(2,3)−Cの2次区画地図情報のうちの道路網を表す道路データのデータ構造の例である。
図16において、ノード情報は、図12に示されたノードN4”、ノードN16、ノードN17、及びノードN18のそれぞれに対応してノードレコード#0〜ノードレコード#3からなる。接続情報は、図12に示されたノードN4”、ノードN16、ノードN17、及びノードN18のそれぞれに対応して接続レコード#0〜接続レコード#3からなる。リンク情報は、図12に示されたリンクL16、リンクL17、及びリンクL18のそれぞれに対応してリンクレコード#0〜リンクレコード#2からなる。リンク形状情報は、図12に示されたリンクL16、リンクL17、及びL18のそれぞれに対応して形状レコード#0〜形状レコード#2からなる。
また、図17は、図11及び図12における2次区画(2,4)−Cの2次区画地図情報のうちの道路網を表す道路データのデータ構造の例である。
図17において、ノード情報は、図12に示されたノードN14及びN12’のそれぞれに対応してノードレコード#0〜ノードレコード#1からなる。接続情報は、図12に示されたノードN14及びN12’のそれぞれに対応して接続レコード#0〜接続レコード#1からなる。リンク情報は、図12に示されたリンクL14に対応してリンクレコード#0からなる。リンク形状情報は、図12に示されたリンクL14に対応して形状レコード#0からなる。
さらに、図18は、図11及び図12における2次区画(2,2)−Cの2次区画地図情報のうちの道路網を表す道路データのデータ構造の例である。
図18において、ノード情報は、図12に示されたノードN15及びノードN13”のそれぞれに対応してノードレコード#0〜ノードレコード#1からなる。接続情報は、図12に示されたノードN15及びノードN13”のそれぞれに対応して接続レコード#0〜接続レコード#1からなる。リンク情報は、図12に示されたリンクL15に対応してリンクレコード#0からなる。リンク形状情報は、図12に示されたリンクL15に対応して形状レコード#0からなる。
また、図19は、図13に示す2次区画(2,3)−Cの2次区画地図情報のうちの道路網を表す道路データにおけるノードレコードのデータ構造の例である。
図19において、ノードレコードは、ノード座標、ノード種別情報、接続リンク数、及び接続レコードオフセットからなる固定長のレコードである。
ここで、ノード座標は、ノードの地理上位置を、その経度及び緯度により表す。ノードレコード#i(i=0〜7)に対応するノードの経度及び緯度としてそれぞれXi及びYiが設定される。なお、ノード座標として、経度及び緯度に加えて高さを表す情報である例えば高度を保有するようにしても良い。
ノード種別情報は、ノードが2次区画(2,3)−Cの内部に存在する内部ノード、一次区画境界上に存在する1次区画境界ノード、及び更新領域境界上に存在する更新領域境界ノードのいずれであるかを示すノード種別を表す。例えば、図19においては、内部ノードを0、1次区画境界ノードを1、そして更新領域境界ノードを2で表すものとしている。
図13に示されたノードN3、ノードN8、及びノードN9のノード種別は図12から明らかなように内部ノードなので、図19に示すように、ノードレコード#1、ノードレコード#4、及びノードレコード#5のノード種別情報はいずれも0が設定されている。図13に示されたノードN4’、ノードN12”、及びノードN13’のノード種別は一次区画境界ノードなので、図19に示すように、ノードレコード#2、ノードレコード#6、及びノードレコード#7のノード種別情報はいずれも1が設定されている。図13に示されたノードN2”及びノードN7”のノード種別は更新領域境界ノードなので、図19に示すように、ノードレコード#0及びノードレコード#3のノード種別情報はいずれも2が設定されている。
次に、接続リンク数は、ノードに接続するリンクの数を表す。ノードN3にはリンクL2、リンクL3、リンクL12、及びリンクL13の都合4個のリンクが接続しているので、ノードレコード#1の接続リンク数は4と設定している。同様に、ノードN8にはリンクL6、リンクL7、リンクL11、及びリンクL12の都合4個のリンクが接続しているので、ノードレコード#4の接続リンク数は4と設定している。また、ノードN2”、ノードN4’、ノードN7”、ノードN12”、及びノードN13’には、それぞれリンクL2、リンクL3、リンクL6、リンクL7、リンクL11、及びリンクL13が1個ずつ接続されているので、ノードレコード#0、ノードレコード#2、ノードレコード#3、ノードレコード#6、及びノードレコード#7のそれぞれのノード種別情報はいずれも1が設定されている。
次に、接続レコードオフセットは、ノードレコードのノードに対応する接続レコードの地図情報記憶部4における格納位置を、接続情報の格納領域の先頭位置から当該接続レコードまでのバイト数で表したものである。例えば、ノードN3に対応するノードレコード#1の接続レコードオフセットは4であって、これは、地図情報記憶部4での接続情報が格納されている格納領域において、その格納領域の先頭位置から4バイトオフセットした位置から接続レコード#1が格納されていることを意味している。
図20は、図13に示す2次区画(2,3)−Cの2次区画地図情報のうちの道路網を表す道路データにおける接続レコードのデータ構造の例である。
図20において、接続レコードは、接続リンクレコード番号と隣接2次区画ノード情報とからなる。
ここで、接続リンクレコード番号は、接続レコードが対応するノードに接続するリンクのリンクレコード番号を表す。
また、隣接2次区画ノード情報は、接続レコードが対応するノードのノード種別が内部ノード以外の時にのみ設けられ、当該ノードのノード種別が1次区画境界ノードの場合と更新領域境界ノードの場合とで、隣接2次区画ノード情報の内容は異なる。ノード種別が1次区画境界ノードの場合には、隣接2次区画ノード情報は、隣接1次区画情報と隣接2次区画内のノード指示情報とからなる。一方、ノード種別が更新領域境界ノードの場合には、隣接2次区画ノード情報は、隣接更新領域情報と隣接2次区画内のノード指示情報とからなる。
一方、ノード種別が内部ノードの場合は、接続リンク番号は設定されるが、隣接2次区画ノード情報は設定されない。
さて、隣接2次区画ノード情報が設定された場合において、隣接1次区画情報は、図13に示す2次区画(2,3)−Cに隣接する隣接2次区画で、当該接続レコードに対応するノードと同一のノードを1次区画境界ノードに持つ2次区画が属する1次区画を2次区画(2,3)−Cに対する位置関係で表す。2次区画(2,3)−Cに対する当該隣接2次区画が属する1次区画の位置関係について、右、右上、直上、左上、左、左下、直下、及び右下の8方向をそれぞれ0〜7の値で表すものとする。
さらに、隣接更新領域情報は、図13に示す2次区画(2,3)−Cに隣接する隣接2次区画で、当該接続レコードに対応するノードと同一のノードを更新領域境界ノードに持つ2次区画が属する更新領域を表す。
さらに、隣接2次区画内のノード指示情報は、ノード種別が1次区画境界ノードないしは更新領域境界ノードのいずれの場合であっても、図13に示す2次区画(2,3)−Cに隣接する隣接2次区画内にあって、当該接続レコードに対応するノードと同一のノードについて、当該ノードのノードレコード番号を示すものである。
図20を用いて、接続レコードを具体的に説明する。
ノードN2”にはリンクL2が接続されているので、図20に示された接続レコード#0の接続リンクレコード番号は0が設定される。また、隣接2次区画ノード情報については、ノードN2”と同一のノードN2’を更新領域境界ノードに持つ2次区画(2,3)−Aは、更新領域Aに属している。そこで、隣接更新領域情報として、更新領域がAであることを示す領域識別子(A)が設定される。さらに、ノードN2’は、隣接2次区画(2,3)−A内にある更新領域境界ノードである。そこで、接続レコード#0において、隣接2次区画内のノード指示情報は、隣接2次区画(2,3)−A内の更新領域境界ノードであるノードN2’という意味で、図14に示されたノード情報から明らかなように、2が設定される。
同様にして、ノードN3にはリンクL2、リンクL3、リンクL12、及びリンクL13が接続されているので、図20に示された接続レコード#1の接続リンクレコード番号は、それぞれ0、1、5、及び6が設定される。なお、隣接2次区画ノード情報については、ノードN3は内部ノードであるので、設定されずになしとなる。
次に、ノードN4’にはリンクL3が接続されているので、図20に示された接続レコード#2の接続リンクレコード番号は1が設定される。また、隣接2次区画ノード情報については、ノードN4’と同一のノードN4”を1次区画境界ノードに持つ2次区画(3,3)−Cが属する1次区画(3,3)は、隣接2次区画が属する1次区画であるが、当該1次区画(3,3)は2次区画(2,3)−Cの右に位置する。そこで、隣接1次区画情報として、0が設定される。さらに、ノードN4”は、隣接2次区画(3,3)−C内にある1次区画境界ノードである。そこで、接続レコード#2において、隣接2次区画内のノード指示情報は、隣接2次区画(3,3)−C内の1次区画境界ノードであるノードN4”という意味で、図16に示されたノード情報から明らかなように、0が設定される。
次に、ノードN7”にはリンクL6が接続されているので、図20に示された接続レコード#3の接続リンクレコード番号は2が設定される。また、隣接2次区画ノード情報については、ノードN7”と同一のノードN7’を更新領域境界ノードに持つ2次区画(2,3)−Bは、更新領域Bに属している。そこで、隣接更新領域情報として、更新領域がBであることを示す領域識別子(B)が設定される。さらに、ノードN7’は、隣接2次区画(2,3)−B内にある更新領域境界ノードである。そこで、接続レコード#3において、隣接2次区画内のノード指示情報は、隣接2次区画(2,3)−B内の更新領域境界ノードであるノードN7’という意味で、図15に示されたノード情報から明らかなように、2が設定される。
次に、ノードN8にはリンクL6、リンクL7、リンクL11、及びリンクL12が接続されているので、接続レコード#4の接続リンクレコード番号は、それぞれ2、3、4、及び5が設定される。なお、隣接2次区画ノード情報については、ノードN8は内部ノードであるので、設定されずになしとなる。
次に、ノードN9にはリンクL7が接続されているので、接続レコード#5の接続リンクレコード番号は、3が設定される。なお、隣接2次区画ノード情報については、ノードN9は内部ノードであるので、設定されずになしとなる。
次に、ノードN12”にはリンクL11が接続されているので、接続レコード#6の接続リンクレコード番号は4が設定される。また、隣接2次区画ノード情報については、ノードN12”と同一のノードN12’を1次区画境界ノードに持つ2次区画(2,4)−Cが属する1次区画(2,4)は、隣接2次区画が属する1次区画であるが、当該1次区画(2,4)は2次区画(2,3)−Cの真上に位置する。そこで、隣接1次区画情報として、2が設定される。さらに、ノードN12’は、隣接2次区画(2,4)−C内にある1次区画境界ノードである。そこで、接続レコード#6において、隣接2次区画内のノード指示情報は、隣接2次区画(2,4)−C内の1次区画境界ノードであるノードN12’という意味で、図17に示されたノード情報から明らかなように、1が設定される。
次に、ノードN13’にはリンクL13が接続されているので、接続レコード#7の接続リンクレコード番号は6が設定される。また、隣接2次区画ノード情報については、ノードN13’と同一のノードN13”を1次区画境界ノードに持つ2次区画(2,2)−Cが属する1次区画(2,2)は、隣接2次区画が属する1次区画であるが、当該1次区画(2,2)は2次区画(2,3)−Cの真下に位置する。そこで、隣接1次区画情報として、6が設定される。さらに、ノードN13”は、隣接2次区画(2,2)−C内にある1次区画境界ノードである。そこで、接続レコード#7において、隣接2次区画内のノード指示情報は、隣接2次区画(2,2)−C内の1次区画境界ノードであるノードN13”という意味で、図18に示されたノード情報から明らかなように、1が設定される。
図20に示す2次区画(2,3)−Cの道路網を表す道路データにおける接続レコードのデータ構造の例は、以上のように設定されている。従って、接続レコード#2の隣接2次区画ノード情報の隣接1次区画情報から、隣接1次区画(3,3)を求めることができ、その隣接1次区画(3,3)の1次区画地図情報の1次区画地図情報ヘッダを参照して、当該2次区画が属する更新領域Cに属する2次区画(3,3)−Cの1次区画内2次区画地図情報を上記1次区画地図情報から取得することにより、図16の2次区画(3,3)−Cの道路データが得られ、また、接続レコード#2の隣接2次区画ノード情報の隣接2次区画内のノード指示情報から上記道路データのノードレコード#0が得られ、ノードN4”が特定される。
以上のように、接続レコード#2の隣接2次区画ノード情報により、1次区画境界ノードN4’に接続する隣接2次区画の1次区画境界ノードN4”を求めることができる。
同様にして、接続レコード#6及び接続レコード#7により、1次区画境界ノードN12”に接続する隣接2次区画の1次区画境界ノードN12’及び1次区画境界ノードN13’に接続する隣接2次区画の1次区画境界ノードN13”を求めることができる。
また、図20に示す2次区画(2,3)−Cの道路網を表す道路データにおける接続レコードのデータ構造の例は、以上のように設定されているので、接続レコード#0の隣接2次区画ノード情報の隣接更新領域情報から、隣接更新領域Aを求めることができ、当該1次区画(2,3)の1次区画地図情報の1次区画地図情報ヘッダを参照して、隣接更新領域Aに属する2次区画(2,3)−Aの1次区画内2次区画地図情報を上記1次区画地図情報から取得することにより、図14の2次区画(2,3)−Aの道路データを得ることができる。また、接続レコード#0の隣接2次区画ノード情報の隣接2次区画内のノード指示情報から上記道路データのノードレコード#2が得られ、ノードN2’が特定される。
以上のように、接続レコード#0の隣接2次区画ノード情報により、更新領域境界ノードN2”に接続する隣接2次区画の更新領域境界ノードN2’を求めることができる。
同様にして、接続レコード#3の隣接2次区画ノード情報により、更新領域境界ノードN7”に接続する隣接2次区画の更新領域境界ノードN7’を求めることができる。
以上のようにして、2次区画の境界ノードに接続する隣接2次区画の境界ノードを求めることにより、隣接する2次区画の道路網を辿ることができる。
図21は、図13におけるリンクレコードのデータ構造の例である。
図21において、リンクレコードは、始点ノードレコード番号、終点ノードレコード番号、リンク属性、及び形状レコードオフセットからなる。
ここで、始点ノードレコード番号及び終点ノードレコード番号は、それぞれリンクの始点側及び終点側のノードのノードレコード番号を表す。
具体的には、リンクL2のノードN2”及びノードN3をそれぞれ始点ノード及び終点ノードとするため、リンクレコード#1の始点ノードレコード番号及び終点ノードレコード番号として、それぞれ0及び1を設定する。
また、リンクL3のノードN3及びノードN4’をそれぞれ始点ノード及び終点ノードとするため、リンクレコード#1の始点ノードレコード番号及び終点ノードレコード番号として、それぞれ1及び2を設定する。
リンクレコード#2〜リンクレコード#6の始点ノードレコード番号及び終点ノードレコード番号も上記と同様にして設定する。
次に、図21において、リンク属性は、高速道路、国道、都道府県道路等の道路の種別を表す道路種別、道路番号、一方通行規制等、当該リンクが表す道路の属性を表す。
リンクレコード#i(i=0〜6)に対応するリンク属性としてAiが設定される。
さらに、形状レコードオフセットは、当該リンクに対応する形状レコードの格納位置を、リンク形状情報先頭からの上記形状レコードまでのバイト数で表したものである。形状レコード#0〜形状レコード#6のリンク形状情報先頭からのバイト数をそれぞれOSR0、OSR1、OSR2、OSR3、OSR4、OSR5、及びOSR6が設定される。
接続レコードとリンクレコードにより、ノードに対して1つのリンクで到達できるノードを求めることができる。例えば、図12に示されたノードN3に対して、図13に示されたノードN3のノードレコード#1が示す接続レコード#1を参照して、図20の接続リンクレコード番号が示すリンクL2、リンクL3、リンクL12、及びリンクL13のリンクレコードをさらに参照し、ノードN3を始点または終点となるノードとして持つリンクレコード#0、リンクレコード#1、リンクレコード#5、及びリンクレコード#6を見つけ、これらのリンクレコードが持つノードN3側でない側の始点または終点となるノードN2”、ノードN4’、ノードN8、及びノードN13’を求める。これらのノードがノードN3から1つのリンクで到達できるノードである。
以上のようにして、ノードに接続するリンク及びノードを順次求めることにより、2次区画内の道路網を辿ることができる。
図22は、図13における形状レコードのデータ構造の例である。
形状レコードは対応するリンクの道路形状を折れ線で表したもので、形状点数と形状点列とからなる。ここで、形状点数は、上記折れ線の頂点の数を表す。また、形状点列は、上記折れ線の頂点の地理的位置を示すための緯度及び経度を表す情報を形状点列の数だけ並べたものである。例えば、図12において、形状レコード#0はリンクL2の道路形状を折れ線で表すものであり、リンクL2を表す折れ線の頂点の数を意味する形状点数はSPN0個である。さらに、形状点列SPS0は、リンクL2の道路形状に対応する折れ線の頂点の緯度及び経度を表す情報を形状点列の数だけ並べたものである。
図23は、道路網全体が最新バージョンに更新され、図11の道路網にノードN19、ノードN20、ノードN21、リンクL19、リンクL20、リンクL21、及びリンクL22が新設されたものである。更新領域A、更新領域B、及び更新領域Cのいずれもが最新バージョンに更新されている。
また、図24は、図23に示された道路網の各々の2次区画の道路網を示す。図24において、ノードN19’及びノードN19”は図23のノードN19と同一ノードであり、図24のノードN19’及びノードN19”は図23のノードN19と同一ノードであり、図24のノードN21’及びノードN21”は図23のノードN21と同一ノードである。
図25は、図24における2次区画(2,3)−Cの道路データの例である。図25において、ノードN19”、ノードN20、及びノードN21’のノードレコード#0、ノードレコード#1、ノードレコード#2、接続レコード#0、接続レコード#1、及び接続レコード#2が新設される。さらに、リンクL20及びリンクL21のそれぞれリンクレコード#0及びリンクレコード#1、形状レコード#0、及び形状レコード#1が新設される。その結果、更新前から存在していたノードレコードのノードレコード番号及びリンクレコードのリンクレコード番号が変化している。
図26は、図24における2次区画(2,3)−Cの道路データの例である。図26において、ノードN19’のノードレコード#0及び接続レコード#0が新設される。さらに、リンクL19のリンクレコード#0及び形状レコード#0が新設される。その結果、更新前から存在していたノードレコードのノードレコード番号及びリンクレコードのリンクレコード番号が変化している。
図27は、図24における2次区画(3,3)−Aの道路データの例である。図27において、ノードN21’のノードレコード#0及び接続レコード#0が新設される。さらに、リンクL22のリンクレコード#0及び形状レコード#0が新設される。その結果、更新前から存在していたノードレコードのノードレコード番号及びリンクレコードのリンクレコード番号が変化している。
なお、図24における2次区画(2,3)−B、2次区画(2,4)−C、及び2次区画(2,2)−Cは、道路網が変化していないため、それらの道路データのデータ構造はそれぞれ更新前の図15、図17、及び図18に同じであるが、上記のように隣接する2次区画の道路網の変化によりノードレコード番号が変化しているため接続レコードにおける隣接2次区画内のノード指示情報が変化している。
図23は、図11の道路網全体が最新バージョンに更新されたものであるが、図28は、図11の道路網に対し、更新領域B及び更新領域Cのみの地図情報を更新した場合の各々の2次区画の道路網を示す。
図12は図11の道路網を2次区画に区画化した結果が分かり易いように2次区画単位で分離して示した説明図であるが、図12での更新領域A、更新領域B、及び更新領域Cの地図情報のバージョンをいずれも0とする。それが、更新領域B及び更新領域Cのみの地図情報を更新することにより、更新領域B及び更新領域Cの地図情報のバージョンが1にバージョンアップするものとする。なお、更新領域Aの地図情報のバージョンは0のままである。
その場合、図6に示された更新領域に関するバージョン管理情報においては、バージョン管理レコード#0(A)の記憶地図情報バージョンは0のままで、バージョン管理レコード#1(B)及びバージョン管理レコード#2(C)の記憶地図情報バージョンは1に設定される。
以上のように、更新領域のバージョンが異なる場合は、更新領域境界で隣接する2次区画同士でバージョンが異なる場合がある。例えば、図28において、2次区画(2,3)−Aと2次区画(2,3)−Bとのバージョンは異なる。さらに、2次区画(2,3)−Cと2次区画(2,3)−Aとのバージョンも異なる。なお、2次区画(2,3)−Cと2次区画(2,3)−Bとのバージョンは同一である。
任意の2次区画における更新領域境界ノードに接続する隣接2次区画の更新領域境界ノードは、上記2次区画同士のバージョンが同一であれば、上記任意の2次区画における更新領域境界ノードの接続レコードの隣接2次区画ノード情報により求めることができる。
一方、上記2次区画同士のバージョンが異なるとき、図28の2次区画(2,3)−Cは、図25に示された道路データを有し、図28に示された2次区画(2,3)−Aは、図14に示された道路データを有している。図25に示された道路データは、隣接2次区画が図13に示された道路データを有することを前提としている。図14に示された道路データは、隣接2次区画が図13に示された道路データを有することを前提としている。その結果、図28に示された2次区画(2,3)−Cと2次区画(2,3)−Aとの道路データ同士は整合しない。
以上のように、任意の2次区画における更新領域境界ノードに接続する隣接2次区画の更新領域境界ノードは、上記2次区画同士のバージョンが異なるときは上記道路データ同士が整合しないため、上記任意の2次区画における更新領域境界ノードの接続レコードの隣接2次区画ノード情報により求めることができない。
地図情報の更新は、更新領域毎に行うため、更新領域内の2次区画のバージョンはすべて同一となる。1次区画を更新領域で区画化したもの、言い換えれば、更新領域を1次区画で区画化したものが2次区画であるから、更新領域内の隣接する2次区画同士は1次区画境界で接する。従って、1次区画境界で隣接する2次区画のバージョンは必ず一致する。例えば、図28において、2次区画(2,3)−Cと1次区画境界で隣接する、2次区画(3,3)−C、2次区画(2,2)−C、及び2次区画(2,4)−Cのバージョンは2次区画(2,3)−Cのバージョンと同一である。
以上により、任意の2次区画における1次区画境界ノードに接続する隣接2次区画の1次区画境界ノードは、上記任意の2次区画における1次区画境界ノードの接続レコードの隣接2次区画ノード情報により求めることができる。
任意の2次区画における境界ノードに接続する隣接2次区画の境界ノードを、上記任意の2次区画における境界ノードの接続レコードの隣接2次区画ノード情報により求める場合に、ノードレコードを固定長として、隣接2次区画内のノード指示情報としてノードレコード番号を用いているため、該当するノードレコードの格納位置を直ちに求めることができる。
なお、隣接2次区画内のノード指示情報として、該当するノードレコードのノード情報先頭からのオフセットを用いても良い。
<地図情報処理装置の動作>
図29は、図1に示された地図情報処理装置の動作を示すフローチャートである。
図29において、地図情報処理装置が起動し、処理が開始されると、まず、ステップST10では、更新情報取得部3に更新用のメモリカードが挿入されたか否かを確認し、挿入されたときはステップST11へ行き、挿入されていなければステップST12へ行く。
ステップST11では、更新情報取得部3に挿入された更新用のメモリカードに記憶されている更新情報を読み取り、読み取った更新情報を用いて地図情報記憶部4に記憶されている地図情報を更新する。更新情報中の1次区画管理レコードの階層名及びメッシュ座標により示される地図情報記憶部4に記憶されている1次区画地図情報中の2次区画地図情報で、更新管理情報の領域識別子が示す更新領域に属する2次区画地図情報を、上記の1次区画管理レコードが管理対象とする更新情報中の2次区画更新情報に書き換える。また、上記更新に従って、地図情報記憶部4に記憶された1次区画管理情報及びバージョン管理情報の変更を行う。以上の更新処理が終了すると、ステップST12へ行く。
なお、ステップST11において、例えば図10の更新情報により、図4に示すレベル2における1次区画(0,0)、1次区画(0,1)、1次区画(1,0)、及び1次区画(1,1)、レベル1における1次区画(1,1)、1次区画(1,2)、1次区画(2,1)、及び1次区画(2,2)、レベル0における1次区画(2,2)、1次区画(2,3)、1次区画(2,4)、1次区画(3,2)、1次区画(3,3)、1次区画(3,4)、1次区画(3,5)、1次区画(4,2)、1次区画(4,3)、1次区画(4,4)、及び1次区画(4,5)の地図情報記憶部4に記憶された各々の1次区画地図情報は、更新領域Cの2次区画地図情報のみが最新のバージョンに更新される。
以上のように、更新領域毎に更新されるため、更新領域の各々の2次区画地図情報のバージョンはすべて同一となる。
次に、ステップST12において、使用者が地図情報処理装置の動作を指示するための指示信号を入力部1に入力する。例えば、地図の表示縮尺、目的地、経路計算の開始指示等の指示信号を入力する。その後、ステップST13へ行く。
次に、ステップST13では、位置検出部2から車両の現在位置を取得し、ステップST14へ行く。
次に、ステップST14では、ステップST12で入力された指示信号及びステップST13で取得した現在位置に基づいて定まる所要の階層の所要の1次区画の1次区画地図情報を地図情報記憶部4から取得する。さらに、取得された1次区画地図情報を用いて、各種の地図情報処理を行い、ステップST10へ戻る。以下、上記ステップを繰り返す。
図30は、ステップ14におけるマップマッチング及び経路探索で実行されるノード及びリンクの接続関係により道路網を辿る処理において、2次区画の境界ノードに至り、隣接2次区画へ渡る場合の処理で、2次区画の境界ノードである接続元ノードに対して、接続すべき隣接2次区画の境界ノードである接続先ノードを求める処理の詳細を示すフローチャートである。
図30において、接続元ノードが属する2次区画地図情報を有する1次区画地図情報が、既に地図情報記憶部4から取得されているものとし、接続元ノードのノードレコード番号が指定されているとして以下のような処理が行われる。
以下では図23に示された道路網に対して更新領域B及び更新領域Cの地図情報を更新して得られた図28の道路網において、メッシュ座標(2,3)の1次区画地図情報が取得されており、上記1次区画地図情報に含まれる図25の2次区画(2,3)−Cの2次区画地図情報の境界ノードであるノードN2”、ノードN4’、ノードN7’、ノードN12”、ノードN13’、ノードN19”、及びノードN21’のいずれか1つが接続元ノードとなっており、そのノードレコード番号が指定されているものとする。
図30において、ステップST20では、地図情報記憶部4に記憶されているバージョン管理情報のバージョン管理レコードに記載された記憶地図情報バージョンを参照して、接続元ノードが属する2次区画地図情報のバージョンを求める。すなわち、本ステップにより、接続元ノードが属する2次区画(2,3)−Cの2次区画地図情報は、更新領域Cに属し、更新領域Cの地図情報のバージョンは1に更新されているので、2次区画(2,3)−Cの2次区画地図情報のバージョンとして1が得られる。
次に、ステップST21において、接続元ノードの属する2次区画地図情報の道路データより、接続元ノードのノードレコード番号に対応するノードレコードを取得する。
次に、ステップST22において、ステップST21で取得したノードレコードの接続レコードオフセットが示す接続レコードを取得する。
次に、ステップST23において、ステップST21で取得したノードレコードのノード種別情報が1次区画境界ノードか否かを判断し、1次区画境界ノードのときは、ステップST24へ行き、1次区画境界ノードでないとき、すなわち更新領域境界ノードであるときは、ステップST27へ行く。すなわち、本ステップにおいて、接続元ノードがノードN4’、ノードN12”、ノードN13’、及びノードN21’のときはステップST24へ行き、接続元がノードN2”、ノードN7”、及びノードN19”のときはステップST27へ行く。
次に、ステップST24において、接続元ノードが属する2次区画地図情報が属する1次区画のメッシュ座標と、ステップST22で取得した接続レコードにおける隣接2次区画ノード情報の隣接1次区画情報を用いて、隣接1次区画のメッシュ座標を求め、上記メッシュ座標の1次区画地図情報を地図情報記憶部4から取得する。すなわち、本ステップにより、例えば、接続元ノードN4’に対し、1次区画(3,3)の1次区画地図情報が得られる。
次に、ステップST25において、ステップST24で取得した1次区画地図情報の1次区画地図情報ヘッダを参照して、接続元ノードが属する2次区画地図情報の更新領域と同じ領域の2次区画地図情報の所在を求め、その位置にある2次区画地図情報を隣接2次区画地図情報に指定する。すなわち、本ステップにより、例えば、接続元ノードN4’に対し、1次区画(3,3)の1次区画地図情報に含まれる更新領域がCである2次区画(3,3)−Cの2次区画地図情報が隣接2次区画地図情報に指定される。
次に、ステップST26において、ステップST22で取得した接続レコードにおける隣接2次区画ノード情報の隣接2次区画内のノード指示情報が示すノードレコード番号に対応するノードレコードを、ステップST25で指定した隣接2次区画地図情報の道路データから取得し、ここに接続先ノードが得られたとして処理を終了する。すなわち、本ステップにより、例えば、接続元ノードN4’に対し、2次区画(3,3)−Cの2次区画地図情報のノードN4”が接続先ノードとなる。
以上の処理において、ノードレコードが固定長であり、隣接2次区画内のノード指示情報をノードレコード番号としているため、隣接2次区画内のノード指示情報は、ノードレコードの格納位置を表し、直ちにノードレコードを取得することができる。
次に、ステップST27において、地図情報記憶部4に記憶されているバージョン管理情報を参照して、ステップST22で取得した接続レコードにおける隣接2次区画ノード情報の隣接更新領域情報が示す更新領域の地図情報のバージョンを求め、ステップST20で求めたバージョンと比較する。その結果、バージョンが同一のときはステップST28へ行き、バージョンが異なるときはステップST30へ行く。すなわち、ステップST20で得たバージョンは1で、例えば、接続元ノードがノードN2”の場合、ノードN2”の接続レコードの隣接更新領域情報が示す更新領域はAで、更新領域Aの地図情報のバージョンは0であるため、ステップST30へ行くこととなる。また、接続元ノードがノードN7”であれば、ノードN7”の接続レコードの隣接更新領域情報が示す更新領域はBで、更新領域Bの地図情報のバージョンは1であるため、ステップST28へ行くこととなる。
次に、ステップST28において、接続元ノードが属する1次区画地図情報の1次区画地図情報ヘッダを参照して、ステップST22で取得した接続レコードにおける隣接2次区画ノード情報の隣接更新領域情報が示す更新領域の2次区画地図情報の所在を求め、その位置にある2次区画地図情報を隣接2次区画地図情報に指定する。すなわち、本ステップにより、例えば、接続元ノードがノードN7”である場合、ノードN7”の接続レコードの隣接更新領域情報が示す更新領域はBで、接続元ノードが属する1次区画のメッシュ座標は(2,3)であるので、2次区画(2,3)−Bの2次区画地図情報が隣接2次区画地図情報に指定される。
次に、ステップST29において、ステップST22で取得した接続レコードにおける隣接2次区画ノード情報の隣接2次区画内のノード指示情報が示すノードレコード番号に対応するノードレコードを、ステップST28で指定した隣接2次区画地図情報の道路データから取得し、ここに接続先ノードが得られたとして処理を終了する。すなわち、本ステップにより、例えば、接続元ノードN7”に対し、2次区画(3,3)−Bの2次区画地図情報のノードN7’が接続先ノードとなる。
以上の処理において、ノードレコードが固定長であり、隣接2次区画内のノード指示情報をノードレコード番号としているため、隣接2次区画内のノード指示情報は、ノードレコードの格納位置を表し、直ちにノードレコードを取得できる。
次に、ステップST30において、接続元ノードが属する2次区画地図情報の1次区画地図情報ヘッダを参照して、ステップST22で取得した接続レコードにおける隣接2次区画ノード情報の隣接更新領域情報が示す更新領域の2次区画地図情報の所在を求め、その位置にある2次区画地図情報の更新領域境界ノードの中から接続先ノードとして相応しいノードを見つけて、処理を終了する。
以上のように、地図情報が更新領域を単位として更新された倍における接続元ノードに対する接続先ノードの決定処理において、接続先ノードが1次区画境界ノードであるとき、または接続元ノードが更新領域境界ノードで、隣接する2次区画同士のバージョンが一致するとき、隣接2次区画ノード情報により接続先ノードを取得するので、その処理時間を短縮することができる。
図31は、図30におけるステップST30の接続先ノード検索の処理を詳細に示すためのフローチャートである。
ステップST40において、接続元ノードが属する2次区画地図情報の1次区画地図情報ヘッダを参照して、ステップST22で取得した接続レコードにおける隣接2次区画ノード情報の隣接更新領域情報が示す更新領域の2次区画地図情報の所在を求め、その位置にある2次区画地図情報を隣接2次区画地図情報に指定する。すなわち、本ステップにより、例えば、接続元ノードがノードN2”のとき、ノードN2”の接続レコードの隣接更新領域情報が示す更新領域はAで、接続元ノードが属する1次区画のメッシュ座標は(2,3)であるので、2次区画(2,3)−Aの2次区画地図情報が隣接2次区画地図情報に指定される。なお、上記隣接2次区画地図情報は、更新されていないので、図14に示された道路データを保持し、この道路データは図12の2次区画(2,3)−Aの道路網を表している。
次に、ステップST41において、ステップST40で指定された隣接2次区画地図情報における道路データのノード情報からノードレコードを取得する。ノードレコードは、ステップST41に来る度にノード情報の先頭から順に1つずつ取得する。すなわち、本ステップにより、例えば、接続元ノードがノードN2”のとき、図14に示されたノード情報からノードレコード#0、ノードレコード#1、ノードレコード#2、ノードレコード#3、及びノードレコード#4が、その並びの順に取得される。なお、上記ノードレコードに対応するノードを検索ノードと呼ぶものとする。
次に、ステップST42において、ステップST41で取得したノードレコードのノード種別情報が更新領域境界ノードである場合には、ステップST43へ行き、更新領域境界ノードでない場合は、ステップST46へ行く。すなわち、本ステップにより、例えば、接続元ノードがノードN2”のとき、図12に示された2次区画(2,3)−Aにおいて、ノードN2’及びノードN10”は更新領域境界ノードであるのでステップST43へ行き、これら以外のノードの場合はステップST46へ行く。
次に、ステップST43において、ステップST41で取得したノードレコードの接続レコードオフセットが示す接続レコードを取得する。すなわち、本ステップで検索ノードの接続レコードが得られる。
次に、ステップST44において、接続元ノードが属する2次区画地図情報の更新領域と検索ノードの接続レコードにおける隣接2次区画ノード情報の隣接更新領域情報が示す更新領域とを比較し、更新領域が同一のときはステップST45へ行き、更新領域が異なるときはステップST46へ行く。すなわち、本ステップにより、例えば、接続元ノードがノードN2”のとき、ノードN2”が属する更新領域はCであり、検索ノードがノードN2’であれば、検索ノードの接続レコードの隣接更新領域情報は更新領域Cを示すのでステップST45へ行き、検索ノードがノードN10”であれば、検索ノードの接続レコードの隣接更新領域情報は更新領域Bを示すのでステップST46へ行く。
次に、ステップST45において、ステップST21で取得した接続元ノードのノードレコードのノード座標と、検索ノードのノード座標の離隔距離を求め、離隔距離が所定値以下のときは、ノード座標が一致していると判定し、検索ノードを接続先ノードとする。その上で、ステップST41で取得したノードレコードを接続先ノードのノードレコードとして処理を終了する。また、上記離隔距離が所定値を超えるときは、ノード座標が不一致と判定し、ステップST46へ行く。すなわち、本ステップにより、例えば、接続元ノードがノードN2”のとき、ノードN2”と検索ノードN2’の離隔距離が所定範囲にあれば、ノードN2’を接続先ノードと判定し、そのノードレコードが接続先ノードのノードレコードとなる。
ところで、隣接する2次区画の地図情報のバージョンが同じであれば、接続元ノードと接続先ノードのノード座標は完全に一致するが、バージョンが異なれば、計測誤差等によりノード座標は異なることが起こり得るため、本ステップのように計測誤差等による不一致の程度を考慮し、所定値以下の離隔距離を許容することにより、接続先ノードをより正確に検出することができる。
次に、ステップST46において、ステップST41で取得したノードレコードが、ノード情報の最後のノードレコードであるか否かを確認し、最後のノードレコードであるときは、接続先ノードに該当するノードが存在しないとして処理を終了する。最後のノードレコードでないときは、ステップST41へ戻り上記処理を繰り返す。
実施の形態2.
実施の形態2は、実施の形態1における更新領域境界ノードの接続レコードに、当該更新領域境界ノードが最初に設けられたバージョンを示す境界ノードバージョン情報を設け、また、実施の形態1における図31に示された処理フローを図33に示された処理フローに置き換えたものである。
図32は、実施の形態2の更新領域境界ノードに対する接続レコードのデータ構成例である。なお、更新領域境界ノード以外のノードに対する接続レコードのデータ構成は実施の形態1と同じである。
図33は、図31のフローチャートにステップST50、ステップST51、及びステップST52を追加したもので、ステップST50とステップST51以外は実施の形態1と同様の処理を行う。
ステップST50において、ステップST22で取得した接続レコードから当該接続元ノードの境界ノードバージョン情報を取得する。
次に、ステップST51において、ステップST50で取得した当該接続元ノードの境界ノードバージョン情報が表すバージョンと、ステップST27で取得した隣接2次区画のバージョンとを比較し、当該接続元ノードの境界ノードバージョン情報が表すバージョンが新しいときは、隣接2次区画に接続先ノードが存在しないとして処理を終了する。また、バージョンが新しくないときは、ステップST40へ行く。すなわち、接続元ノードが最初に設けられたバージョンが隣接2次区画のバージョンより新しければ、上記隣接2次区画の作成時点よりも後に設けられているため、接続先ノードは上記隣接2次区画には存在しないことが判定でき、本ステップにより、ステップST40以降の処理を行わずに接続先ノードが存在しないことが判定でき、処理時間を短縮できる。
さらに、ステップST52において、ステップST50で取得した接続元ノードの境界ノードバージョン情報が表すバージョンが、ステップST43で取得した検索ノードの接続レコードが保持する境界ノードバージョン情報が表すバージョンより新しくないときは、ステップST45へ行き、新しいときは、ステップST41で得た検索ノードは接続先ノードではないとしてステップST46へ行く。
接続元ノードが最初に設けられたバージョンが検索ノードが最初に設けられたバージョンより新しいときは、検索ノードは接続元ノードより以前から存在している接続先ノードでは有り得ず、この検索ノードに対しステップST45の処理を行わないので、処理時間を短縮することができる。
実施の形態3.
実施の形態3は、更新領域境界ノードが近接して複数存在する場合でも接続先ノードを正確に決定するようにしたもので、実施の形態2における図33のフローチャートで表された処理フローを図34のフローチャートで表された処理フローに置き換えたものである。
図34は、図33のフローチャートで表された処理フローにステップST60からステップST64までの処理ステップを追加したものである。
ステップST60においては、接続元ノードが属する2次区画地図情報における道路データのノード情報を検索し、接続元ノードから所定距離以内に位置する更新領域境界ノードである近傍境界ノードを求め、それらのノードの数、ノードレコード番号、及びノード座標を例えばプロセッサ5の主記憶メモリに保持する。
また、ステップST45において、離隔距離が所定値以下の場合は、検索ノードが接続先ノードであると判定して、ステップST61において、検索ノードのノードレコード番号及びノード座標をプロセッサ5の主記憶メモリに保持する。また、上記保持した検索ノードの数をプロセッサ5の主記憶メモリに保持する。すなわち、本ステップにより、接続元ノードの近傍に存在する隣接2次区画の更新領域境界ノードである隣接近傍境界ノードがプロセッサ5の主記憶メモリに保持される。
次に、ステップST62において、接続元ノードとステップST60で得られた各近傍境界ノードとの位置関係を求める。すなわち、N個の近傍境界ノードが得られたとき、各近傍境界ノードiに対し、接続元ノードに対する近傍境界ノードiのノード座標の変位を示すベクトルViを求め、位置関係ベクトル列RSとして{V1,V2,・・・,VN}を得る。
図35は、近傍境界ノードと隣接近傍境界ノードの例である。ノードNa2を接続元ノードとし、その近傍にある更新単位領域境界ノードをNa1及びNa3とする。ノードNa1’、Na2’、及びNa3’は隣接近傍境界ノードで、それぞれノードNa1、Na2、及びNa3が表す地理的実体と同じ地理的実体を表しているが、更新されたことにり、それらのノード座標が誤差の範囲で移動している。
図36は、接続元ノードに対する近傍境界ノードの変位を示すベクトルの例である。図36において、ノードNa1、Na2、及びNa3は、図34に示されたノードNa1、Na2、及びNa3と同一である。また、ベクトルV1は、接続元ノードNa2に対するノードNa1のノード座標の変位を示し、ベクトルV2は、接続元ノードノードNa2に対するノードNa3のノード座標の変位を示す。従って、図36において、位置関係ベクトル列RSとして{V1,V2}が得られる。
次に、ステップST63において、ステップST62で得られた各隣接近傍境界ノードについて、他の隣接近傍境界ノードとの位置関係を求める。すなわち、N+1個の隣接近傍境界ノードが得られたとき、各隣接近傍境界ノードjに対する他の隣接近傍境界ノードkのノード座標の変位を示すベクトルUjk(k≠j)を求め、次のようなN個の位置関係ベクトル列を得る。
隣接近傍境界ノード1の位置関係ベクトル列RD1:
{U12,U13,U14,・・・,U1N}
隣接近傍境界ノード2の位置関係ベクトル列RD2:
{U21,U23,U24,・・・,U2N}
隣接近傍境界ノード3の位置関係ベクトル列RD3:
{U31,U32,U34,・・・,U3N}
・・・(中途省略)・・・
隣接近傍境界ノードNの位置関係ベクトル列RDN:
{UN1,UN2,UN3,・・・,UNN−1}
図37は、隣接近傍境界ノード間の変位を示すベクトルの例である。図37において、ノードNa1’、Na2’、及びNa3’は図35に示された隣接近傍境界ノードである。また、ベクトルUaは、ノードNa1’に対するノードNa2’のノード座標の変位を示し、ベクトルUbは、接続元ノードノードNa2’に対するノードNa3’のノード座標の変位示し、ベクトルUcは、接続元ノードノードNa3’に対するノードNa1’のノード座標の変位示す。
図36において、下記位置関係ベクトル列が得られる。
ノードNa1’の位置関係ベクトル列RD1:
{U12= Ua,U13=−Uc}
ノードNa2’の位置関係ベクトル列RD2:
{U21=−Ua,U23= Ub}
ノードNa3’の位置関係ベクトル列RD3:
{U31= Uc,U32=−Ub}
次に、ステップST64において、ステップST63で得た位置関係ベクトル列RD1〜RDNの中から、位置関係ベクトル列を構成するすべてのベクトルが、ステップST62で得た位置関係ベクトル列RSを構成するすべてのベクトルに誤差による差異を除き一致する位置関係ベクトル列を見つけ、その隣接近傍境界ノードを接続先ノードに決定し、そのノードレコードを取得して処理を終了する。
図35、図36、及び図37において、誤差を考慮し、V1と−Uaは同等で、V2とUbは同等とみなし、位置関係ベクトル列RSを{−Ua,Ub}とし、位置関係ベクトル列RD1,RD2,RD3の中から、ベクトル−Ua,Ubから構成される位置関係ベクトル列を見つける。その結果、位置関係ベクトル列RD2が見つかり、ノードNa2’を接続先ノードと決定する。
以上のように、近傍境界ノードの位置関係と隣接近傍境界ノードの位置関係とから決定するようにしたので、更新領域境界ノードが近接して複数存在する場合でも接続先ノードを正確に決定することができる。
実施の形態4.
実施の形態4は、実施の形態3において、ステップST64で決定された接続先ノードに接続するリンクのリンク属性と、接続元ノードに接続するリンクのリンク属性を求め、それらのリンク属性を比較し、リンク属性が一致した場合はステップST64で決定された接続先ノードを接続ノードと判定し、リンク属性が一致しない場合は接続先ノードが存在しないと判定したものである。
上記リンク属性として、一方通行規制など、道路が更新単位領域を跨いでも変化しないリンク属性を用いる。なお、上記リンク属性は、接続先ノード又はの接続元ノードのノードレコードよりその接続レコードを求め、その接続レコードの接続リンクレコード番号が示すリンクレコードより求める。
道路が更新単位領域を跨いでも変化しないリンク属性を用いて、接続元ノードに接続するリンクと接続先ノードに接続するリンクとの整合性を確認しているので、より正確に接続先ノードを決定できる。
実施の形態1において、同一階層における1次区画はすべて同じ大きさとしたが、地図情報のデータサイズが所定値を超える1次区画では、更に小さな1次区画に分割してもよい。
また、隣接する更新領域の組毎に、更新領域境界ノードのノードレコードを連続して並べてもよく、更に上記連続して並べたノードレコードを隣接する更新領域の組に関連付けて管理してもよい。
さらに、実施の形態3において、近傍境界ノード及び隣接近傍境界ノードを、接続元ノードが最初に設けられたバージョンと同一バージョンのノードに限定してもよい。
また、上記実施の形態1乃至実施の形態4において、作成範囲が経線及び緯線により囲まれた矩形領域であるとみなして説明したが、高緯度の地域のように、矩形領域とみなせない場合においても、本願発明に係る技術的思想は適用可能で、同様の効果を奏する。その場合は、作成範囲は例えば曲線の経線及び曲線の緯線により囲まれた2次元の平面領域ないしは3次元の曲面領域となる点だけが相違する。