(57)【要約】  本発明は、リンクがメッシュを跨って存在する場合であってもリンクとノードとの接続情報を生成することが可能な地図情報処理装置を提供することを目的とする。本発明による地図情報処理装置は、メッシュに設けられたノードとリンクとで道路網を規定し、ノードに接続されるリンクの情報と当該リンクが属するメッシュの情報とを含む接続リンク情報を有する道路網データを地図情報に含めてメッシュごとに記憶する地図情報記憶手段と、道路網データ取得手段にて取得された道路網データの接続リンク情報に基づき、リンクがメッシュを跨がない場合は当該メッシュの道路網データの接続リンク情報から、リンクがメッシュを跨ぐ場合は当該リンクの両端のノードが含まれる２つのメッシュの道路網データの接続リンク情報から、リンクの端部に接続されるノードの情報であるリンク端ノード情報を算出するリンク端ノード情報算出手段とを備える。
2013084281.tif 000002
【特許請求の範囲】
【請求項１】
地図情報をメッシュに分割して記憶する記憶手段であって、前記メッシュに設けられたノードと前記ノード間を接続するリンクとで道路網を規定し、前記ノードに接続されるリンクの情報と当該リンクが属する前記メッシュの情報とを含む接続リンク情報を有する道路網データを、前記地図情報に含めて前記メッシュごとに記憶する地図情報記憶手段と、
前記地図情報記憶手段から所望の前記道路網データを取得する道路網データ取得手段と、
前記道路網データ取得手段にて取得された前記道路網データの前記接続リンク情報に基づき、前記リンクが前記メッシュを跨がない場合は、当該メッシュの前記道路網データの前記接続リンク情報から、前記リンクが前記メッシュを跨ぐ場合は、当該リンクの両端の前記ノードが含まれる２つの前記メッシュの前記道路網データの前記接続リンク情報から、前記リンクの端部に接続される前記ノードの情報であるリンク端ノード情報を算出するリンク端ノード情報算出手段と、
を備える、地図情報処理装置。
【請求項２】
前記リンク端ノード情報算出手段にて算出された前記リンク端ノード情報を格納するリンク端ノード情報格納手段をさらに備え、
前記リンク端ノード情報は、前記接続リンク情報に含まれる前記リンクが属する前記メッシュの情報に基づき、前記リンクに対応付けて前記メッシュごとに前記リンク端ノード情報格納手段に格納されることを特徴とする、請求項１に記載の地図情報処理装置。
【請求項３】
前記リンク端ノード情報格納手段は、前記リンク端ノード情報算出手段によって算出された前記リンク端ノード情報と、前記リンク端ノード情報算出手段によって算出されなかった前記リンク端ノード情報とを区別可能に格納することを特徴とする、請求項２に記載の地図情報処理装置。
【請求項４】
前記リンク端ノード情報算出手段は、前記リンクが属する前記メッシュの前記道路網データを前記道路網データ取得手段が取得しない場合は、前記リンク端ノード情報を算出しないことを特徴とする、請求項１に記載の地図情報処理装置。
【請求項５】
前記道路網データは、前記メッシュを３つ以上跨るリンクを含まないことを特徴とする、請求項１に記載の地図情報処理装置。
【請求項６】
前記道路網データ取得手段は、処理の対象となるメッシュである対象メッシュの前記道路網データと、前記対象メッシュに隣接するメッシュである隣接メッシュの前記道路網データとを取得することを特徴とする、請求項５に記載の地図情報処理装置。
【請求項７】
前記隣接メッシュは、前記対象メッシュを基準として、上、右上、右、右下、下、左下、左、左上の各メッシュを含むことを特徴とする、請求項６に記載の地図情報処理装置。
【請求項８】
前記道路データ取得手段が取得した前記道路網データに含まれるリンクが属する前記メッシュは、前記対象メッシュまたは前記隣接メッシュであることを特徴とする、請求項７に記載の地図情報処理装置。
【請求項９】
前記道路データ取得手段が取得した前記道路網データに含まれるノードが属する前記メッシュは、前記対象メッシュまたは前記隣接メッシュであることを特徴とする、請求項７に記載の地図情報処理装置。
【請求項１０】
前記リンク端ノード情報に含まれる前記ノードにノード番号を付し、当該ノード番号と前記ノードのオフセットとを対応付けるノードオフセットテーブルをさらに備えることを特徴とする、請求項１に記載の地図情報処理装置。
【請求項１１】
前記接続リンク情報に含まれる前記リンクにリンク番号を付し、当該リンク番号と前記リンクのオフセットとを対応付けるリンクオフセットテーブルをさらに備えることを特徴とする、請求項１に記載の地図情報処理装置。
【請求項１２】
前記接続リンク情報と前記リンク端ノード情報とに基づき、前記道路網の接続関係を算出する道路網接続関係算出手段をさらに備えることを特徴とする、請求項１に記載の地図情報処理装置。
【請求項１３】
前記接続リンク情報と前記リンク端ノード情報とに基づき、前記道路網の接続関係を算出する道路網接続関係算出手段をさらに備え、
前記道路網接続関係算出手段は、前記リンク端ノード情報算出手段によって前記リンク端ノード情報が算出されなかった場合は、当該算出されなかった前記リンク端ノード情報に含まれる前記ノードに対する前記道路網の接続関係を算出しないことを特徴とする、請求項３に記載の地図情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、地図情報処理装置に関し、特に、地図データに基づくマップマッチング処理や経路探索処理を含む地図情報処理を行う地図情報処理装置に関する。
【背景技術】
【０００２】
従来の地図情報処理装置において、地図データはメッシュ（ユニット）ごとに分割して地図データ記憶部に格納され、地図データにはノードからリンク（あるいは、リンクからノード）への接続関係を示す一方側接続情報のみが格納されていた。そして、地図情報処理時には、処理に必要なメッシュの地図データを地図データ記憶部から読み出し、読み出したメッシュ内の一方側接続情報に基づき、リンクからノード（あるいは、ノードからリンク）への接続関係を示す他方側接続情報を生成することによって、読み出した地図データにおける他方側接続情報を補完していた（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００２−３６５０７７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１において、ノードからリンクへの接続関係を示す情報を一方側接続情報とし、リンクが処理の対象となる対象メッシュと、当該対象メッシュに隣接する隣接メッシュとを跨いで存在する場合、リンクのいずれか一端に接続されるノードは隣接メッシュ内に存在するため、当該ノードの一方側接続情報も隣接メッシュ内に存在することになる。しかし、特許文献１では、上記の対象メッシュ内で一方側接続情報に基づく他方側接続情報を生成している（すなわち、単一のメッシュ内でのみ接続情報を生成している）ため、上記のようにリンクが対象メッシュと隣接メッシュとを跨いで存在している場合は、リンクから対象メッシュのノードへの他方側接続情報を生成することができないという問題があった。【０００５】
本発明は、これらの問題を解決するためになされたものであり、リンクがメッシュを跨って存在する場合であってもリンクとノードとの接続情報を生成することが可能な地図情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記の課題を解決するために、本発明による地図情報処理装置は、地図情報をメッシュに分割して記憶する記憶手段であって、メッシュに設けられたノードとノード間を接続するリンクとで道路網を規定し、ノードに接続されるリンクの情報と当該リンクが属するメッシュの情報とを含む接続リンク情報を有する道路網データを、地図情報に含めてメッシュごとに記憶する地図情報記憶手段と、地図情報記憶手段から所望の道路網データを取得する道路網データ取得手段と、道路網データ取得手段にて取得された道路網データの接続リンク情報に基づき、リンクがメッシュを跨がない場合は、当該メッシュの道路網データの接続リンク情報から、リンクがメッシュを跨ぐ場合は、当該リンクの両端のノードが含まれる２つのメッシュの道路網データの接続リンク情報から、リンクの端部に接続されるノードの情報であるリンク端ノード情報を算出するリンク端ノード情報算出手段とを備える。
【発明の効果】
【０００７】
本発明によると、地図情報をメッシュに分割して記憶する記憶手段であって、メッシュに設けられたノードとノード間を接続するリンクとで道路網を規定し、ノードに接続されるリンクの情報と当該リンクが属するメッシュの情報とを含む接続リンク情報を有する道路網データを、地図情報に含めてメッシュごとに記憶する地図情報記憶手段と、地図情報記憶手段から所望の道路網データを取得する道路網データ取得手段と、道路網データ取得手段にて取得された道路網データの接続リンク情報に基づき、リンクがメッシュを跨がない場合は、当該メッシュの道路網データの接続リンク情報から、リンクがメッシュを跨ぐ場合は、当該リンクの両端のノードが含まれる２つのメッシュの道路網データの接続リンク情報から、リンクの端部に接続されるノードの情報であるリンク端ノード情報を算出するリンク端ノード情報算出手段とを備えるため、リンクがメッシュを跨って存在する場合であってもリンクとノードとの接続情報を生成することが可能となる。
【図面の簡単な説明】
【０００８】
【図１】本発明の実施の形態による地図情報処理装置の構成の一例を示すブロック図である。
【図２】本発明の実施の形態による地図情報記憶部に記憶された地図情報のデータ構造の一例を示す図である。
【図３】本発明の実施の形態による道路網データの構造の一例を示す図である。
【図４】本発明の実施の形態による隣接メッシュコードの一例を示す図である。
【図５】本発明の実施の形態によるリンクの接続方向の一例を示す図である。
【図６】本発明の実施の形態による道路網の一例を示す図である。
【図７】本発明の実施の形態による図６のメッシュＭＡにおけるノードリストに格納される各ノードレコードの一例を示す図である。
【図８】本発明の実施の形態による図６のメッシュＭＡにおけるリンクリストに格納される各リンクレコードの一例を示す図である。
【図９】本発明の実施の形態による図６のメッシュＭＢにおけるノードリストに格納される各ノードレコードの一例を示す図である。
【図１０】本発明の実施の形態による図６のメッシュＭＢにおける各リンクリストの一例を示す図である。
【図１１】本発明の実施の形態によるリンク端ノードテーブルの一例を示す図である。
【図１２】本発明の実施の形態によるリンクオフセットテーブルの一例を示す図である。
【図１３】本発明の実施の形態によるノードオフセットテーブルの一例を示す図である。
【図１４】本発明の実施の形態によるリンクとメッシュとの関係の一例を示す図である。
【図１５】本発明の実施の形態による道路網補助データを生成する処理動作を示すフローチャートである。
【図１６】本発明の実施の形態によるプロセッサにおけるメモリの内容の一例を示す図である。
【図１７】本発明の実施の形態によるメッシュＭＡに対して生成されたリンク端ノードテーブルの一例を示す図である。
【図１８】本発明の実施の形態によるメッシュＭＢに対して生成されたリンク端ノードテーブルの一例を示す図である。
【図１９】本発明の実施の形態による道路網補助データの生成の詳細な処理動作を示すフローチャートである。
【図２０】本発明の実施の形態による対象メッシュがＭＡの場合におけるメッシュＭＡのリンク端ノードテーブルの格納状態の一例を示す図である。
【図２１】本発明の実施の形態による対象メッシュがＭＡの場合におけるメッシュＭＢのリンク端ノードテーブルの格納状態の一例を示す図である。
【図２２】本発明の実施の形態による対象メッシュがＭＢの場合におけるメッシュＭＢのリンク端ノードテーブルの格納状態の一例を示す図である。
【図２３】本発明の実施の形態による隣接ノードを算出する処理動作を示すフローチャートである。
【図２４】本発明の実施の形態による隣接ノードリストの一例を示す図である。
【発明を実施するための形態】
【０００９】
本発明の実施の形態について、図面に基づいて以下に説明する。
【００１０】
〈実施の形態〉
まず、本発明の実施の形態による地図情報処理装置の構成について説明する。
【００１１】
図１は、本発明の実施の形態による地図情報処理装置の構成の一例を示すブロック図である。図１に示すように、本実施の形態による地図情報処理装置は、入力部１と、位置検出部２と、地図情報記憶部３と、プロセッサ４と、表示部５と、音声出力部６とを備えている。
【００１２】
入力部１は、使用者の操作または指示に基づく指示信号をプロセッサ４に伝達する操作スイッチ群であり、入力手段として機能する。
【００１３】
位置検出部２は、例えば、ＧＰＳ（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ）受信機、車速センサ、加速度センサ、角速度センサ等を用いて位置検出を行う位置検出手段として機能する。位置検出部２は、本実施の形態による地図情報処理装置を保持する移動体の現在位置を検出し、検出した現在位置を示す位置情報をプロセッサ４に伝達する。
【００１４】
地図情報記憶部３（地図情報記憶手段）は、例えば、地図情報を記録する媒体としてハードディスクドライブにより構成される地図情報記憶手段として機能する。地図情報記憶部３には、後述の地図情報が予め記憶されている。
【００１５】
プロセッサ４は、入力部１から取得した指示信号、位置検出部２から取得した位置情報、および地図情報記憶部３から読み出した地図情報に基づき、各種の地図情報処理を行う地図情報処理手段として機能する。
【００１６】
また、プロセッサ４は、描画メモリ（図示せず）、描画処理部（図示せず）、表示制御部（図示せず）を有しており、所定の図形は描画処理部によって描画メモリに描画され、描画メモリに描画された内容（例えば、所定の図形）は表示制御部によって表示部５に表示される。
【００１７】
プロセッサ４にて行われる各種の地図情報処理としては、位置検出部２から取得した位置情報と地図情報記憶部３から読み出した地図情報とに基づいて移動体の現在位置を推定するマップマッチング処理や、出発地から目的地までの経路を算出する経路探索処理や、経路探索処理によって得られた経路に従って出発地から目的地まで案内を行う経路誘導処理や、現在位置周辺の地図表示処理や、都市、道路、施設、住所、電話番号、交差点等の各種情報を検索する各種検索処理等が含まれる。
【００１８】
また、地図情報記憶部３から読み出した地図情報に基づき、マップマッチング処理により推定された現在位置を中心とした地図の描画や、当該描画された地図上に上記の地図情報処理によって得られた移動体の現在位置、経路探索処理によって得られた好適な経路、当該経路に従って出発地から目的地まで案内を行うための案内情報の描画や、各種入力情報の描画や、検索によって得られた各種情報の描画等、プロセッサ４の描画処理部による描画処理も上記の地図情報処理に含まれる。
【００１９】
表示部５は、例えば、液晶ディスプレイからなる表示装置であり、表示手段として機能する。表示部５は、プロセッサ４の描画処理部による上記各種の描画処理に従って描画メモリに描画された内容を、プロセッサ４の表示制御部の制御に基づいて表示する。
【００２０】
音声出力部６は、プロセッサ４によって行われた各種の地図情報処理の結果として得られた情報を音声で使用者に伝える音声出力手段として機能する。音声出力部６は、例えば、経路探索処理によって得られた好適な経路に従って出発地から目的地まで案内を行うための情報や、検索によって得られた各種情報等を音声で使用者に伝える。
【００２１】
次に、地図情報記憶部３に記憶される地図情報について説明する。
【００２２】
地図情報記憶部３に記憶される地図情報は、地図を所定の間隔の緯度および経度によって囲まれた４辺形の領域で区画されたメッシュごとに管理される。すなわち、地図情報記憶部３は、地図情報をメッシュに分割して記憶している。また、地図情報は、情報の詳細さの度合いによって階層化され、各階層で区画されたメッシュごとに管理される。
【００２３】
また、階層を識別するために、最も詳細な情報を有する階層から順に０，１，２、・・・と各階層に対して番号（階層番号）を付与する。
【００２４】
また、各階層において、メッシュを識別するために、各メッシュに対して固有の番号（メッシュ番号）を付与する。例えば、ある階層のメッシュが、地図における緯度方向に１６分割、かつ、経度方向に１６分割して得られる２５６個の領域であるとすると、当該階層の各メッシュには０〜２５５のメッシュ番号が付与される。なお、以下では、処理の対象となるメッシュを対象メッシュ、当該対象メッシュに隣接するメッシュを隣接メッシュとも称する。
【００２５】
図２は、本実施の形態による地図情報記憶部３に記憶された地図情報のデータ構造の一例を示す図である。図２に示すように、地図情報記憶部３に記憶される地図情報は、地図管理情報、地図データ、検索情報を有している。以下、地図管理情報、地図データ、検索情報について順に説明する。
【００２６】
まず、地図管理情報について説明する。
【００２７】
地図管理情報は、地図情報のバージョンを示すバージョン情報や、階層ごとに各地図データを管理する階層管理情報や、各種の検索情報を管理する検索管理情報等を有している。また、階層管理情報は、各メッシュのメッシュ番号、地図情報における地図データの格納位置、データサイズ等の情報を階層ごとに有している。
【００２８】
次に、地図データについて説明する。
【００２９】
地図データは、地図データヘッダ、道路網データ、背景データ、名称データ、経路誘導データを有し、各階層の各メッシュに対応して設けられている。また、地図データヘッダは地図データ内の各データを管理する情報を有し、道路網データは各メッシュにおける道路網を示す情報を有し、背景データは河川、海等を示す面データや、線状の河川、鉄道等を示す線データや、施設シンボル等を示す点データを有し、名称データは地名、河川、海、鉄道、施設等の名称の情報を有し、経路誘導データは交差点等での経路案内に必要な情報を有している。
【００３０】
次に、検索情報について説明する。
【００３１】
検索情報は、都市、道路、施設、住所、電話番号、交差点等の各種情報を検索するための各種の検索情報を有している。
【００３２】
図３は、地図データに含まれる道路網データの構造の一例を示す図である。道路網データは、交差点または道路上の地点を示すノードと、ノード間を接続する道路を示すリンクとで規定される道路網のデータであり、図３に示すように、道路網データヘッダ、ノードリスト、リンクリスト、形状リストを有する。以下、道路網データヘッダ、ノードリスト、リンクリスト、形状リストについて順に説明する。
【００３３】
まず、道路網データヘッダについて説明する。
【００３４】
道路網データヘッダは、都市計画法に基づいて計画された道路の有無を示す計画道路有無情報と、メッシュ内に存在するノードの数を示すノード数と、メッシュ内に存在するリンクの数を示すリンク数と、道路網データにおけるノードリスト、リンクリスト、および形状リストの格納位置やデータサイズを示すリスト管理情報といった、道路網データの管理に必要な情報を有する。
【００３５】
次に、ノードリストについて説明する。
【００３６】
ノードリストは、メッシュ内に存在する各ノードに対応して設けられたノードレコードを有する。ここで、ノードリストにおけるノードレコードの並び順に合わせたノード番号を各ノードレコードに付与するものとする。
【００３７】
また、ノードレコードは、ノードの地理的位置を示すノード座標と、ノードに接続するリンクの数を示す接続リンク数と、ノードに接続する各リンクに対応する情報を示す接続リンク情報を接続リンク数分だけ示す接続リンクテーブルとを有する。なお、以下では、ノードに接続するリンクのことを接続リンクとも称する。
【００３８】
さらに、接続リンク情報は、ノードに接続するリンクが属するメッシュの情報である接続リンクメッシュ情報と、ノードに接続するリンクの情報である接続方向および接続リンク番号とを有する。
【００３９】
接続リンクメッシュ情報は、ノードに接続するリンクが属するメッシュを隣接メッシュコードで示す。すなわち、接続リンクメッシュ情報は、対象メッシュおよび隣接メッシュに対して隣接メッシュコードを対応付けることで示される。
【００４０】
図４は、本実施の形態による隣接メッシュコードの一例を示す図である。図４に示すように、隣接メッシュは、対象メッシュを基準として上、右上、右、右下、下、左下、左、左上の各メッシュを含んでおり、対象メッシュおよび隣接メッシュは隣接メッシュコード「０」〜「８」で示される。このうち、対象メッシュの隣接メッシュコードを「０」で示し、隣接メッシュの隣接メッシュコードを「１」〜「８」で示す。本実施の形態において、地図情報記憶部３から読み出された道路網データに含まれるリンクおよびノードのそれぞれが属するメッシュは、対象メッシュまたは隣接メッシュであり、当該属するメッシュを隣接メッシュコードで示している。このように、各メッシュを、対象メッシュを基準とした隣接メッシュコードで示すことによって、各メッシュをメッシュ固有の情報で示す場合に比べて情報量を削減することができる。
【００４１】
接続方向は、ノードに接続するリンクが当該ノードに対して順方向または逆方向のいずれの方向に接続しているのかを示す。リンクが順方向の場合はノードをリンクの始点（始点ノード）とし、リンクが逆方向の場合はノードをリンクの終点（終点ノード）とする。
【００４２】
図５は、本実施の形態によるリンクの接続方向の一例を示す図である。図５に示すように、リンクＬｘ（接続リンクＬｘ）は、ノードＮｘ１とノードＮｘ２との間を接続している。ノードＮｘ１を始点ノードとし、ノードＮｘ２を終点ノードとすると、リンクＬｘは、始点ノードＮｘ１に対して順方向であり、終点ノードＮｘ２に対して逆方向となる。なお、始点ノードおよび終点ノードは、道路網データ作成時に任意に定められるものとする。
【００４３】
接続リンク番号は、ノードに接続するリンクの番号であるリンク番号を示す。
【００４４】
次に、リンクリストについて説明する。
【００４５】
リンクリストは、メッシュ内に存在する各リンクに対応して設けられたリンクレコードを有する。ここで、リンクリストにおけるリンクレコードの並び順に合わせたリンク番号を各リンクレコードに付与するものとする。
【００４６】
また、リンクレコードは、リンクの道路種別、幅員、リンク長等の各種属性を示すリンク属性情報と、リンクに対応する形状レコードの形状リストにおける格納位置を示す形状レコード格納位置とを有する。
【００４７】
本実施の形態において、リンクレコードには、リンクに接続するノードを示す情報（始点ノードおよび終点ノードのノード番号）が格納されていない。従って、地図情報記憶部３に記憶される道路網データのデータ量を削減することができる。
【００４８】
また、リンクが複数のメッシュを跨る場合（後述する）において、当該リンクは始点ノードが存在するメッシュに属するものとし、リンクレコードは当該リンクが属するメッシュのリンクリストに格納されるものとする。従って、リンクが複数のメッシュを跨る場合は、リンクレコードをリンクの両端のノードが存在するメッシュの双方に格納しないため（すなわち、リンクの一端のノードが存在するメッシュのリンクリストのみにリンクレコードを格納するため）、地図情報記憶部３に記憶される道路網データのデータ量を削減することができる。
【００４９】
次に、形状リストについて説明する。
【００５０】
形状リストは、メッシュ内に存在するリンクに対応して設けられた形状レコードを有する。
【００５１】
また、形状レコードは、リンクの道路形状の形状点の数を示す形状点数と、リンクの道路形状を折れ線近似で表し、表された折れ線の頂点である形状点の地理的位置を示す形状点リストとを有する。
【００５２】
図６は、本実施の形態による道路網の一例を示す図である。図６において、例えば、メッシュＭＡを対象メッシュとした場合、メッシュＭＢは対象メッシュＭＡの右側に隣接する隣接メッシュである。また、メッシュＭＣは隣接メッシュＭＢの右側に隣接しているが、対象メッシュＭＡに隣接していない。すなわち、メッシュＭＣは対象メッシュＭＡの隣接メッシュではない。
【００５３】
図７は、本実施の形態による図６のメッシュＭＡにおけるノードリストに格納される各ノードレコードの一例を示す図である。図７に示すように、メッシュＭＡのノードリストには、ノード番号０，１，２，３がそれぞれ付与されたノードＮＡ０，ＮＡ１，ＮＡ２，ＮＡ３のノードレコードが格納されている。また、上述で説明したように、各ノードレコードとしてノード座標、接続リンク数、接続リンクテーブルが格納されており、さらに、接続リンクテーブルには接続リンク情報として、接続リンクメッシュ情報、接続方向、接続リンク番号が格納されている。
【００５４】
図８は、本実施の形態による図６のメッシュＭＡにおけるリンクリストに格納される各リンクレコードの一例を示す図である。図８に示すように、メッシュＭＡのリンクリストには、リンク番号０，１，２がそれぞれ付与されたリンクＬＡ０，ＬＡ１，ＬＡ２のリンクレコードが格納されている。なお、ノードＮＡ０に接続するリンクＬＢ０はメッシュＭＢに属するため、リンクＬＢ０のリンクレコードはメッシュＭＡのリンクリストには格納されていない。
【００５５】
図９は、本実施の形態による図６のメッシュＭＢにおけるノードリストに格納される各ノードレコードの一例を示す図である。図９に示すように、メッシュＭＢのノードリストには、ノード番号０，１，２がそれぞれ付与されたノードＮＢ０，ＮＢ１，ＮＢ２のノードレコードが格納されている。
【００５６】
図１０は、本実施の形態による図６のメッシュＭＢにおける各リンクリストの一例を示す図である。図１０に示すように、メッシュＭＢのリンクリストには、リンク番号０，１，２，３がそれぞれ付与されたリンクＬＢ０，ＬＢ１，ＬＢ２，ＬＢ３のリンクレコードが格納されている。
【００５７】
上記より、本実施の形態による地図情報記憶部３（地図情報記憶手段）は、地図情報をメッシュに分割して記憶する記憶手段であって、メッシュに設けられたノードと、ノード間を接続するリンクとで道路網を規定し、ノードに接続されるリンクの情報と当該リンクが属するメッシュの情報とを含む接続リンク情報を有する道路データを、地図情報に含めてメッシュごとに記憶している。
【００５８】
次に、図１１〜１３を用いて、道路網補助データについて説明する。
【００５９】
道路網補助データは、プロセッサ４の道路網データ取得手段が地図情報記憶部３から読み出した（取得した）所望の道路網データに基づいて生成され、読み出された道路網データとともにメッシュごとにプロセッサ４のメモリに格納される。道路網補助データは、リンク端ノードテーブル、リンクオフセットテーブル、ノードオフセットテーブルを有する。なお、地図情報記憶部３から所望の道路網データを取得する動作は、プロセッサ４の道路網データ取得手段が行う。
【００６０】
図１１は、本実施の形態によるリンク端ノードテーブルの一例を示す図である。図１１に示すように、リンク端ノードテーブルは、メッシュ内に存在するリンクに対応して設けられたリンク端ノードレコードを有する。
【００６１】
また、リンク端ノードレコードは、リンクに接続されるノードの情報を有し、始点ノードが属するメッシュの隣接メッシュコードを示す始点ノードメッシュ情報と、始点ノードのノード番号と、終点ノードが属するメッシュの隣接メッシュコードを示す終点ノードメッシュ情報と、終点ノードのノード番号とを有する。
【００６２】
ここで、始点ノードメッシュ情報と始点ノード番号とを合わせて始点ノード情報と称し、終点ノードメッシュ情報と終点ノード番号とを合わせて終点ノード情報と称する。また、始点ノード情報、終点ノード情報のいずれか一方または両方をリンク端ノード情報と称する。
【００６３】
上記のようなリンク端ノードテーブルを生成することによって、リンク端ノードテーブルに基づいて、リンクに接続するノードを直ちに求めることができる。
【００６４】
図１２は、本実施の形態によるリンクオフセットテーブルの一例を示す図である。図１２に示すように、リンクオフセットテーブルには、リンクリストにおけるリンクレコードのオフセット（リンクリストの先頭から対象となるリンクレコードの先頭までのバイト数）が格納されている。すなわち、リンクオフセットテーブルは、接続リンク情報に含まれるリンクにリンク番号を付し、当該リンク番号とリンクのオフセットとを対応付けている。リンクオフセットテーブルを生成することによって、ノードレコードに格納されている接続リンク情報の接続リンク番号に基づいて、リンクリストのリンクレコードを直ちに取得することができる。
【００６５】
図１３は、本実施の形態によるノードオフセットテーブルの一例を示す図である。図１３に示すように、ノードオフセットテーブルには、ノードリストにおけるノードレコードのオフセット（ノードリストの先頭から対象となるノードレコードの先頭までのバイト数）が格納されている。すなわち、ノードオフセットテーブルは、リンク端ノード情報に含まれるノードにノード番号を付し、当該ノード番号とノードのオフセットとを対応付けている。ノードオフセットテーブルを生成することによって、リンク端ノードテーブルに格納されているノード番号に基づいて、ノードリストのノードレコードを直ちに取得し、リンクに接続するノードを求めることができる。
【００６６】
次に、本実施の形態による地図情報処理装置の動作について説明する。
【００６７】
まず、本実施の形態によるリンクとメッシュとの関係について説明する。
【００６８】
図１４は、本実施の形態によるリンクとメッシュとの関係の一例を示す図である。図１４に示すように、３つのメッシュのうち最も左側のメッシュを対象メッシュとしており、中央のメッシュを隣接メッシュとしている。
【００６９】
図１４ａでは、リンク（接続リンク）Ｌａの一端のノードは対象メッシュ内に存在し、他端のノードは隣接メッシュではない最も右側のメッシュ内に存在している。そして、リンクＬａは、両端のノードを接続するように、３つのメッシュに跨って存在している。
【００７０】
本実施の形態では、リンクが図１４ａに示すように３つのメッシュに跨って存在する場合は、図１４ｂに示すように隣接メッシュ内に新たにノードを生成し、図１４ａに示すリンクＬａを、図１４に示すリンクＬａ１とリンクＬａ２とに分割することによって、リンクが２つのメッシュに跨って存在するようにしている。すなわち、本実施の形態では、道路網データ作成時に予め、リンクが３つ以上のメッシュを跨る場合は、当該リンクを２つのメッシュを跨るように分割しておく。
【００７１】
例えば、現在地が対象メッシュ内に存在し、現在地周辺でマップマッチング処理や経路探索処理を行なう場合において、図１４ａに示すように、リンクが３つのメッシュに跨って存在する場合は、対象メッシュの道路網と当該対象メッシュから３つ離れたメッシュ（最も右側のメッシュ）の道路網とが直接的に接続しているため、対象メッシュ、隣接メッシュ、および対象メッシュから３つ離れたメッシュの道路網データを地図情報記憶部３から取得して処理を行う必要がある。
【００７２】
一方、図１４ｂに示すように、リンクが２つのメッシュに跨るように存在する場合は、対象メッシュおよび隣接メッシュの道路網データのみを地図情報記憶部３から取得すれば処理を行うことができる。
【００７３】
このように、リンクが３つ以上のメッシュに跨って存在する場合は、２つのメッシュに跨るようにリンクを分割することによって、対象メッシュから３つ以上離れたメッシュの道路網データを地図情報記憶部３から取得する必要がなくなり、道路網データの効率的な読み出しが可能となる。また、地図情報記憶部３から読み出す道路網データのデータ量が削減されるため、地図情報記憶部３に対するアクセスが早くなる。以下、本実施の形態では、リンクは２つのメッシュに跨って存在するものとして説明する。
【００７４】
次に、道路網補助データの生成について説明する。
【００７５】
図１５は、本実施の形態による道路網補助データを生成する処理動作を示すフローチャートであり、経路探索処理やマップマッチング処理において、現在地を含むメッシュと、当該メッシュに隣接する隣接メッシュとの道路網補助データを生成する。また、図１６は、本実施の形態によるプロセッサ４におけるメモリの内容の一例を示す図であり、プロセッサ４のメモリに格納される各データを用いて、道路網補助データの生成、あるいは後述の隣接ノードの算出を行う。以下では、図６に示す道路網を一例として説明する。図６において、現在地が存在するメッシュをメッシュＭＡ（隣接メッシュコード＝０）とし、メッシュＭＡの右側に隣接する隣接メッシュをメッシュＭＢ（隣接メッシュコード＝３）とする。メッシュＭＢ以外の隣接メッシュ（隣接メッシュコード＝１，２，４〜８）はメッシュＭＢと同様であるため、ここでは説明を省略する。なお、道路網補助データは、プロセッサ４による処理によって生成され、特に、リンク端ノード情報は、リンク端ノード情報算出手段によって算出される。
【００７６】
図１５に示すように、道路網補助データを生成する処理動作が開始されると、プロセッサ４は、現在地が存在するメッシュ（メッシュＭＡ）の道路網データ（図３参照）を地図情報記憶部３から読み出し、プロセッサ４のメモリに格納する（図１６参照）。具体的には、メッシュＭＡのノードリスト（図７参照）、リンクリスト（図８参照）、形状リスト（図示せず）を読み出す（ステップＳ１５０１）。
【００７７】
ステップＳ１５０１の後、メッシュＭＡのリンク端ノードテーブルをプロセッサ４のメモリに生成し（図１６参照）、生成されたリンク端ノードテーブルのすべてのリンク端ノードレコードに対して初期化を行う（ステップＳ１５０２）。すなわち、始点ノードメッシュ情報は無効を示す値（例えば、０ｘＦ）に設定し、始点ノード番号は所定の値（例えば、０ｘＦＦＦＦ）に設定し、終点ノードメッシュ情報は無効を示す値（例えば、０ｘＦ）に設定し、終点ノード番号は所定の値（例えば、０ｘＦＦＦＦ）に設定する。
【００７８】
図１７は、本実施の形態によるメッシュＭＡに対して生成されたリンク端ノードテーブルの一例を示す図である。図１７に示すように、メッシュＭＡのリンク端ノードテーブルにおける各リンクＬＡ０，ＬＡ１，ＬＡ２に対応するリンク端ノードレコードには、上記の各値が設定される。
【００７９】
ステップＳ１５０２の後、メッシュＭＡのリンクオフセットテーブルをプロセッサ４のメモリに生成し（図１６参照）、道路網データのリンクリストにおける各リンクレコードのオフセットを算出してリンクオフセットテーブルに設定する（ステップＳ１５０３）。なお、リンクレコードのオフセットは、初期値を０（すなわち、リンクリストにおける先頭のリンクレコードのオフセット値を０）とし、各リンクレコードのサイズ（バイト数）を累積的に加算して得られる値であるものとする。
【００８０】
ステップＳ１５０３の後、すべてのメッシュ（隣接メッシュコード＝０〜８）の道路網データを地図情報記憶部３から読み出したか否かの判断を行う（ステップＳ１５０４）。
【００８１】
ステップＳ１５０４において、すべてのメッシュの道路網データを読み出していないと判断した場合は、ステップＳ１５０１に移行し、次のメッシュの道路網データを読み出す。ここでは、メッシュＭＡの次のメッシュであるメッシュＭＢの道路網データを読み出す。具体的には、メッシュＭＢのノードリスト（図９参照）、リンクリスト（図１０参照）、形状リスト（図示せず）を読み出す。以降、メッシュＭＢに対する処理（ステップＳ１５０２，１５０３）はメッシュＭＡに対する処理と同様である。一例として、ステップＳ１５０２にて生成・初期化されたメッシュＭＢのリンク端ノードテーブルを図１８に示す。上記のステップＳ１５０１〜ステップＳ１５０４の処理を、現在地が存在するメッシュとすべての隣接メッシュに対して順に行う。すなわち、隣接コード０〜８の順に処理を行う。
【００８２】
一方、ステップＳ１５０４において、すべてのメッシュの道路網データを読み出したと判断した場合は、読み出したメッシュの道路網データに基づいて、道路網補助データの生成を行う（ステップＳ１５０５）。具体的には、ステップＳ１５０２にて生成された各メッシュにおけるリンク端ノードテーブルの設定や、各メッシュのノードオフセットテーブルをプロセッサ４のメモリに生成し（図１６参照）、道路網データのノードリストにおける各ノードレコードのオフセットを算出してリンクオフセットテーブルに設定する（ステップＳ１５０３）。道路網補助データの生成の詳細については後述する。
【００８３】
ステップＳ１５０５の後、すべてのメッシュの道路網補助データの生成を終了したか否かの判断を行う（ステップＳ１５０６）。
【００８４】
ステップＳ１５０６において、すべてのメッシュの道路網補助データの生成を終了していないと判断した場合は、ステップＳ１５０５に移行し、次のメッシュの道路網補助データを生成する。上記のステップＳ１５０５，１５０６の処理を、現在地が存在するメッシュとすべての隣接メッシュに対して順に行う。すなわち、隣接コード０〜８の順に処理を行う。
【００８５】
一方、ステップＳ１５０６において、すべてのメッシュの道路網補助データの生成を終了したと判断した場合は、道路網補助データの生成する処理動作を終了する。
【００８６】
上記より、プロセッサ４によって現在地が存在するメッシュおよび隣接メッシュの道路網データが読み出され、読み出された道路網データに基づいて、図１６に示すような各メッシュの道路網補助データ（リンク端ノードテーブル、リンクオフセットテーブル、ノードオフセットテーブル）が生成される。また、本実施の形態では、前述の通り、リンクが３つ以上のメッシュに跨る場合はリンクを分割し、リンクが２つのメッシュに跨るようにしているため、プロセッサ４の道路網データ取得手段は、処理の対象となるメッシュである対象メッシュの道路網データと、対象メッシュに隣接するメッシュである隣接メッシュの道路網データといを地図情報記憶部３から読み出せばよい。従って、３つ以上離れた不要なメッシュの道路網データの読み出しを防止することができる。
【００８７】
次に、道路網補助データの生成の詳細について説明する。
【００８８】
図１９は、本実施の形態による道路網補助データの生成の詳細な処理動作を示すフローチャートである。図１９に示す道路網補助データの生成は、図１５のステップＳ１５０５における処理に対応しており、上述の通り各メッシュに対して順に行われる。
【００８９】
図１５のステップＳ１５０１〜１５０４の処理によって、すべてのメッシュの道路網データが取得されると、プロセッサ４は、図１６に示すように、対象メッシュのノードオフセットテーブルをプロセッサ４のメモリに生成する（ステップＳ１９０１）。
【００９０】
ステップＳ１９０１の後、プロセッサ４のメモリに生成されている参照レコードオフセット（図１６参照）の初期化（例えば、０に設定）を行う（ステップＳ１９０２）。参照レコードオフセットは、参照するノードレコードのオフセットを記憶するために用いられる。初期化を行うことによって、参照レコードオフセットは、対象メッシュのノードリストの先頭のノードレコードを参照する。以下、各ノードレコードに対応するノードを対象ノードとも称する。
【００９１】
ステップＳ１９０２の後、対象メッシュのノードリストから、参照レコードオフセットが示すノードレコードを選択する（ステップＳ１９０３）。
【００９２】
例えば、メッシュＭＡの場合は、ステップＳ１９０３の処理を行うたびに、図７に示すノード番号０〜３のノードレコードが順に選択される。すなわち、対象メッシュのすべてのノードレコードに対して、後述のステップＳ１９０４〜１９１２の処理が行われる。同様に、メッシュＭＢの場合は、ステップＳ１９０３の処理を行うたびに、図９に示すノード番号０〜２のノードレコードが順に選択される。
【００９３】
以下のステップＳ１９０４〜１９０８では、ステップＳ１９０３にて選択されたノードレコードの接続リンク情報を順に参照して処理を行う。
【００９４】
例えば、メッシュＭＡ場合は、図７に示すノード番号０のノードレコードがステップＳ１９０３にて選択されたとき、接続リンク情報Ａ００〜Ａ０３に対して順に処理を行う。
【００９５】
ステップＳ１９０３の後、図１５のステップＳ１５０２で生成・初期化された各メッシュのリンク端ノードテーブルから、接続リンク情報の接続リンクメッシュ情報が示すメッシュのリンク端ノードテーブルを選択する（ステップＳ１９０４）。
【００９６】
例えば、メッシュＭＡの場合は、図７に示すノード番号０のノードレコードの接続リンク情報Ａ００，Ａ０１，Ａ０３では、接続リンクメッシュ情報が０（隣接メッシュコード＝０）であるためメッシュＭＡのリンク端ノードテーブルを選択し、接続リンク情報Ａ０２では、接続リンクメッシュ情報が３（隣接メッシュコード＝３）であるためメッシュＭＢのリンク端ノードテーブルを選択する。
【００９７】
ステップＳ１９０４の後、ステップＳ１９０４にて選択されたリンク端ノードテーブルから、接続リンク情報の接続リンク番号が示すリンク端ノードレコードを選択する（ステップＳ１９０５）。
【００９８】
ステップＳ１９０５の後、接続リンク情報の接続方向が順方向か否かの判断を行う（ステップＳ１９０６）。
【００９９】
ステップＳ１９０６にて順方向であると判断された場合において、対象ノードは接続リンク番号が示すリンクの始点ノードであるため、ステップＳ１９０５にて選択したリンク端ノードレコードに始点ノード情報（始点ノード番号、始点ノードメッシュ情報）を格納する（ステップＳ１９０７）。すなわち、始点ノード番号として、対象ノードのノード番号を格納する。また、始点ノードメッシュ情報として、ステップＳ１９０３にて選択したノードレコードの接続リンク情報の接続リンクメッシュ情報と対象メッシュとの関係に基づいて、接続リンクメッシュ情報が対象メッシュを示す場合は、対象メッシュを示す隣接メッシュコードを格納し、接続リンクメッシュ情報と対象メッシュとが異なる場合は、接続リンクメッシュ情報が示すメッシュを基準とした対象メッシュの隣接メッシュコードを格納する。始点ノード情報の格納後、ステップＳ１９０９に移行する。
【０１００】
一方、ステップＳ１９０６にて順方向でない（すなわち、逆方向である）と判断された場合において、対象ノードは接続リンク番号が示すリンクの終点ノードであるため、ステップＳ１９０５にて選択したリンク端ノードレコードに終点ノード情報（終点ノード番号、終点ノードメッシュ情報）を格納する（ステップＳ１９０８）。すなわち、終点ノード番号として、対象ノードのノード番号を格納する。また、終点ノードメッシュ情報として、ステップＳ１９０３にて選択したノードレコードの接続リンク情報の接続リンクメッシュ情報と対象メッシュとの関係に基づいて、接続リンクメッシュ情報が対象メッシュを示す場合は、対象メッシュを示す隣接メッシュコードを格納し、接続リンクメッシュ情報と対象メッシュとが異なる場合は、接続リンクメッシュ情報が示すメッシュを基準とした対象メッシュの隣接メッシュコードを格納する。終点ノード情報の格納後、ステップＳ１９０９に移行する。
【０１０１】
図２０，２１は、対象メッシュがメッシュＭＡの場合における、ステップＳ１９０６〜ステップＳ１９０８の処理後に得られるメッシュＭＡ，ＭＢのリンク端ノードテーブルの格納状態の一例を示す図である。
【０１０２】
図２０，２１に示すように、図７に示すノード番号０のノードレコードの接続リンク情報Ａ００に基づき、図２０に示す接続リンク番号０（ＬＡ０）のリンク端ノードレコードの始点ノード情報が格納される。また、図７に示すノード番号０のノードレコードの接続リンク情報Ａ０１に基づき、図２０に示す接続リンク番号１（ＬＡ１）のリンク端ノードレコードの終点ノード情報が格納される。また、図７に示すノード番号０のノードレコードの接続リンク情報Ａ０２に基づき、図２１に示す接続リンク番号０（ＬＢ０）のリンク端ノードレコードの終点ノード情報が格納される。また、図７に示すノード番号０のノードレコードの接続リンク情報Ａ０３に基づき、図２０に示す接続リンク番号２（ＬＡ２）のリンク端ノードレコードの始点ノード情報が格納される。
【０１０３】
また、図７に示すノード番号１のノードレコードの接続リンク情報Ａ１０に基づき、図２０に示す接続リンク番号０（ＬＡ０）のリンク端ノードレコードの終点ノード情報が格納される。また、図７に示すノード番号２のノードレコードの接続リンク情報Ａ２０に基づき、図２０に示す接続リンク番号１（ＬＡ１）のリンク端ノードレコードの始点ノード情報が格納される。また、図７に示すノード番号３のノードレコードの接続リンク情報Ａ３０に基づき、図２０に示す接続リンク番号２（ＬＡ２）のリンク端ノードレコードの終点ノード情報が格納される。
【０１０４】
図２２は、対象メッシュがメッシュＭＢの場合における、ステップＳ１９０６〜ステップＳ１９０８の処理後に得られるメッシュＭＢのリンク端ノードテーブルの格納状態の一例を示す図である。
【０１０５】
上記の対象メッシュがメッシュＭＡである場合と同様に、対象メッシュがメッシュＭＢの場合もリンク端ノードテーブルの各リンク端ノードレコードに対してリンク端ノード情報（始点ノード情報、終点ノード情報）が格納される。
【０１０６】
ただし、メッシュＭＢのリンク番号２であるリンクＬＢ２の終点ノードはメッシュＭＣに属しているが、当該メッシュＭＣはメッシュＭＡに隣接していないため、メッシュＭＣの道路網データは地図情報記憶部３から読み出されず、上記の処理は行われない。従って、図２２に示すように、リンク番号２のリンクＬＢのリンク端ノードレコードの終点ノードメッシュ情報および終点ノード番号は初期値のまま（すなわち、無効値のまま）となっている。このようにすることによって、地図情報記憶部３から読み出されていないメッシュＭＣに対して道路網を接続することは不要であることが分かる。
【０１０７】
ステップＳ１９０７あるいはステップＳ１９０８の後、参照レコードオフセットが示すノードレコードにおけるすべての接続リンク情報に対してステップＳ１９０３〜ステップＳ１９０８の処理が終了したか否かの判断を行う（ステップＳ１９０９）。
【０１０８】
ステップＳ１９０９において、すべての接続リンク情報に対してステップＳ１９０３〜ステップＳ１９０８の処理が終了していないと判断された場合は、ステップＳ１９０４に移行し、ステップＳ１９０３にて選択されたノードレコードにおける次の接続リンク情報について上記と同様の処理を行う。
【０１０９】
一方、ステップＳ１９０９において、すべての接続リンク情報に対してステップＳ１９０３〜ステップＳ１９０８の処理が終了したと判断された場合は、参照レコードオフセットが示すノードレコードのオフセットを、ノードオフセットテーブルの対象ノードに対応する箇所に格納する（ステップＳ１９１０）。
【０１１０】
ステップＳ１９１０の後、対象メッシュのノードリストのすべてのノードレコードに対してステップＳ１９０４〜ステップＳ１９１０の処理が終了したか否かの判断を行う（ステップＳ１９１１）。
【０１１１】
ステップＳ１９１１において、すべてのノードレコードに対する処理が終了していないと判断された場合は、参照レコードオフセットに対して、現在の参照レコードオフセットに対象ノードのノードレコードのサイズを加えた値に更新（すなわち、参照レコードオフセットを更新）し、次のノードレコードのオフセットを示すようにする（ステップＳ１９１２）。ステップＳ１９１２の後、ステップＳ１９０３に移行し、上記と同様の処理を行う。
【０１１２】
一方、ステップＳ１９１１において、すべてのノードレコードに対する処理が終了したと判断された場合は、対象メッシュの道路網補助データの生成の処理動作を終了する。
【０１１３】
上記より、１つのメッシュ内に存在するリンク（例えば、図６のリンクＬＡ０）については、当該メッシュのノードリストに基づいてリンク端ノード情報が得られ、また、２つのメッシュに跨って存在するリンク（例えば、図６のリンクＬＢ０）については、リンク両端のノード（例えば、リンクＬＢ０の場合はノードＮＡ０，ＮＢ０）が属するメッシュ（例えば、メッシュＭＡ，ＭＢ）のノードリストに基づいてリンク端ノード情報が得られる。すなわち、プロセッサ４のリンク端ノード情報算出手段は、道路網データ取得手段にて取得された道路網データの接続リンク情報に基づき、リンクがメッシュを跨がない場合は、当該メッシュの道路網データの接続リンク情報から、リンクがメッシュを跨ぐ場合は、当該リンクの両端のノードが含まれる２つのメッシュの道路網データの接続リンク情報から、リンクの端部に接続されるノードの情報であるリンク端ノード情報を算出する。
【０１１４】
また、例えば図２２に示すように、リンク端ノードテーブルは、プロセッサ４のリンク端ノード情報算出手段によって算出されたリンク端ノード情報と、算出されなかったリンク端ノード情報（例えば、図２２の初期値）とを区別可能に格納しているため、地図情報記憶部３から読み出していないメッシュに対して道路網の接続を行う処理を防止することができる。
【０１１５】
また、プロセッサ４のリンク端ノード情報算出手段は、リンクが属するメッシュの道路網データをプロセッサ４の道路網データ取得手段が取得しない場合は、リンク端ノード情報を算出しないため、地図情報記憶部３から読み出していないメッシュに対する不要な処理を防止することができる。
【０１１６】
また、上記のように生成されたリンク端ノードテーブルを参照することによって、一方のノードから１本のリンクを介して到達する他方のノード（以下、隣接ノードとも称する）を、リンクが隣接メッシュに跨って（２つのメッシュに跨って）存在するか否かに関わらず直ちに求めることができる。
【０１１７】
例えば、メッシュＭＡのノードＮＡ０に接続するメッシュＭＡのリンクＬＡ０（リンク番号０）に対して、リンク端ノードテーブル（図２０参照）のリンク番号０に対応するリンク端ノードレコードの終点ノード情報から、ノード番号１であるノードＮＡ１が隣接ノードであることが分かる。
【０１１８】
また、メッシュＭＡのノードＮＡ０に接続するメッシュＭＢのリンクＬＢ０に対して、リンク端ノードテーブル（図２２参照）のリンク番号０に対応するリンク端ノードレコードの始点ノード情報から、メッシュＭＢのノード番号０であるＮＢ０が隣接ノードであることが分かる。
【０１１９】
次に、隣接ノードの算出について説明する。
【０１２０】
経路探索やマップマッチングの処理では、道路網データと道路網補助データとに基づいて、隣接ノードの算出を繰り返すことによって道路網を辿る。
【０１２１】
図２３は、本実施の形態による隣接ノードを算出する処理動作を示すフローチャートであり、ある対象ノードに対する隣接ノードに関する情報を隣接ノードレコードとして生成し、プロセッサ４のメモリに設けられた隣接ノードリスト（図１６参照）に登録（格納）する処理について示す。なお、当該処理は、プロセッサ４において、接続リンク情報とリンク端ノード情報とに基づき、道路網の接続関係を算出する道路網接続関係算出手段が行う。
【０１２２】
ここで、隣接ノードリストに登録する隣接ノードレコードは、隣接ノードが属するメッシュの隣接メッシュコードを示す隣接ノードメッシュ情報と、隣接ノードのノード番号を示す隣接ノード番号とを有する。
【０１２３】
以下では、具体例として、対象ノードを図６に示すメッシュＭＡのノードＮＡ０とし、当該ノードＮＡ０の隣接ノードＮＡ１，ＮＡ２，ＮＢ０，ＮＡ３を求める場合について説明する。また、図２４は、対象ノードを図６に示すメッシュＭＡのノードＮＡ０とした場合における、図２３に示す処理によって得られた隣接ノードリストの一例を示す図である。
【０１２４】
隣接ノードを算出する処理動作が開始されると、まず、参照メッシュ情報の初期化、参照レコードオフセットの初期化、隣接ノードリストの初期化を行う（ステップＳ２３０１）。
【０１２５】
参照メッシュ情報の初期化では、プロセッサ４のメモリに設けられた参照メッシュ情報（図１６参照）に、対象ノードが属するメッシュ（対象メッシュ）の隣接メッシュコードを格納する。
【０１２６】
また、参照レコードオフセットの初期化では、対象ノードが属するメッシュのノードオフセットテーブルから、対象ノードのノード番号に対応するノードレコードオフセットを求めて参照レコードオフセット（図１６参照）に設定する。
【０１２７】
また、隣接ノードリストの初期化では、隣接ノードリストに登録されている隣接レコードがないようにする。
【０１２８】
上記の各初期化によって、参照メッシュ情報にはメッシュＭＡの隣接メッシュコードが格納され、参照レコードオフセットにはノードＮＡ０のノードレコードのオフセットが格納される。
【０１２９】
以下のステップＳ２３０２〜ステップＳ２３０６では、参照レコードオフセットが示すノードレコードの接続リンク情報を順に参照することによって処理を行う。すなわち、ここでは、図７に示すノード番号０（ＮＡ０）における接続リンク情報Ａ００〜Ａ０３を順に参照することによって処理を行う。
【０１３０】
ステップＳ２３０１の後、図１５のステップＳ１５０５にて生成された各メッシュのリンク端ノードテーブルから、接続リンク情報の接続リンクメッシュ情報が示すメッシュに対応するリンク端ノードテーブルを選択する（ステップＳ２３０２）。
【０１３１】
例えば、接続リンク情報Ａ００，Ａ０１，Ａ０３については、接続リンクメッシュ情報が０（隣接ノードコード＝０）であるため、対象メッシュＭＡのリンク端ノードテーブル（図２０参照）を選択する。また、接続リンク情報Ａ０２については、接続リンクメッシュ情報が３（隣接ノードコード＝３）であるため、隣接メッシュＭＢのリンク端ノードテーブル（図２２参照）を選択する。
【０１３２】
ステップＳ２３０２の後、ステップＳ２３０２にて選択したリンク端ノードテーブルから、接続リンク情報の接続リンク番号が示すリンク端ノードレコードを選択する（ステップＳ２３０３）。
【０１３３】
例えば、接続リンク情報Ａ００，Ａ０１，Ａ０３については、接続リンク番号がそれぞれ０，１，２であるため、対象メッシュＭＡのリンク端ノードテーブル（図２０参照）のリンク番号０，１，２に対応するリンク端ノードレコードをそれぞれ選択する。また、接続リンク情報Ａ０２については、接続リンク番号が０であるため、隣接メッシュＭＢのリンク端ノードテーブル（図２２参照）のリンク番号０に対応するリンク端ノードレコードを選択する。
【０１３４】
ステップＳ２３０３の後、接続リンク情報のリンク番号が示すリンクの接続方向が順方向か否かの判断を行う（ステップＳ２３０４）。
【０１３５】
ステップＳ２３０４において、リンクの接続方向が順方向であると判断された場合、対象ノードはリンクの始点ノードであり、隣接ノードはリンクの終点ノードに対応するため、ステップＳ２３０３にて選択したリンク端ノードレコードの終点ノードメッシュ情報、終点ノード番号を、それぞれ隣接ノードレコードの隣接ノードメッシュ情報、隣接ノード番号に設定し、設定した隣接ノードレコードを隣接ノードリストに格納（登録）する（ステップＳ２３０５）。
【０１３６】
ただし、終点ノードメッシュ情報が０および０ｘＦ以外の場合は、終点ノードメッシュ情報が示すメッシュを、対象メッシュを基準とする隣接メッシュコードに変換してから隣接ノードメッシュ情報に設定する。終点ノードを隣接ノードリストに格納後、ステップＳ２３０７に移行する。
【０１３７】
例えば、接続リンク情報Ａ００については、対象メッシュＭＡのリンク端ノードテーブル（図２０参照）のリンク番号０に対応するリンク端ノードレコードの終点ノードメッシュ情報（０）、終点ノード番号（１）のそれぞれを、隣接ノードレコード０の隣接ノードメッシュ情報、隣接ノード番号のそれぞれに設定し、設定した隣接ノードレコード０を隣接ノードリストに格納する（図２４参照）。
【０１３８】
また、接続リンク情報Ａ０３については、対象メッシュＭＡのリンク端ノードテーブル（図２０参照）のリンク番号２に対応するリンク端ノードレコードの終点ノードメッシュ情報（０）、終点ノード番号（３）のそれぞれを、隣接ノードレコード３の隣接ノードメッシュ情報、隣接ノード番号のそれぞれに設定し、設定した隣接ノードレコード３を隣接ノードリスト（図２４参照）に格納する。
【０１３９】
なお、対象ノードがメッシュＭＢのノードＮＢ０の場合において、接続リンク情報Ｂ０２については、対象メッシュＭＢのリンク端ノードテーブル（図２２参照）のリンク番号２に対応するリンク端ノードレコードの終点ノードメッシュ情報（０ｘＦ）、終点ノード番号（０ｘＦＦＦＦ）のそれぞれを、隣接ノードレコード（図示せず）の隣接ノードメッシュ情報、隣接ノード番号のそれぞれに設定し、設定した隣接ノードレコードを隣接ノードリスト（図示せず）に格納する。このように、隣接ノードレコードに無効値が設定されるため、対象ノードＮＢ０に対してリンクＬＢ２を介して接続される隣接ノードがないことが分かる。
【０１４０】
ステップＳ２３０４において、リンクの接続方向が順方向ではない（すなわち、逆方向である）と判断された場合、対象ノードはリンクの終点ノードであり、隣接ノードはリンクの始点ノードに対応するため、ステップＳ２３０３にて選択したリンク端ノードレコードの始点ノードメッシュ情報、始点ノード番号を、それぞれ隣接ノードレコードの隣接ノードメッシュ情報、隣接ノード番号に設定し、設定した隣接ノードレコードを隣接ノードリストに格納（登録）する（ステップＳ２３０６）。
【０１４１】
ただし、始点ノードメッシュ情報が０および０ｘＦ以外の場合は、始点ノードメッシュ情報が示すメッシュを、対象メッシュを基準とする隣接メッシュコードに変換してから隣接ノードメッシュ情報に設定する。始点ノードを隣接ノードリストに格納後、ステップＳ２３０７に移行する。
【０１４２】
例えば、接続リンク情報Ａ０１については、対象メッシュＭＡのリンク端ノードテーブル（図２０参照）のリンク番号１に対応するリンク端ノードレコードの始点ノードメッシュ情報（０）、始点ノード番号（２）のそれぞれを、隣接ノードレコード１の隣接ノードメッシュ情報、隣接ノード番号のそれぞれに設定し、設定した隣接ノードレコード１を隣接ノードリストに格納する（図２４参照）。
【０１４３】
また、接続リンク情報Ａ０２については、メッシュＭＢのリンク端ノードテーブル（図２２参照）のリンク番号０に対応するリンク端ノードレコードの始点ノードメッシュ情報（０）、始点ノード番号（０）のそれぞれを、隣接ノードレコード２の隣接ノードメッシュ情報、隣接ノード番号のそれぞれに設定するのだが、始点ノードメッシュ情報（０）はメッシュＭＢが対象メッシュである場合の隣接メッシュコードで示されているため、当該始点ノードメッシュ情報（０）をメッシュＭＡが対象メッシュである場合の隣接メッシュコード（３）に変換する必要がある。従って、変換した始点ノードメッシュ情報（３）、隣接ノード番号（０）のそれぞれを隣接ノードレコード２の隣接ノードメッシュ情報、隣接ノード番号のそれぞれに設定し、設定した隣接ノードレコード２を隣接ノードリストに格納する（図２４参照）。
【０１４４】
ステップＳ２３０５あるいはステップＳ２３０６の後、参照レコードオフセットが示すノードレコードにおけるすべての接続リンク情報に対してステップＳ２３０２〜ステップＳ２３０６の処理が終了したか否かの判断を行う（ステップＳ２３０７）。
【０１４５】
ステップＳ２３０７において、すべての接続リンク情報に対してステップＳ２３０２〜ステップＳ２３０６の処理が終了していないと判断された場合は、ステップＳ２３０２に移行し、次の接続リンク情報について上記と同様の処理を行う。
【０１４６】
一方、すべての接続リンク情報に対してステップＳ２３０２〜ステップＳ２３０６の処理が終了したと判断された場合は、隣接ノードを算出する処理動作を終了する。
【０１４７】
上記の処理を行うことによって、図２４に示すような隣接ノードリストが得られ、得られた隣接ノードリストを参照することによって、対象ノードＮＡ０の隣接ノードがノードＮＡ１，ＮＡ２，ＮＢ０，ＮＡ３であることが直ちに分かる。
【０１４８】
また、隣接ノードリストに登録された各ノードに対して上記の処理を行うことによって、さらに次の隣接ノードが求まる。すなわち、上記の処理を繰り返し行うことによって、１本のリンクにより接続されているノードを順次求めることができる。
【０１４９】
なお、隣接ノードリストの隣接ノードレコードにおける隣接ノード番号が無効（０ｘＦＦＦＦ）の場合は、当該無効の隣接ノードを求めないようにする。すなわち、プロセッサ４の道路網接続関係算出手段は、リンク端ノード情報が算出されなかった場合は、当該算出されなかったリンク端ノード情報に含まれるノードに対する道路網の接続関係を算出しない。このようにすることによって、地図情報記憶部３から読み出していないメッシュに対する不要な処理の発生を防止することができる。
【０１５０】
以上のことから、リンクがメッシュを跨って存在する場合であってもリンクとノードとの接続情報を生成することが可能となり、道路網を迅速に辿ることができる。
【０１５１】
なお、本実施の形態による地図情報処理装置の入力部１（図１参照）は、操作スイッチ群であるものとして説明したが、操作スイッチ群以外にも、表示部５の表示面に装着されたタッチパネル（図示せず）、リモートコントロールスイッチ（図示せず）、音声認識装置（図示せず）等を入力手段として使用してもよい。
【０１５２】
また、本実施の形態において、リンクレコードは、始点ノードが属するメッシュのリンクリストのみに格納されるが、終点ノードが属するメッシュのリンクリストのみに格納するようにしてもよい。
【０１５３】
また、本実施の形態において、リンク端ノードテーブルのリンク端ノードレコードに格納されるノードのメッシュ情報を隣接メッシュコードで示したが、隣接メッシュコードに代えて、各メッシュに固有のメッシュ番号などで示してもよい。
【０１５４】
また、本実施の形態において、リンク端ノード情報はリンクリストとは別に設けられたが、リンクリストのリンクレコード内に設けるようにしてもよい。
【０１５５】
また、本実施の形態において、リンクが３つ以上のメッシュに跨って存在する場合は、予め２つのメッシュに跨るようにリンクを分割したが、リンクを分割しなくてもよい。このとき、リンクが所属するメッシュの接続リンクメッシュ情報として隣接メッシュコードが使用できないため、隣接メッシュコードに代えてメッシュ番号を接続リンクメッシュ情報として示してもよい。
【０１５６】
なお、本発明は、その発明の範囲内において、実施の形態を適宜、変形、省略することが可能である。
【符号の説明】
【０１５７】
１  入力部、２  位置検出部、３  地図情報記憶部、４  プロセッサ、５  表示部、６  音声出力部。
【図１】
2013084281.tif 000003
【図２】
2013084281.tif 000004
【図３】
2013084281.tif 000005
【図４】
2013084281.tif 000006
【図５】
2013084281.tif 000007
【図６】
2013084281.tif 000008
【図７】
2013084281.tif 000009
【図８】
2013084281.tif 000010
【図９】
2013084281.tif 000011
【図１０】
2013084281.tif 000012
【図１１】
2013084281.tif 000013
【図１２】
2013084281.tif 000014
【図１３】
2013084281.tif 000015
【図１４】
2013084281.tif 000016
【図１５】
2013084281.tif 000017
【図１６】
2013084281.tif 000018
【図１７】
2013084281.tif 000019
【図１８】
2013084281.tif 000020
【図１９】
2013084281.tif 000021
【図２０】
2013084281.tif 000022
【図２１】
2013084281.tif 000023
【図２２】
2013084281.tif 000024
【図２３】
2013084281.tif 000025
【図２４】
2013084281.tif 000026
【国際調査報告】
2013084281.tif 000027
2013084281.tif 000028
2013084281.tif 000029
2013084281.tif 000030