(57)【要約】【課題】比較的少ないデータ量で精度良く地図を表すことができる地図情報、および前記地図情報を用いて精度良く経路探索を行うことができる地図情報処理装置を提供する。【解決手段】地図情報記憶部に格納される地図情報は、道路網データを含む。道路網データは、先頭メッシュ内リンクＩＤ、共通リンクＩＤ、副共通リンクＩＤおよび接続情報を含む。先頭メッシュ内リンクＩＤおよび共通リンクＩＤは、ＩＤ管理テーブルのＩＤ管理レコードに含まれる。副共通リンクＩＤは、リンクリストのリンクレコードに含まれる。接続情報はノードリストのノードレコードに含まれる。この道路網データを含む地図情報に基づいて、出発地から目的地までの経路が経路探索部によって探索される。【選択図】図７
2015094658.tif 000002
【特許請求の範囲】
【請求項１】
縮尺が異なる複数の階層に階層化された地図を表す地図情報であって、
前記地図情報は、各階層の地図を予め定める範囲毎に区画して得られるメッシュ毎に格納され、
前記格納された地図情報に基づいて、経路を探索することが可能であり、
前記地図情報は、交差点および道路上の地点を表す複数のノードと、前記ノード間を結ぶ道路を表す１つまたは複数のリンクとによって、前記地図内の道路網を表す道路網データを含み、
最も下の階層以外の各階層のリンクは、１つ下の階層の１つ以上のリンクを統合して構成され、
前記道路網データは、
（ａ）メッシュ内の各リンクを識別するために各リンクに付与されるメッシュ内リンク識別子と、
（ｂ）リンクが統合されて存在する最も上の階層である最上統合階層のリンクである最上統合階層リンクと、前記最上統合階層リンクに統合された各階層のリンクである被統合リンクとに共通して付与される共通リンク識別子と、
（ｃ）前記最上統合階層リンクに統合された各階層の被統合リンク同士を識別するために、被統合リンクにそれぞれ付与される副共通リンク識別子と、
（ｄ）前記メッシュ内リンク識別子を用いて、前記リンク同士の接続関係を表す接続情報とを含むことを特徴とする地図情報。
【請求項２】
請求項１に記載の地図情報を格納する地図情報記憶部と、
前記地図情報記憶部に格納された地図情報に基づいて、出発地から目的地までの経路を探索する経路探索部とを備えることを特徴とする地図情報処理装置。
【請求項３】
前記地図情報記憶部に格納された地図情報に基づいて道路を表示する道路表示部と、
前記経路探索部によって探索された経路を、前記道路表示部によって表示される道路に重畳して表示する経路表示部とを備えることを特徴とする請求項２に記載の地図情報処理装置。
【請求項４】
前記経路探索部によって探索された経路を構成するリンクである経路リンクを前記メッシュ内リンク識別子を用いて表した中間経路情報を、前記最上統合階層を表す最上統合階層番号と前記共通リンク識別子と前記副共通リンク識別子とを用いて前記経路リンクを表す経路情報に変換する経路変換部を備え、
前記経路表示部は、前記経路変換部によって変換された経路情報に基づいて、前記経路を表示することを特徴とする請求項３に記載の地図情報処理装置。
【請求項５】
前記道路網データは、前記リンクを表すリンクレコードを前記メッシュ内の各リンクに一対一に対応するように並べたリンクリストを含み、
前記メッシュ内リンク識別子は、そのメッシュ内リンク識別子に対応するリンクを表す前記リンクレコードの前記リンクリストにおける並びの順番であることを特徴とする請求項２〜４のいずれか１つに記載の地図情報処理装置。
【請求項６】
前記最上統合階層リンクに統合された各階層の被統合リンクのうち、最も下の階層である最下層の被統合リンクの前記副共通リンク識別子は、前記最下層に含まれる被統合リンクを、始点を表す始点ノードから終点を表す終点ノードに向かう方向である向きが、前記最上統合階層リンクの前記向きに一致するように接続したときの接続順を表す連続した番号であり、
前記最下層よりも上位の各階層の被統合リンクの前記副共通リンク識別子は、その被統合リンクの前記始点側または前記終点側に対応する前記最下層の被統合リンクの前記副共通リンク識別子と同じであることを特徴とする請求項５に記載の地図情報処理装置。
【請求項７】
前記副共通リンク識別子は、
前記複数の階層のうちで最も上の階層である最上層と前記最下層とを除く階層のリンクであって、前記最上統合階層リンクでないリンクのリンクレコードに格納され、その他のリンクのリンクレコードには格納されないことを特徴とする請求項６に記載の地図情報処理装置。
【請求項８】
前記道路網データは、前記メッシュ内に含まれるリンクのうち、前記最上統合階層を表す最上統合階層番号が同じであり、かつ前記共通リンク識別子が同じであるリンクで構成されるリンク群と、そのリンク群に含まれるリンクの前記最上統合階層番号および前記共通リンク識別子とを対応付ける識別子管理情報を含むことを特徴とする請求項７に記載の地図情報処理装置。
【請求項９】
前記リンクリストでは、
上層で統合されないリンクのリンクレコードが先頭から並べられ、
前記上層で統合されないリンクのリンクレコードの次に、前記統合リンクのリンクレコードが、その統合リンクの最上統合階層が低い順に並べられ、
前記統合リンクのリンクレコードのうち、前記最上統合階層が同じ統合リンクのリンクレコードは、その統合リンクの前記共通リンク識別子の昇順に並べられ、
前記統合リンクのリンクレコードのうち、前記最上統合階層が同じであり、かつ前記共通リンク識別子が同じである統合リンクのリンクレコードは、その統合リンクの前記副共通リンク識別子の昇順に並べられることを特徴とする請求項８に記載の地図情報処理装置。
【請求項１０】
前記最下層を除く残余の階層の前記識別子管理情報は、
前記最上統合階層番号と、前記共通リンク識別子と、前記最上統合階層番号および前記共通リンク識別子に対応する前記リンク群の先頭のリンクの前記メッシュ内リンク識別子とを含む識別子管理レコードを並べたものであり、
前記識別子管理レコードは、前記最上統合階層番号の昇順に配置され、
前記識別子管理レコードのうち、前記最上統合階層番号が同じであるリンクの識別子管理レコードは、前記共通リンク識別子の昇順に配置されることを特徴とする請求項９に記載の地図情報処理装置。
【請求項１１】
前記最下層の識別子管理情報は、
前記最上統合階層番号と、前記共通リンク識別子と、先頭のリンクの前記副共通リンク識別子である先頭副共通リンク識別子と、前記最上統合階層番号、前記共通リンク識別子および前記先頭副共通リンク識別子に対応するリンク群の先頭のリンクの前記メッシュ内リンク識別子とを含む識別子管理レコードを並べたものであり、
前記識別子管理レコードは、前記最上統合階層番号の昇順に配置され、
前記識別子管理レコードのうち、前記最上統合階層番号が同じであるリンクの識別子管理レコードは、前記共通リンク識別子の昇順に配置され、
前記識別子管理レコードのうち、前記最上統合階層番号が同じであり、かつ前記共通リンク識別子が同じであるリンクの識別子管理レコードは、前記先頭副共通リンク識別子の昇順に配置されることを特徴とする請求項９または１０に記載の地図情報処理装置。
【請求項１２】
前記道路網データは、前記最上層を除く残余の階層の前記識別子管理情報を含み、前記最上層の前記識別子管理情報を含まないことを特徴とする請求項１０または１１に記載の地図情報処理装置。
【請求項１３】
前記経路探索部によって探索された経路を構成するリンクである経路リンクを前記メッシュ内リンク識別子を用いて表した中間経路情報を、前記識別子管理情報を用いて前記経路リンクを表す経路情報に変換する経路変換部を備えることを特徴とする請求項１０〜１２のいずれか１つに記載の地図情報処理装置。
【請求項１４】
前記地図情報記憶部に格納された地図情報に基づいて道路を表示する道路表示部と、
前記経路探索部によって探索された経路を、前記道路表示部によって表示される道路に重畳して表示する経路表示部とを備え、
前記経路探索部は、前記識別子管理情報を用いて、前記経路情報が表す経路リンクの前記道路表示部で用いた道路網データの階層におけるメッシュ内リンク識別子を求め、
前記経路表示部は、前記経路探索部によって求められる前記メッシュ内リンク識別子に対応するリンクの形状を強調して描画することを特徴とする請求項１３に記載の地図情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、地図情報、および地図情報を処理する地図情報処理装置に関する。
【背景技術】
【０００２】
出発地から目的地までの誘導案内を行うナビゲーション装置では、地図情報を処理する地図情報処理装置が使用される。地図情報処理装置としては、たとえば特許文献１に開示される地図データベース装置がある。
【０００３】
特許文献１に開示される地図データベース装置では、始端と終端とにノードを有するリンクを複数接続したリンク列として道路が表される。地図データベース装置には、同一リンク列に対して縮尺率の異なる地図に対応するレベル毎に別々に設けられた複数のリンク列データが格納される。
【０００４】
特許文献１の図１２に記載されるように、リンクを識別するために、各リンクに固有のリンク番号が付与され、リンク列データの中に、リンク列を構成するリンクのリンク番号が格納されている。異なるレベルのリンクを対応付けるために、上位レベルおよび下位レベルの同じリンクに対して、上位レベルのリンクのリンク番号が、下位レベルのリンクにも付与されている。また、ルート探索用データでは、ノードに接続するリンクが、前記リンク番号を用いて表されている。
【０００５】
これによって、上層で経路探索して得られた経路を構成するリンクのリンク番号は、下層の同じリンクでも同じとなるので、上層で経路探索して得られた経路を下層に表示することが容易となる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平９−１２７８６５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
特許文献１に開示される技術では、リンク列データの中に、リンク列を構成するリンクのリンク番号が格納されるので、データ量が増大するという問題がある。
【０００８】
また、特許文献１に開示される技術では、上位レベルおよび下位レベルの同じリンクに対して、上位レベルのリンクのリンク番号が、下位レベルのリンクにも付与されている。しかし、リンク番号は、全国で一意とする必要があるので、リンク番号に要するデータ量が増大するという問題がある。
【０００９】
さらに、実際には下位レベルでは、各リンクは、より詳細な情報を有するので、上位レベルと同じ下位レベルのリンクは、複数の道路と交差する可能性が高く、複数のリンクに分割されることになる。これらの複数のリンクの全てに上位レベルのリンクのリンク番号が付与されることになるので、複数のリンクのリンク番号が同じになってしまう。したがって、下位レベルでは、複数のリンクの識別ができないという問題がある。
【００１０】
また、下位レベルのルート探索用データでは、異なるリンクが同じリンク番号となる場合があるので、道路網を正しく表現することができず、経路探索を行っても、正しい経路が得られないという問題がある。異なるリンクが同じリンク番号となることによって、異なるリンクのいずれか１つのリンクのみが経路に該当する場合でも、同じリンク番号が付与される異なるリンクの全てが経路として表示されてしまうという問題がある。
【００１１】
本発明の目的は、比較的少ないデータ量で精度良く地図を表すことができる地図情報、および前記地図情報を用いて精度良く経路探索を行うことができる地図情報処理装置を提供することである。
【課題を解決するための手段】
【００１２】
本発明の地図情報は、縮尺が異なる複数の階層に階層化された地図を表す地図情報であって、地図情報は、各階層の地図を予め定める範囲毎に区画して得られるメッシュ毎に格納され、格納された地図情報に基づいて、経路を探索することが可能であり、地図情報は、交差点および道路上の地点を表す複数のノードと、ノード間を結ぶ道路を表す１つまたは複数のリンクとによって、地図内の道路網を表す道路網データを含み、最も下の階層以外の各階層のリンクは、１つ下の階層の１つ以上のリンクを統合して構成され、道路網データは、（ａ）メッシュ内の各リンクを識別するために各リンクに付与されるメッシュ内リンク識別子と、（ｂ）リンクが統合されて存在する最も上の階層である最上統合階層のリンクである最上統合階層リンクと、最上統合階層リンクに統合された各階層のリンクである被統合リンクとに共通して付与される共通リンク識別子と、（ｃ）最上統合階層リンクに統合された各階層の被統合リンク同士を識別するために、被統合リンクにそれぞれ付与される副共通リンク識別子と、（ｄ）メッシュ内リンク識別子を用いて、リンク同士の接続関係を表す接続情報とを含むことを特徴とする。
【００１３】
本発明の地図情報処理装置は、本発明の地図情報を格納する地図情報記憶部と、地図情報記憶部に格納された地図情報に基づいて、出発地から目的地までの経路を探索する経路探索部とを備えることを特徴とする。
【発明の効果】
【００１４】
本発明の地図情報によれば、縮尺が異なる複数の階層に階層化された地図を表す地図情報は、各階層の地図を予め定める範囲毎に区画して得られるメッシュ毎に格納される。格納された地図情報に基づいて、経路を探索することが可能である。地図情報は、道路網データを含む。道路網データは、交差点および道路上の地点を表す複数のノードと、ノード間を結ぶ道路を表す１つまたは複数のリンクとによって、地図内の道路網を表す。最も下の階層以外の各階層のリンクは、１つ下の階層の１つ以上のリンクを統合して構成される。道路網データは、（ａ）メッシュ内リンク識別子と、（ｂ）最上統合階層リンクと被統合リンクとに共通して付与される共通リンク識別子と、（ｃ）副共通リンク識別子と、（ｄ）接続情報とを含む。これによって、比較的少ないデータ量で精度良く地図を表すことができる地図情報を得ることができる。
【００１５】
本発明の地図情報処理装置によれば、本発明の地図情報が地図情報記憶部に格納される。本発明の地図情報は、前述のように比較的少ないデータ量で精度良く地図を表すことができる。このような地図情報に基づいて、出発地から目的地までの経路が経路探索部によって探索される。したがって、精度良く経路探索を行うことができる。
【図面の簡単な説明】
【００１６】
【図１】本発明の実施の一形態である地図情報処理装置１を備える情報処理システム１０の構成を示すブロック図である。
【図２】地図情報記憶部１２に格納される地図情報３０のデータ構造の一例を示す図である。
【図３】階層番号が０（Ｌ０）の階層およびメッシュの一例を示す図である。
【図４】階層番号が１（Ｌ１）の階層およびメッシュの一例を示す図である。
【図５】階層番号が２（Ｌ２）の階層およびメッシュの一例を示す図である。
【図６】地図データを階層化した場合における道路網の一例を示す図である。
【図７】道路網データの一例を示す図である。
【図８】図６に示すメッシュＭ２＿１のリンクリストＬＬ（Ｍ２＿１）の一例を示す図である。
【図９】図６に示すメッシュＭ２＿２のリンクリストＬＬ（Ｍ２＿２）の一例を示す図である。
【図１０】図６に示すメッシュＭ１＿２のＩＤ管理テーブルＩＤＭＴ（Ｍ１＿２）およびメッシュＭ１＿２のリンクリストＬＬ（Ｍ１＿２）の一例を示す図である。
【図１１】図６に示すメッシュＭ１＿４のＩＤ管理テーブルＩＤＭＴ（Ｍ１＿４）およびメッシュＭ１＿４のリンクリストＬＬ（Ｍ１＿４）の一例を示す図である。
【図１２】図６に示すメッシュＭ０＿２のＩＤ管理テーブルＩＤＭＴ（Ｍ０＿２）およびメッシュＭ０＿２のリンクリストＬＬ（Ｍ０＿２）の一例を示す図である。
【図１３】図６に示すメッシュＭ０＿９のＩＤ管理テーブルＩＤＭＴ（Ｍ０＿９）およびメッシュＭ０＿９のリンクリストＬＬ（Ｍ０＿９）の一例を示す図である。
【図１４】リンクＬ２＿ｗ０の最下層の被統合リンクが、メッシュＭ０＿ｕから、隣接するメッシュＭ０＿ｖへ出て再びメッシュＭ０＿ｕへ戻る例を示す図である。
【図１５】メッシュＭ０＿ｕのＩＤ管理テーブルＩＤＭＴ（Ｍ０＿ｕ）およびメッシュＭ０＿ｕのリンクリストＬＬ（Ｍ０＿ｕ）の一例を示す図である。
【図１６】出発地から目的地までの好適な経路を求めて、求めた経路を地図上に重畳して表示させる処理の処理手順を示すフローチャートである。
【図１７】中間経路情報のデータ構造の一例を示す図である。
【図１８】経路情報のデータ構造の一例を示す図である。
【図１９】図１６のステップａ４における経路情報の生成処理に関する詳細な処理手順を示すフローチャートである。
【図２０】図１６のステップａ４における経路情報の生成処理に関する詳細な処理手順を示すフローチャートである。
【図２１】図１６のステップａ４における経路情報の生成処理に関する詳細な処理手順を示すフローチャートである。
【図２２】図１６のステップａ６における経路表示に関する処理の詳細な処理手順を示すフローチャートである。
【図２３】図１６のステップａ６における経路表示に関する処理の詳細な処理手順を示すフローチャートである。
【図２４】図１６のステップａ６における経路表示に関する処理の詳細な処理手順を示すフローチャートである。
【図２５】強調描画した経路の一例を示す図である。
【発明を実施するための形態】
【００１７】
図１は、本発明の実施の一形態である地図情報処理装置１を備える情報処理システム１０の構成を示すブロック図である。情報処理システム１０は、地図情報処理装置１、位置検出部２１、入力部２２、描画処理部２３、表示部２４および音声出力部２５を備えて構成される。地図情報処理装置１は、制御部１１および地図情報記憶部１２を備える。位置検出部２１、入力部２２、描画処理部２３、表示部２４および音声出力部２５のうちの１つまたは複数は、地図情報処理装置１に備えられてもよく、情報処理システム１０全体が地図情報処理装置１として構成されてもよい。
【００１８】
情報処理システム１０は、たとえば、車両などの移動体に搭載されて、または人などの移動体に携帯されて使用される。情報処理システム１０は、たとえば、出発地から目的地までの経路を探索し、探索した経路に従って、使用者を目的地まで案内するナビゲーションシステムである。
【００１９】
制御部１１は、たとえば、中央演算処理装置（Central Processing Unit；略称：ＣＰＵ）と、書き込み可能なＲＡＭ（Random Access Memory）などのメモリとによって構成される。メモリは、制御プログラムなどを格納する。制御部１１は、地図情報記憶部１２、位置検出部２１、入力部２２、描画処理部２３および音声出力部２５と接続されている。制御部１１は、メモリに格納されている制御プログラムに従って、地図情報記憶部１２、位置検出部２１、入力部２２、描画処理部２３および音声出力部２５を統括的に制御する。制御部１１は、経路探索部および経路変換部に相当する。
【００２０】
地図情報記憶部１２は、たとえばハードディスクドライブ（Hard Disk Drive；略称：ＨＤＤ）装置、ディジタルバーサタイルディスク（Digital Versatile Disk；略称：ＤＶＤ）もしくはそのドライブ装置、ブルーレイディスク（Blu-ray Disc（登録商標））もしくはそのドライブ装置、または半導体メモリなどの記憶装置によって構成される。地図情報記憶部１２は、地図を表す地図情報を格納する。
【００２１】
位置検出部２１は、たとえば全地球測位システム（Global Positioning System；略称：ＧＰＳ）受信機、速度センサ、加速度センサおよび角速度センサの少なくともいずれか１つを備えて構成される。ＧＰＳ受信機は、ＧＰＳ衛星から送信される電波信号を受信する。速度センサは、情報処理システム１０が搭載または携帯される移動体の速度を検出する。加速度センサは、移動体の加速度を検出する。角速度センサは、移動体の角速度を検出する。
【００２２】
位置検出部２１は、たとえばＧＰＳ受信機によって構成されている場合には、受信した電波信号などに基づいて、地図上における移動体の現在位置、たとえば緯度および経度などの座標を検出する。位置検出部２１は、検出した移動体の現在位置を示す位置情報を、制御部１１に与える。
【００２３】
入力部２２は、たとえば、使用者によって操作される複数の操作スイッチを含む操作スイッチ群によって構成される。入力部２２は、使用者が、数字情報、文字情報および制御部１１への指示情報などの情報を入力するときに用いられる。使用者によって入力部２２が操作されると、入力部２２は、使用者の入力操作に応じた指示を表す指示信号を生成して、制御部１１に与える。
【００２４】
入力部２２は、操作スイッチ群の代わりに、タッチパネルまたは音声認識装置によって構成されてもよい。入力部２２がタッチパネルで構成される場合、タッチパネルは、液晶表示装置などの表面に設置され、使用者のタッチ操作とタッチ位置とを検出する。音声認識装置は、入力された音声を認識する。入力部２２が音声認識装置で構成される場合、音声認識装置は、認識した音声に応じた指示を表す指示信号を生成して、制御部１１に与える。
【００２５】
制御部１１は、位置検出部２１から与えられる位置情報と、入力部２２から与えられる指示信号と、地図情報記憶部１２から読み出した地図情報とを用いて、位置情報が示す現在位置を地図上の位置に整合させるマップマッチング処理を行う。また制御部１１は、マッチング処理によって得られた現在位置およびその周辺の地図を表示部２４に表示させるとともに、現在位置を出発地とする目的地までの経路を探索し、探索した経路に従って使用者を目的地まで案内する各種のナビゲーション処理を行う。
【００２６】
描画処理部２３は、制御部１１から与えられる制御信号に従って、表示部２４に表示させる画像を表す画像データを生成する。描画処理部２３は、たとえば、使用者とのヒューマンインターフェースのための画像を表す画像データ、現在位置およびその周辺の地図画像を表す画像データ、前記地図画像に、現在位置を出発地とする目的地までの経路を重畳した画像を表す画像データ、ならびに経路案内のための画像を表す画像データなどを生成する。描画処理部２３は、生成した画像データを表示部２４に与える。
【００２７】
表示部２４は、たとえば、液晶表示装置によって構成される。表示部２４は、描画処理部２３から与えられた画像データが表す画像を表示する。表示部２４は、道路表示部および経路表示部に相当する。
【００２８】
音声出力部２５は、たとえば、スピーカによって構成される。制御部１１は、各種のナビゲーション処理によって得られた情報を、スピーカで取り扱い可能な音声情報に変換して、音声出力部２５に与える。音声出力部２５は、制御部１１から与えられる音声情報が表す音声を出力する。音声情報は、たとえば、地図上における経路探索処理によって得られた目的地までの経路に沿って出発地から目的地までの経路案内を行うための案内情報、および検索処理によって得られた目的地の施設に関する施設情報である。
【００２９】
図２は、地図情報記憶部１２に格納される地図情報３０のデータ構造の一例を示す図である。地図情報３０は、地図管理情報３１、地図データ３２および検索情報３３を含む。地図データ３２は、各階層のメッシュに対応して設けられる。検索情報３３は、検索する情報の種類毎に設けられる。階層およびメッシュについては後述する。
【００３０】
地図管理情報３１は、たとえば、地図情報３０のバージョンを表すバージョン情報、階層毎に各地図データ３２を管理する階層管理情報、および各種検索情報３３を管理する検索管理情報を含む。階層管理情報は、各メッシュのメッシュ番号、地図情報３０における地図データ３２の格納位置、およびデータサイズなどの情報を階層毎に有する。
【００３１】
地図データ３２は、地図データヘッダ４１、道路網データ４２、背景データ４３、名称データ４４および経路誘導データ４５を含む。地図データヘッダ４１は、地図データ３２内の各データを管理する情報を含む。道路網データ４２は、メッシュにおける道路網を表す情報を含む。背景データ４３は、河川および海などを表す面データ、線状の河川および鉄道などを表す線データ、施設シンボルなどを表す点データを含む。名称データ４４は、道路の名称を表す道路名称情報、地名を表す地名情報、ならびに河川、海および施設シンボルなどの名称を表す背景名称情報を含む。経路誘導データ４５は、交差点などにおける経路案内に要する情報を含む。
【００３２】
検索情報３３は、都市、道路、施設、住所、電話番号および交差点などの各種情報を検索するための情報を含む。
【００３３】
地図データ３２は、情報の詳細さの度合いによって階層化される。地図データ３２は、階層毎に、予め定める間隔の緯線および経線によって囲まれた領域であるメッシュに区画して管理される。メッシュは、各階層の地図を予め定める範囲毎に区画して得られる。階層を識別するために、情報の詳細さの度合いが最も詳しい階層から粗くなる順に、各階層に０，１，２，・・・と番号を付与し、これを階層番号とする。
【００３４】
本実施の形態では、地図データ３２は、縮尺が異なる複数の階層に階層化される。縮尺が最も大きい階層から、縮尺が小さくなる順に、階層番号が大きくなるように、０，１，２，・・・の階層番号が各階層に付与される。階層番号は、０以上の整数である。
【００３５】
地図データ３２は、たとえば、階層番号が０，１，２の３つの階層に階層化される。この場合、道路網データ４２は、たとえば道路種別によって階層化される。３つの階層のうち、縮尺が最も大きい階層番号が「０」の階層では、全ての種類の道路が採択される。縮尺が次に大きい階層番号が「１」の階層では、高速道路、国道および都道府県道のみが採択される。縮尺が最も小さい階層番号が「２」の階層では、高速道路および国道のみが採択される。各階層の道路網データ４２には、採択された道路から構成される道路網を表す情報が格納される。
【００３６】
このように道路網データ４２の階層化では、階層番号が相対的に大きい上層の道路は、階層番号が相対的に小さい下層の道路を間引いたものとなる。また、後述するように、上層の道路は、下層の１つ以上の道路を１本の道路に統合したものとなっている。
【００３７】
縮尺が小さい広域の地図表示を行う場合は、上位の階層の地図データ３２が使用される。縮尺が大きい狭域の詳細な地図表示を行う場合は、下位の階層の地図データ３２が使用される。ここで、大小、広狭、上下は、それぞれ、相対的なものである。
【００３８】
長距離の経路探索を行う場合は、上位の階層の道路網データ４２が使用される。短距離の経路探索を行う場合は、下位の階層の道路網データ４２が使用される。ここで、長短、上下は、それぞれ、相対的なものである。
【００３９】
１つの階層内で、メッシュを識別するために、各メッシュには、固有の番号（以下「メッシュ番号」という場合がある）が付与される。たとえば、南北方向を上下方向とし、東西方向を左右方向とした地図におけるメッシュの左下隅の経度および緯度によってメッシュをソートし、このソート順をメッシュ番号とする。ソートは、経度の昇順になるように行われる。経度が同一の場合は、緯度の昇順になるようにソートが行われる。
【００４０】
図３〜図５は、階層およびメッシュの一例を示す図である。図３は、階層番号が０（Ｌ０）の階層およびメッシュの一例を示す図である。図４は、階層番号が１（Ｌ１）の階層およびメッシュの一例を示す図である。図５は、階層番号が２（Ｌ２）の階層およびメッシュの一例を示す図である。
【００４１】
図３〜図５では、上層のメッシュは、下層の４つのメッシュを結合したものである。たとえば、図４に示す階層番号が１（Ｌ１）の階層におけるメッシュ番号が「０」のメッシュは、図３に示す階層番号が０（Ｌ０）の階層におけるメッシュ番号が「０」、「１」、「１６」、「１７」の４つのメッシュを結合したものである。すなわち、図４において参照符号「Ｓ０」で示す部分のメッシュは、図３において参照符号「Ｓ０」で示され、太い実線で囲まれた部分のメッシュを結合したものである。図５に示す階層番号が２（Ｌ２）の階層におけるメッシュ番号が「０」のメッシュは、図４に示す階層番号が１（Ｌ１）の階層におけるメッシュ番号が「０」、「１」、「８」、「９」の４つのメッシュを結合したものである。すなわち、図５において参照符号「Ｓ１」で示す部分のメッシュは、図４において参照符号「Ｓ１」で示され、太い破線で囲まれた部分のメッシュを結合したものである。
【００４２】
図３に示す階層番号が０（Ｌ０）の階層は、２５６個のメッシュによって構成される。前述の結合によって、図４に示す階層番号が１（Ｌ１）の階層は、６４個のメッシュによって構成され、図５に示す階層番号が２（Ｌ２）の階層は、１６個のメッシュによって構成されることになる。図３に示す階層番号が０（Ｌ０）の階層において、空白になっているメッシュは、そのメッシュ番号の記載を省略したものである。
【００４３】
以上に述べた図３〜図５に示す階層とメッシュとの関係から、階層が異なる２つのメッシュの階層番号とメッシュ番号とが判れば、それらのメッシュの包含関係が判る。
【００４４】
図６は、地図データを階層化した場合における道路網の一例を示す図である。道路網は、交差点および道路上の地点を表すノードと、ノード間を結ぶ道路を表すリンクとを用いて表す。図６では、図３〜図５において斜線のハッチングを付した部分のメッシュにおける道路網を構成するノードおよびリンクの一部を示している。実線の直線はリンクを表し、円はノードを表し、破線で結ばれた階層間のノードは、それらのノードが同じ交差点または道路上の地点であることを表している。
【００４５】
図６において、「Ｍｈ＿ｍ」は、階層番号がｈ（ｈは０以上の整数）で、メッシュ番号がｍ（ｍは０以上の整数）のメッシュを表す。
【００４６】
本実施の形態において、連続して接続している１以上のリンクを、上層で１本のリンクに纏めることを「統合する」という。また、統合によって得られたリンクを「統合リンク」といい、その統合されたリンクを「被統合リンク」という。１本のリンクをそのまま上層のリンクとする場合も、「統合する」という。
【００４７】
階層番号が０（Ｌ０）の階層から順に上層に向かって下層のリンクを統合していくことによって、各階層のリンクを生成する。統合は、その階層で採択される道路を表すリンクについて行う。
【００４８】
以下に、図６を用いて上記統合の例を説明する。たとえば、メッシュＭ０＿８のリンクＬ０＿１８と、メッシュＭ０＿９のリンクＬ０＿２５，Ｌ０＿２６，Ｌ０＿２７とが統合されて、メッシュＭ１＿４のリンクＬ１＿１０となる。また、メッシュＭ０＿９のリンクＬ０＿２８が統合されて、メッシュＭ１＿４のリンクＬ１＿１１となる。また、メッシュＭ１＿４のリンクＬ１＿１０およびリンクＬ１＿１１が統合されて、メッシュＭ２＿２のリンクＬ２＿３となる。
【００４９】
したがって、メッシュＭ０＿８のリンクＬ０＿１８と、メッシュＭ０＿９のリンクＬ０＿２５，Ｌ０＿２６，Ｌ０＿２７，Ｌ０＿２８とが統合されて、メッシュＭ２＿２のリンクＬ２＿３となる。
【００５０】
メッシュＭ０＿９のリンクＬ０＿２１，Ｌ０＿２２は、統合されて、メッシュＭ１＿４のリンクＬ１＿７となる。メッシュＭ１＿４のリンクＬ１＿７は、より上層の階層番号が２（Ｌ２）の階層では統合されず、階層番号が２（Ｌ２）の階層には存在しない。
【００５１】
メッシュＭ０＿１０のリンクＬ０＿３０，Ｌ０＿３１は、より上層の階層番号が１（Ｌ１）および階層番号が２（Ｌ２）の階層では統合されず、階層番号が１（Ｌ１）および階層番号が２（Ｌ２）の階層には存在しない。
【００５２】
メッシュＭ０＿８のリンクＬ０＿１８と、メッシュＭ０＿９のリンクＬ０＿２５，Ｌ０＿２６，Ｌ０＿２７とは、メッシュＭ１＿４のリンクＬ１＿１０の被統合リンクである。メッシュＭ０＿９のリンクＬ０＿２８は、メッシュＭ１＿４のリンクＬ１＿１１の被統合リンクである。メッシュＭ１＿４のリンクＬ１＿１０，Ｌ１＿１１は、メッシュＭ２＿２のリンクＬ２＿３の被統合リンクである。
【００５３】
したがって、メッシュＭ０＿８のリンクＬ０＿１８と、メッシュＭ０＿９のリンクＬ０＿２５，Ｌ０＿２６，Ｌ０＿２７，Ｌ０＿２８とは、メッシュＭ２＿２のリンクＬ２＿３の被統合リンクである。メッシュＭ０＿９のリンクＬ０＿２１，Ｌ０＿２２は、メッシュＭ１＿４のリンクＬ１＿７の被統合リンクである。
【００５４】
前述のように、リンクがどの階層まで統合されているか、従ってリンクがどの階層まで存在するかはリンクによって異なる。リンクが統合される最上位の階層、すなわちリンクが統合されて存在する最も上の階層を「最上統合階層」といい、最上統合階層の階層番号を「最上統合階層番号」といい、リンクを統合して得られた最上統合階層番号の階層におけるリンク、すなわち最上統合階層のリンクを「最上統合階層リンク」という。また、それ以上の階層では統合されないリンクの最上統合階層番号は、そのリンクが属する階層の階層番号とする。
【００５５】
たとえば、リンクＬ０＿１８，Ｌ０＿２５，Ｌ０＿２６，Ｌ０＿２７，Ｌ０＿２８は、階層番号が２（Ｌ２）の階層まで統合されるので、これらのリンクの最上統合階層番号は「２」である。同様に、リンクＬ１＿１０，Ｌ１＿１１は、階層番号が２（Ｌ２）の階層まで統合されるので、これらの最上統合階層番号は「２」である。
【００５６】
リンクＬ０＿２１，Ｌ０＿２２は、階層番号が１（Ｌ１）の階層までしか統合されないので、それらのリンクの最上統合階層番号は「１」である。リンクＬ１＿７は、上層で統合されないので、最上統合階層番号は、自身の階層番号と同じ「１」である。リンクＬ０＿３０，Ｌ０＿３１は、上層で統合されないので、最上統合階層番号は、最下層の階層番号と同じ「０」である。
【００５７】
最上統合階層リンクおよび最上統合階層リンクの被統合リンクの各々には、同じ値の識別子（以下「共通リンクＩＤ」という場合がある）が付与される。共通リンクＩＤは、共通リンク識別子に相当する。
【００５８】
共通リンクＩＤは、最上統合階層リンクが属するメッシュにおける最上統合階層リンクのメッシュ内リンクＩＤとする。メッシュ内リンクＩＤは、メッシュ内リンク識別子に相当する。メッシュ内リンクＩＤについては、後述する。
【００５９】
異なる階層のリンクで、同じ共通リンクＩＤを有するリンク同士は、互いに対応付けられていること、すなわち同じ道路を表していることが判る。これによって、ある階層の経路探索で得られた経路のリンクを下層または上層に表示するときに、前記経路のリンクに対応する下層または上層リンクが容易に判る。
【００６０】
また、共通リンクＩＤの値は、１メッシュのリンク数を超えることがなく、リンクに全国で固有のリンクＩＤを付す場合に比べて、データを削減することができる。以下に、図６を用いて共通リンクＩＤの例を説明する。たとえば、リンクＬ２＿３のメッシュＭ２＿２におけるメッシュ内リンクＩＤをＩＩＤ２＿３とすると、リンクＬ２＿３の共通リンクＩＤは、ＩＩＤ２＿３となる。また、リンクＬ２＿３の被統合リンクであるリンクＬ１＿１０，Ｌ１＿１１，Ｌ０＿１８，Ｌ０＿２５，Ｌ０＿２６，Ｌ０＿２７，Ｌ０＿２８の共通リンクＩＤも、ＩＩＤ２＿３となる。
【００６１】
リンクＬ１＿７のメッシュＭ１＿４におけるメッシュ内リンクＩＤをＩＩＤ１＿７とすると、リンクＬ１＿７の共通リンクＩＤは、ＩＩＤ１＿７となる。また、リンクＬ１＿７の被統合リンクであるリンクＬ０＿２１，Ｌ０＿２２の共通リンクＩＤも、ＩＩＤ１＿７となる。
【００６２】
リンクＬ０＿３０，Ｌ０３１のメッシュＭ０＿１０におけるメッシュ内リンクＩＤを、それぞれ、ＩＩＤ０＿３０、ＩＩＤ０＿３１とすると、リンクＬ０＿３０，Ｌ０３１は、より上層の階層番号が１（Ｌ１）の階層および階層番号が２（Ｌ２）の階層では統合されないので、リンクＬ０＿３０，Ｌ０３１の共通リンクＩＤは、それぞれ、ＩＩＤ０＿３０、ＩＩＤ０＿３１となる。
【００６３】
メッシュＭ２＿２を経路探索して得られた経路のリンクをＬ２＿３とすると、リンクＬ２＿３の共通リンクＩＤはＩＩＤ２＿３であるので、階層番号が１（Ｌ１）の階層で、メッシュＭ１＿４の共通リンクＩＤがＩＩＤ２＿３であるリンクＬ１＿１０，Ｌ１＿１１が対応し、これらのリンクを描画すれば、階層番号が１（Ｌ１）の階層に経路を描画することができる。
【００６４】
また、階層番号が０（Ｌ０）の階層で、メッシュＭ０＿８の共通リンクＩＤがＩＩＤ２＿３であるリンクＬ０＿１８、およびメッシュＭ０＿９のリンクＬ０＿２５，Ｌ０＿２６，Ｌ０＿２７，Ｌ０＿２８が対応し、これらのリンクを描画すれば、階層番号が０（Ｌ０）の階層に経路を描画することができる。
【００６５】
メッシュＭ０＿９を経路探索して得られた経路のリンクをＬ０＿２６とすると、リンクＬ０＿２６の共通リンクＩＤはＩＩＤ２＿３であるので、階層番号が１（Ｌ１）の階層で、メッシュＭ１＿４の共通リンクＩＤがＩＩＤ２＿３であるリンクＬ１＿１０，Ｌ１＿１１が対応し、これらのリンクを描画すれば、階層番号が１（Ｌ１）の階層に経路を描画することができる。
【００６６】
また、階層番号が２（Ｌ２）の階層で、メッシュＭ２＿２の共通リンクＩＤがＩＩＤ２＿３であるＬ２＿３が対応し、このリンクを描画すれば、階層番号が２（Ｌ２）の階層に経路を描画することができる。
【００６７】
このように共通リンクＩＤによって、上層リンクから下層リンクへ、また下層リンクから上層リンクへ対応付けることができる。
【００６８】
リンクの一端のノードを「始点ノード」とし、他端のノードを「終点ノード」とする。始点ノードは、リンクの始点を表し、終点ノードは、リンクの終点を表す。始点ノードから終点ノードに向かう方向を「リンクの向き」とする。
【００６９】
被統合リンクの向きは、統合リンクの向きに一致するように統合するものとする。したがって、被統合リンクの始点ノードは、その最上統合階層リンクの始点ノード側に位置し、被統合リンクの終点ノードは、その最上統合階層リンクの終点ノード側に位置する。最上統合階層リンク自体の始点ノードおよび終点ノードは、データ作成者が任意に定める。
【００７０】
図６において、データ作成者が、メッシュＭ２＿１のリンクＬ２＿０の左側のノードを始点ノード、右側のノードを終点ノードと定めると、メッシュＭ１＿２のリンクＬ１＿３，Ｌ１＿４の左側のノードが始点ノード、右側のノードが終点ノードとなる。図６においては、上記以外の各リンクでより左側にあるノードを始点ノード、より右側にあるノードを終点ノードとなるように定める。
【００７１】
メッシュ内リンクＩＤは、メッシュ内のリンクを識別するための識別子であり、リンクリストにおけるリンクレコードの並び順によって定める。
【００７２】
最上統合階層リンクの最下層の各被統合リンクには、最上統合階層リンクの向きの順に連続した番号、具体的には０，１，２，・・・が付与される。この番号を、最下層の被統合リンクの「副共通リンクＩＤ」という。
【００７３】
最下層以外の統合リンクの副共通リンクＩＤとしては、前記統合リンクの最下層の被統合リンクで、前記統合リンクの始点ノード側の最下層における被統合リンクの副共通リンクＩＤが付与される。これによって、最大階層統合リンクでは、副共通リンクＩＤは必ず「０」となる。最下層で、上層で統合されないリンクの副共通リンクＩＤは、「０」とする。副共通リンクＩＤによって、同じ共通リンクＩＤを有する被統合リンク同士を識別することができる。
【００７４】
図６において、四角で囲まれた数値が副共通リンクＩＤである。リンクＬ２＿３の最下層の被統合リンクであるリンクＬ０＿１８，Ｌ０＿２５，Ｌ０＿２６，Ｌ０＿２７，Ｌ０＿２８には、リンクＬ２＿３の始点ノードから終点ノードに向かう順にそれぞれ、「０」、「１」、「２」、「３」、「４」の副共通リンクＩＤが付与される。
【００７５】
リンクＬ１＿１０の副リンク共通ＩＤとして、その始点ノード側の最下層の被統合リンクＬ０＿１８の副共通リンクＩＤである「０」が付与される。また、リンクＬ１＿１１の副リンク共通ＩＤとして、その始点ノード側の最下層の被統合リンクＬ０＿２８の副共通リンクＩＤである「４」が付与される。また、最下層のリンクＬ０＿３０，Ｌ０＿３１は、上層で統合されないので、副共通リンクＩＤとして「０」が付与される。
【００７６】
図７は、道路網データの一例を示す図である。道路網データは、メッシュの道路網を表す。道路網データは、道路網ヘッダ、ノードリスト、リンクリスト、形状リストおよびＩＤ管理テーブルを備える。ＩＤ管理テーブルは、識別子管理情報に相当する。
【００７７】
道路網ヘッダは、メッシュに存在するノード数およびリンク数、ＩＤ管理レコード数、各リストの格納位置およびデータサイズ、ならびに各テーブルの格納位置およびデータサイズなどの道路網データの管理に必要な情報を備える。
【００７８】
ノードリストは、メッシュに存在するノードに関するデータである。ノードリストは、ノードに対応して設けたノードレコードを備える。ノードリストにおけるノードレコードの並び順を、ノードＩＤとする。ノードＩＤは、メッシュ内でノードと一対一に対応し、メッシュ内におけるノードの識別に使用される。
【００７９】
ノードレコードは、ノードレコードサイズ、ノード座標、接続リンク数、接続情報、リンク間規制情報、上層ノードＩＤおよび下層ノードＩＤを備える。
【００８０】
ノードレコードサイズは、ノードレコードのデータサイズを表す。ノード座標は、ノードの地理的位置を、経度および緯度で表す。接続リンク数は、ノードに接続するリンクの数を表す。接続情報は、ノードに接続するリンクのメッシュ内リンクＩＤを示す。
【００８１】
たとえば、図６のメッシュＭ０＿２のリンクＬ０＿２における右側のノードの接続情報として、前記ノードに接続するリンクＬ０＿１，Ｌ０＿２，Ｌ０＿３のメッシュ内リンクＩＤが格納される。このように、接続情報によって、リンクの接続関係が判る。
【００８２】
また、接続情報は、ノードに接続するリンクが所属するメッシュを表すメッシュ情報を有する。メッシュ情報は、前記リンクが、当該メッシュ、ならびに当該メッシュの上、右上、右、右下、下、左下、左および左上のメッシュのいずれのメッシュに所属するかを、たとえばそれぞれ０，１，・・・，７，８で表す。たとえば、図６のメッシュＭ０＿２のリンクＬ０＿３における右側のノードに接続するリンクＬ０＿３，Ｌ０＿５に対しては、当該メッシュを表すメッシュ情報が格納され、リンクＬ０＿６に対しては、右のメッシュを表すメッシュ情報が格納される。このように、接続情報によって、メッシュ間のリンクの接続関係も判る。
【００８３】
リンク間規制情報は、ノードに接続するリンク間の通行に関する規制を表す。上層ノードＩＤは、当該メッシュを含む上層のメッシュにおける当該ノードに該当するノードのノードＩＤを表す。上層ノードＩＤは、経路探索を下層のメッシュから上層のメッシュに遷移するために使用される。該当するノードが存在しない場合は、上層ノードＩＤとして、空値が格納される。空値は、たとえばノードＩＤを２バイトで表すとき、「０ｘＦＦＦＦ」とする。
【００８４】
下層ノードＩＤは、当該メッシュに含まれる下層のメッシュにおける当該ノードに該当するノードのノードＩＤを表す。下層ノードＩＤは、経路探索を上層のメッシュから下層のメッシュに遷移するために使用される。該当するノードが存在しない場合は、下層ノードＩＤとして、空値が格納される。空値は、たとえばノードＩＤを２バイトで表すとき、「０ｘＦＦＦＦ」とする。
【００８５】
リンクリストは、当該メッシュに存在するリンクに関するデータである。リンクリストは、前記リンクに対応して設けられたリンクレコードによって構成される。リンクリストにおけるリンクレコードの並び順を、メッシュ内リンクＩＤとする。メッシュ内リンクＩＤは、メッシュ内でリンクと一対一に対応し、メッシュ内でのリンクを識別するために使用される。
【００８６】
リンクレコードは、当該リンクの副共通リンクＩＤ、始点ノードＩＤ、終点ノードＩＤ、リンク属性情報および形状レコード格納位置を備える。
【００８７】
最下層における副共通リンクＩＤは、リンクレコードの並び順によって求めることができるので、最下層のリンクレコードには副共通リンクＩＤを格納しないものとする。従来、最下層のリンクにおいて、上層で統合されないリンクにもリンクＩＤを設けていたが、本実施の形態では、前述のように副共通リンクＩＤを設けないので、データの削減が可能となる。また、最上統合階層リンクの副共通リンクＩＤは、常に「０」であるので、最上統合階層リンクのリンクレコードには副共通リンクＩＤを設けないようにする。これによって、データを削減することができる。
【００８８】
始点ノードＩＤは、当該リンクの始点側のノードである始点ノードのノードＩＤを表す。当該リンクがある最上統合階層リンクを被統合リンクとするとき、その最上統合階層リンクの始点側に位置するノードを、始点ノードとする。最上統合階層リンク自体の始点ノードは、データ作成者が任意に定める。
【００８９】
終点ノードＩＤは、当該リンクの終点側のノードである終点ノードのノードＩＤを表す。当該リンクがある最上統合階層リンクを被統合リンクとするとき、その最上統合階層リンクの終点側に位置するノードを、終点ノードとする。最上統合階層リンク自体の終点ノードは、データ作成者が任意に定める。
【００９０】
リンク属性情報は、当該リンクの道路種別、幅員、レーン数、リンク長、平均旅行時間および通行規制などの当該リンクに関する各種属性を表す。リンク属性情報は、地図を表示するときの道路線の幅および色などの表示態様の決定、経路を探索するときの当該リンクの通行に要するコストの算出、ならびに経路案内などに使用される。
【００９１】
形状レコード格納位置は、当該リンクに対応する形状レコードの形状リストにおける格納位置を表す。形状レコード格納位置は、たとえば、形状リストの先頭から前記形状レコードへ至るまでのバイト数で表される。
【００９２】
リンクレコードは、対応するリンクの最上統合階層番号、共通リンクＩＤおよび副共通リンクＩＤによってソートして配置される。リンクレコードは、最上統合階層番号の昇順に配置され、最上統合階層番号が同じリンクレコードは、共通リンクＩＤの昇順に配置され、最上統合階層番号および共通リンクＩＤが同じリンクレコードは、副共通リンクＩＤの昇順に配置される。
【００９３】
図示はしないが、ノードに接続情報を設ける代わりに、リンクの始点ノードに接続するリンクのメッシュ情報およびメッシュ内リンクＩＤとその数、リンクの終点ノードに接続するリンクのメッシュ情報およびメッシュ内リンクＩＤとその数を設けてもよい。
【００９４】
図８は、図６に示すメッシュＭ２＿１のリンクリストＬＬ（Ｍ２＿１）の一例を示す図である。最上統合階層番号が「２」のリンクがＮ２＿１＿２個であるとすると、それらのリンク内メッシュＩＤ（以下「ＭＩＤ」という場合がある）は、０〜Ｎ２＿１＿２−１をとり、ＩＩＤ２＿０＝０、ＩＩＤ２＿１＝１、ＩＩＤ２＿５＝２、・・・である。
【００９５】
図９は、図６に示すメッシュＭ２＿２のリンクリストＬＬ（Ｍ２＿２）の一例を示す図である。最上統合階層番号が「２」のリンクがＮ２＿２＿２個であるとすると、それらのリンク内メッシュＩＤ（ＭＩＤ）は、０〜Ｎ２＿２＿２−１をとり、ＩＩＤ２＿２＝０、ＩＩＤ２＿３＝１、ＩＩＤ２＿４＝２、・・・である。
【００９６】
図１０は、図６に示すメッシュＭ１＿２のＩＤ管理テーブルＩＤＭＴ（Ｍ１＿２）およびメッシュＭ１＿２のリンクリストＬＬ（Ｍ１＿２）の一例を示す図である。ＩＤ管理テーブルＩＤＭＴ（Ｍ１＿２）については、後述する。階層番号が「２」の階層では、統合されない最上統合階層番号が「１」のリンクがＮ１＿２＿１個であるとすると、それらのリンク内メッシュＩＤは、０〜Ｎ１＿２＿１−１をとる。残りのリンクが、最上統合階層番号が「２」のリンクであり、Ｎ１＿２＿２個であるとすると、それらのリンク内メッシュＩＤ（ＭＩＤ）は、Ｎ１＿２＿１〜Ｎ１＿２＿１＋Ｎ１＿２＿２−１をとり、ＩＩＤ１＿３＝Ｎ１＿２＿１、ＩＩＤ１＿４＝Ｎ１＿２＿１＋１、ＩＩＤ１＿１４＝Ｎ１＿２＿１＋２、・・・となる。
【００９７】
図１１は、図６に示すメッシュＭ１＿４のＩＤ管理テーブルＩＤＭＴ（Ｍ１＿４）およびメッシュＭ１＿４のリンクリストＬＬ（Ｍ１＿４）の一例を示す図である。ＩＤ管理テーブルＩＤＭＴ（Ｍ１＿４）については、後述する。階層番号が「２」の階層では、統合されない最上統合階層番号が「１」のリンクがＮ１＿４＿１個であるとすると、それらのリンク内メッシュＩＤ（ＭＩＤ）は、０〜Ｎ１＿４＿１−１をとり、ＩＩＤ１＿７＝０、ＩＩＤ１＿８＝１、・・・となる。
【００９８】
残りのリンクが、最上統合階層番号が「２」のリンクであり、Ｎ１＿４＿２個であるとすると、それらのリンク内メッシュＩＤ（ＭＩＤ）は、Ｎ１＿４＿１〜Ｎ１＿４＿１＋Ｎ１＿４＿２−１をとり、ＩＩＤ１＿９＝Ｎ１＿４＿１、ＩＩＤ１＿１０＝Ｎ１＿４＿１＋１、ＩＩＤ１＿１１＝Ｎ１＿４＿１＋２、ＩＩＤ１＿１２＝Ｎ１＿４＿１＋３、・・・となる。
【００９９】
図１２は、図６に示すメッシュＭ０＿２のＩＤ管理テーブルＩＤＭＴ（Ｍ０＿２）およびメッシュＭ０＿２のリンクリストＬＬ（Ｍ０＿２）の一例を示す図である。ＩＤ管理テーブルＩＤＭＴ（Ｍ０＿２）については、後述する。最上統合階層番号が「０」のリンクがＮ０＿２＿０個であるとすると、それらのリンク内メッシュＩＤ（ＭＩＤ）は、０〜Ｎ０＿２＿０−１をとり、ＩＩＤ０＿０＝０、ＩＩＤ０＿１＝１、・・・となる。
【０１００】
最上統合階層番号が「１」のリンクがＮ０＿２＿１個であるとすると、それらのリンク内メッシュＩＤ（ＭＩＤ）は、Ｎ０＿２＿０〜Ｎ０＿２＿０＋Ｎ０＿２＿１−１をとり、ＩＩＤ０＿２＝Ｎ０＿２＿０、ＩＩＤ０＿３＝Ｎ０＿２＿０＋１、ＩＩＤ０＿４＝Ｎ０＿２＿０＋２、ＩＩＤ０＿５＝Ｎ０＿２＿０＋３、・・・となる。
【０１０１】
残りのリンクが、最上統合階層番号が「２」のリンクであり、Ｎ０＿２＿２個であるとすると、それらのリンク内メッシュＩＤ（ＭＩＤ）は、Ｎ０＿２＿０＋Ｎ０＿２＿１〜Ｎ０＿２＿０＋Ｎ０＿２＿１＋Ｎ０＿２＿２−１をとる。
【０１０２】
図１３は、図６に示すメッシュＭ０＿９のＩＤ管理テーブルＩＤＭＴ（Ｍ０＿９）およびメッシュＭ０＿９のリンクリストＬＬ（Ｍ０＿９）の一例を示す図である。最上統合階層番号が「０」のリンクがＮ０＿９＿０個であるとすると、それらのリンク内メッシュＩＤ（ＭＩＤ）は、０〜Ｎ０＿９＿０−１をとり、ＩＩＤ０＿１９＝０、ＩＩＤ０＿２０＝１、・・・となる。
【０１０３】
最上統合階層番号が「１」のリンクがＮ０＿９＿１個であるとすると、それらのリンク内メッシュＩＤ（ＭＩＤ）は、Ｎ０＿９＿０〜Ｎ０＿９＿０＋Ｎ０＿９＿１−１をとり、ＩＩＤ０＿２１＝Ｎ０＿９＿０、ＩＩＤ０＿２２＝Ｎ０＿９＿０＋１、ＩＩＤ０＿２３＝Ｎ０＿９＿０＋２、ＩＩＤ０＿２４＝Ｎ０＿９＿０＋３、・・・となる。
【０１０４】
残りのリンクが、最上統合階層番号が「２」のリンクであり、Ｎ０＿９＿２個であるとすると、それらのリンク内メッシュＩＤ（ＭＩＤ）は、Ｎ０＿９＿０＋Ｎ０＿９＿１〜Ｎ０＿９＿０＋Ｎ０＿９＿１＋Ｎ０＿９＿２−１をとり、ＩＩＤ０＿２５＝Ｎ０＿９＿０＋Ｎ０＿９＿１、ＩＩＤ０＿２６＝Ｎ０＿９＿０＋Ｎ０＿９＿１＋１、ＩＩＤ０＿２７＝Ｎ０＿９＿０＋Ｎ０＿９＿１＋２、ＩＩＤ０＿２８＝Ｎ０＿９＿０＋Ｎ０＿９＿１＋３、ＩＩＤ０＿２９＝Ｎ０＿９＿０＋Ｎ０＿９＿１＋４、・・・となる。
【０１０５】
ここで、図７に戻って、図７に示す形状リストは、当該メッシュに存在するリンクの道路形状を表すデータである。形状リストは、前記リンクに対応して設けられた形状レコードによって構成される。形状レコードは、形状点数および形状点リストを備える。
【０１０６】
形状点数は、当該リンクの道路形状を折れ線で表したときの頂点（以下「形状点」という場合がある）の数を表す。道路形状が、始点ノードと終点ノードとを結ぶ直線のときは、形状点数を「０」とする。
【０１０７】
形状点リストは、当該リンクの道路形状を折れ線で表し、その折れ線の頂点である形状点の座標を並べたものである。形状点には、始点ノードおよび終点ノードは含まれない。形状点の座標は、その地理的位置を、緯度および経度で表す。形状点の座標は、前の形状点からの相対的な緯度および経度で表してもよい。このとき、最初の形状点の座標は、リンク始点からの相対的な緯度および経度で表す。
【０１０８】
図７に示すＩＤ管理テーブルは、当該メッシュ内の同じ最上統合階層番号および共通リンクＩＤを有し、１以上のリンクから成るリンク群を管理するためのテーブルである。ＩＤ管理テーブルは、１以上の固定長のＩＤ管理レコードを備えて構成される。ＩＤ管理レコードは、最上統合階層番号、共通リンクＩＤ、先頭副共通リンクＩＤおよび先頭メッシュ内リンクＩＤを備える。
【０１０９】
最上統合階層番号は、当該レコードが管理対象とするリンク群の最上統合階層番号を表す。共通リンクＩＤは、当該レコードが管理対象とするリンク群の共通リンクＩＤを表す。先頭副共通リンクＩＤは、当該レコードが管理対象とするリンク群の先頭のリンクの副共通リンクＩＤを表す。先頭副共通リンクＩＤは、最下層のメッシュにのみ設けるものとする。先頭メッシュ内リンクＩＤは、当該レコードが管理対象とするリンク群の先頭のリンクのメッシュ内リンクＩＤを表す。
【０１１０】
ＩＤ管理レコードは、検索を容易にするために、最上統合階層番号、共通リンクＩＤおよび先頭副共通リンクＩＤによってソートして配置される。
【０１１１】
ＩＤ管理レコードは、最上統合階層番号の昇順に配置され、最上統合階層番号が同じＩＤ管理レコードは、共通リンクＩＤの昇順に配置される。最下層のメッシュでは、さらに最上統合階層番号および共通リンクＩＤが同じＩＤ管理レコードは、先頭副共通リンクＩＤの昇順に配置される。
【０１１２】
リンクリストのリンクレコードは、前述の順にソートして並べられる。メッシュ内リンクＩＤは、リンクレコードの並び順と同一であるので、ＩＤ管理レコードは、先頭メッシュ内リンクＩＤの昇順に並ぶことになる。
【０１１３】
０から、先頭のＩＤ管理レコードの先頭メッシュ内リンクＩＤ未満のメッシュ内リンクＩＤを有するリンクは、当該メッシュの階層番号と最上統合階層番号とが一致し、当該メッシュより上層では統合されないリンクである。
【０１１４】
最上層のメッシュでは、各リンクについて、共通リンクＩＤはメッシュ内リンクＩＤに一致し、副共通リンクＩＤは「０」であるので、データを削減するために、ＩＤ管理テーブルは設けないものとする。
【０１１５】
同様に、上層で統合されるリンクが１つもないメッシュでは、各リンクについて、共通リンクＩＤはメッシュ内リンクＩＤに一致し、副共通リンクＩＤは「０」であるので、データを削減するために、ＩＤ管理テーブルは設けないものとする。
【０１１６】
図１０に示すメッシュＭ１＿２のＩＤ管理テーブルＩＤＭＴ（Ｍ１＿２）において、ＩＤ管理レコードＲ１＿２＿０は、最上統合階層番号が「２」で、かつ共通リンクＩＤがＩＩＤ２＿０であるリンクＬ１＿３，Ｌ１＿４によって構成されるリンク群を管理する。
【０１１７】
０から、先頭のＩＤ管理レコードＲ１＿２＿０の先頭メッシュ内リンクＩＤであるＩＩＤ１＿３未満のメッシュ内リンクＩＤを有するリンクは、それらの階層番号（＝１）と最上統合階層番号（＝１）とが一致し、階層番号が「２」以上の階層では統合されないリンクである。
【０１１８】
図１０に示すメッシュＭ１＿２のＩＤ管理テーブルＩＤＭＴ（Ｍ１＿２）において、ＩＤ管理レコードＲ１＿２＿１は、最上統合階層番号が「２」で、かつ共通リンクＩＤがＩＩＤ２＿５であるリンクＬ１＿１４によって構成されるリンク群を管理する。ＩＤ管理レコードＲ１＿２＿１の後には、リンクレコードがＬ１＿１４のリンクレコードより後に並ぶ最上統合階層番号が「２」で、同じ共通リンクＩＤを有するリンク群を管理するためのＩＤ管理レコードが、前記リンク群の数だけ並ぶ。
【０１１９】
図１１に示すメッシュＭ１＿４のＩＤ管理テーブルＩＤＭＴ（Ｍ１＿４）において、ＩＤ管理レコードＲ１＿４＿０は、最上統合階層番号が「２」で、かつ共通リンクＩＤがＩＩＤ２＿２であるリンクＬ１＿９によって構成されるリンク群を管理する。
【０１２０】
０（＝ＩＩＤ１＿７）から、先頭のＩＤ管理レコードＲ１＿４＿０の先頭メッシュ内リンクＩＤであるＩＩＤ１＿９未満のメッシュ内リンクＩＤを有するリンクは、それらの階層番号（＝１）と最上統合階層番号（＝１）とが一致し、階層番号が「２」以上の階層では統合されないリンクである。
【０１２１】
図１１に示すメッシュＭ１＿４のＩＤ管理テーブルＩＤＭＴ（Ｍ１＿４）において、ＩＤ管理レコードＲ１＿４＿１は、最上統合階層番号が「２」で、かつ共通リンクＩＤがＩＩＤ２＿３であるリンクＬ１＿１０，Ｌ１＿１１によって構成されるリンク群を管理する。ＩＤ管理レコードＲ１＿４＿２は、最上統合階層番号が「２」で、かつ共通リンクＩＤがＩＩＤ２＿４であるリンクＬ１＿１２によって構成されるリンク群を管理する。ＩＤ管理レコードＲ１＿４＿２の後には、リンクレコードがＬ１＿１２のリンクレコードより後に並ぶ最上統合階層番号が「２」で、同じ共通リンクＩＤを有するリンク群を管理するためのＩＤ管理レコードが、前記リンク群の数だけ並ぶ。
【０１２２】
図１２に示すメッシュＭ０＿２のＩＤ管理テーブルＩＤＭＴ（Ｍ０＿２）において、ＩＤ管理レコードＲ０＿２＿０は、最上統合階層番号が「１」で、かつ共通リンクＩＤがＩＩＤ１＿０であるリンクＬ０＿２，Ｌ０＿３によって構成されるリンク群を管理し、前記リンク群の先頭副共通リンクＩＤが「０」であることを示す。
【０１２３】
０（＝ＩＩＤ０＿０）から、先頭のＩＤ管理レコードＲ０＿２＿０の先頭メッシュ内リンクＩＤであるＩＩＤ０＿２未満のメッシュ内リンクＩＤを有するリンクは、それらの階層番号（＝０）と最上統合階層番号（＝０）とが一致し、階層番号が「１」以上の階層では統合されないリンクである。
【０１２４】
図１２に示すメッシュＭ０＿２のＩＤ管理テーブルＩＤＭＴ（Ｍ０＿２）において、ＩＤ管理レコードＲ０＿２＿１は、最上統合階層番号が「１」で、かつ共通リンクＩＤがＩＩＤ１＿２であるリンクＬ０＿４，Ｌ０＿５によって構成されるリンク群を管理し、前記リンク群の先頭副共通リンクＩＤが「０」であることを示す。ＩＤ管理レコードＲ１＿２＿１の後には、リンクレコードがＬ０＿５のリンクレコードより後に並ぶ最上統合階層番号が「１」で、同じ共通リンクＩＤを有するリンク群を管理するためのＩＤ管理レコードが、前記リンク群の数だけ並ぶ。さらに、その後に最上統合階層番号が「２」で、同じ共通リンクＩＤを有するリンク群を管理するためのＩＤ管理レコードが、前記リンク群の数だけ並ぶ。
【０１２５】
図１３に示すメッシュＭ０＿９のＩＤ管理テーブルＩＤＭＴ（Ｍ０＿９）において、ＩＤ管理レコードＲ０＿９＿０は、最上統合階層番号が「１」で、かつ共通リンクＩＤがＩＩＤ１＿７であるリンクＬ０＿２１，Ｌ０＿２２によって構成されるリンク群を管理し、前記リンク群の先頭副共通リンクＩＤが「０」であることを示す。
【０１２６】
０（＝ＩＩＤ０＿１９）から、先頭のＩＤ管理レコードＲ０＿９＿０の先頭メッシュ内リンクＩＤであるＩＩＤ０＿２１未満のメッシュ内リンクＩＤを有するリンクは、それらの階層番号（＝０）と最上統合階層番号（＝０）とが一致し、階層番号が「１」以上の階層では統合されないリンクである。
【０１２７】
図１３に示すメッシュＭ０＿９のＩＤ管理テーブルＩＤＭＴ（Ｍ０＿９）において、ＩＤ管理レコードＲ０＿９＿１は、最上統合階層番号が「１」で、かつ共通リンクＩＤがＩＩＤ１＿８であるリンクＬ０＿２３，Ｌ０＿２４によって構成されるリンク群を管理し、前記リンク群の先頭副共通リンクＩＤが「０」であることを示す。ＩＤ管理レコードＲ０＿９＿１の後には、リンクレコードがＬ０＿２４のリンクレコードより後に並ぶ最上統合階層番号が「１」で、同じ共通リンクＩＤを有するリンク群を管理するためのＩＤ管理レコードが、前記リンク群の数だけ並ぶ。
【０１２８】
図１３に示すメッシュＭ０＿９のＩＤ管理テーブルＩＤＭＴ（Ｍ０＿９）において、ＩＤ管理レコードＲ０＿９＿２は、最上統合階層番号が「２」で、かつ共通リンクＩＤがＩＩＤ２＿３であるリンクＬ０＿２５，Ｌ０＿２６，Ｌ０＿２７，Ｌ０＿２８によって構成されるリンク群を管理し、前記リンク群の先頭副共通リンクＩＤが「１」であることを示す。
【０１２９】
図１３に示すメッシュＭ０＿９のＩＤ管理テーブルＩＤＭＴ（Ｍ０＿９）において、ＩＤ管理レコードＲ０＿９＿３は、最上統合階層番号が「２」で、かつ共通リンクＩＤがＩＩＤ２＿４であるリンクＬ０＿２９によって構成されるリンク群を管理し、前記リンク群の先頭副共通リンクＩＤが「４」であることを示す。ＩＤ管理レコードＲ０＿９＿３の後には、リンクレコードがＬ０＿２９のリンクレコードより後に並ぶ最上統合階層番号が「２」で、同じ共通リンクＩＤを有するリンク群を管理するためのＩＤ管理レコードが、前記リンク群の数だけ並ぶ。
【０１３０】
上記以外で、最下層の被統合リンクが、あるメッシュから隣接する他のメッシュへ出て、再び元のメッシュへ戻る場合は、被統合リンクの最上統合階層番号および共通リンクＩＤが同じであるが、先頭副共通リンクＩＤおよび先頭メッシュ内リンクＩＤが異なる、２つのＩＤ管理レコードが発生することがある。
【０１３１】
図１４は、リンクＬ２＿ｗ０の最下層の被統合リンクが、メッシュＭ０＿ｕから、隣接するメッシュＭ０＿ｖへ出て再びメッシュＭ０＿ｕへ戻る例を示す図である。図１５は、メッシュＭ０＿ｕのＩＤ管理テーブルＩＤＭＴ（Ｍ０＿ｕ）およびメッシュＭ０＿ｕのリンクリストＬＬ（Ｍ０＿ｕ）の一例を示す図である。
【０１３２】
図１５に示すメッシュＭ０＿ｕのＩＤ管理テーブルＩＤＭＴ（Ｍ０＿ｕ）において、ＩＤ管理レコードＲ０＿ｕ＿０と、ＩＤ管理レコードＲ０＿ｕ＿１とでは、最上統合階層番号（＝２）および共通リンクＩＤ（＝ＩＩＤ２＿ｗ０）が同じである。しかし、ＩＤ管理レコードＲ０＿ｕ＿０と、ＩＤ管理レコードＲ０＿ｕ＿１とでは、先頭副共通リンクＩＤが異なっており、それぞれ「０」、「７」であり、また先頭メッシュ内リンクＩＤも異なっており、それぞれＩＩＤ０＿ｕ０、ＩＩＤ０＿ｕ３である。
【０１３３】
リンクレコードおよびＩＤ管理レコードは、前述のようにソートされているので、リンクのメッシュ内リンクＩＤが判っていれば、ＩＤ管理レコードの先頭メッシュ内リンクＩＤを、先頭のＩＤ管理レコードから順に調べることによって、そのリンクの最上統合階層番号、共通リンクＩＤおよび副共通リンクＩＤが判る。
【０１３４】
また、リンクの最上統合階層番号、共通リンクＩＤおよび副共通リンクＩＤが判れば、先頭のＩＤ管理レコードから順に調べることによって、そのリンクのメッシュ内リンクＩＤを求めることができる。
【０１３５】
以下に、図１３を用いて、具体的な例を説明する。リンクＬ０＿２０のメッシュ内リンクＩＤ（ＩＩＤ０＿２０）が判っているとき、リンクＬ０＿２０のメッシュ内リンクＩＤ（ＩＩＤ０＿２０）は、先頭のＩＤ管理レコードＲ０＿９＿０の先頭メッシュ内リンクＩＤ（＝ＩＩＤ０＿２１）より小さいので、リンクＬ０＿２０は、階層番号が「１」以上で統合されず、リンクＬ０＿２０の最上統合階層番号は「０」、共通リンクＩＤはＩＩＤ０＿２０であることが判る。
【０１３６】
リンクＬ０＿２２のメッシュ内リンクＩＤ（ＩＩＤ０＿２２）が判っているとき、リンクＬ０＿２２のメッシュ内リンクＩＤ（ＩＩＤ０＿２２）は、ＩＤ管理レコードＲ０＿９＿０の先頭メッシュ内リンクＩＤ（＝ＩＩＤ０＿２１）より大きく、ＩＤ管理レコードＲ０＿９＿１の先頭メッシュ内リンクＩＤ（＝ＩＩＤ０＿２３）より小さいので、リンクＬ０＿２２は、ＩＤ管理レコードＲ０＿９＿０によって管理されることが判り、リンクＬ０＿２２の最上統合階層番号は「１」、共通リンクＩＤはＩＩＤ１＿７であることが判る。
【０１３７】
また、先頭副共通リンクＩＤが「０」であるので、リンクＬ０＿２１の副共通リンクＩＤは「０」である。また、リンクＬ０＿２２のリンクレコードは、リンクＬ０＿２１の次にあるので、リンクＬ０＿２２の副共通リンクＩＤは「１」であることが判る。
【０１３８】
最上統合階層番号が「２」、共通リンクＩＤがＩＩＤ２＿３であると判っているとき、最上統合階層番号、共通リンクＩＤが前記と一致するＩＤ管理レコードＲ０＿９＿２とその次にあるＩＤ管理レコードＲ０＿９＿３の先頭メッシュ内リンクＩＤから、ＩＩＤ０＿２５、ＩＩＤ０＿２９が得られ、最上統合階層番号が「２」、共通リンクＩＤがＩＩＤ２＿３のリンクは、メッシュ内リンクＩＤから、ＩＩＤ０＿２５〜ＩＩＤ０＿２９−１のリンクＬ０＿２５，Ｌ０＿２６，Ｌ０＿２７，Ｌ０＿２８であることが判る。
【０１３９】
さらに、副共通リンクＩＤが「３」と判っている場合は、ＩＤ管理レコードＲ０＿９＿２の先頭副共通リンクＩＤが「１」、先頭メッシュ内リンクＩＤがＩＩＤ０＿２５であるので、リンクＬ０＿２５の副共通リンクＩＤが「１」であり、副共通リンクＩＤが「３」であるリンクは、リンクＬ０＿２７であることが判る。
【０１４０】
図１６は、出発地から目的地までの好適な経路を求めて、求めた経路を地図上に重畳して表示させる処理の処理手順を示すフローチャートである。図１６に示すフローチャートの各処理は、制御部１１によって実行される。図１６に示すフローチャートの処理は、使用者によって入力部２２が操作されて目的地が入力されると開始され、ステップａ１に移行する。
【０１４１】
ステップａ１において、制御部１１は、目的地を設定する。具体的には、制御部１１は、使用者によって入力部２２が操作され、目的地として入力された施設の名称に基づいて、その施設の近傍のリンクを、検索情報から求める。求めたリンクを目的地リンクとする。たとえば、図６に示すメッシュＭ０＿１０のリンクＬ０＿３１を目的地リンクとする。
【０１４２】
ステップａ２において、制御部１１は、出発地を設定する。具体的には、制御部１１は、マップマッチング処理によって得られた現在位置が位置するリンクを求める。求めたリンクを出発地リンクとする。たとえば、図６に示すメッシュＭ０＿２のリンクＬ０＿２を出発地リンクとする。
【０１４３】
ステップａ３において、制御部１１は、出発地リンクから目的地リンクへ至る経路として、コストが最小となる経路を求める経路探索を行う。経路探索には、たとえばダイクストラ法が用いられる。使用される道路網データは、出発地リンクと目的地リンクとの距離によって異なる。出発地リンクと目的地リンクとの距離が短距離の場合は、図３に示す階層番号が０（Ｌ０）のメッシュの道路網データが用いられる。出発地リンクと目的地リンクとの距離が中距離の場合は、図３および図４に示す階層番号が０（Ｌ０）、１（Ｌ１）のメッシュの道路網データが用いられる。出発地リンクと目的地リンクとの距離が長距離の場合は、図３〜図５に示す階層番号が０（Ｌ０）、１（Ｌ１）、２（Ｌ２）のメッシュの道路網データが用いられる。たとえば、出発地リンクと目的地リンクとの距離が長距離の場合には、制御部１１は、以下に示すように、階層番号が０（Ｌ０）、１（Ｌ１）、２（Ｌ２）、１（Ｌ１）、０（Ｌ０）の順に探索を進める。
【０１４４】
階層番号が０（Ｌ０）のメッシュの出発地リンクから、メッシュの境界上のノードであって、空値でない上層ノードＩＤを有するノードへの経路およびコストを求める。
【０１４５】
前記上層ノードＩＤを示す階層番号が１（Ｌ１）のノードから、階層番号が１（Ｌ１）のメッシュの境界上のノードであって、空値でない上層ノードＩＤを有するノードへの経路およびコストを求める。
【０１４６】
前記上層ノードＩＤを示す階層番号が２（Ｌ２）のノードから、階層番号が２（Ｌ２）のメッシュの境界上のノードであって、空値でない下層ノードＩＤを有するノードへの経路およびコストを求める。
【０１４７】
前記上層ノードＩＤを示す階層番号が１（Ｌ１）のノードから、階層番号が１（Ｌ１）のメッシュの境界上のノードであって、空値でない下層ノードＩＤを有するノードへの経路およびコストを求める。
【０１４８】
前記上層ノードＩＤを示す階層番号が０（Ｌ０）のノードから、目的地リンクへの経路およびコストを求める。
【０１４９】
前記経路の組み合わせの中から、出発地リンクから目的地リンクへのコストが最小となる経路を選択して探索経路とする。
【０１５０】
探索経路を構成するリンクを「経路リンク」という。経路探索の結果、たとえば、図６において、参照符号「５１」〜「５６」で示す経路、すなわちＬ０＿２，Ｌ０＿３，Ｌ１＿１，Ｌ２＿０，Ｌ２＿１，Ｌ１＿９，Ｌ１＿１０，Ｌ１＿７，Ｌ０＿３０，Ｌ０＿３１の経路リンクの列からなる経路が得られる。経路探索の結果として得られた経路を表す情報は、中間経路情報として、制御部１１のメモリに格納する。
【０１５１】
図１７は、中間経路情報のデータ構造の一例を示す図である。中間経路情報は、中間経路情報ヘッダおよび中間経路リンクレコードを備える。中間経路情報ヘッダは、経路リンクの数などを表す。中間経路リンクレコードは、経路リンクを表す。中間経路リンクレコードは、階層番号、メッシュ番号、メッシュ内リンクＩＤ、始点ノード座標、終点ノード座標および経路方向を含む。
【０１５２】
階層番号は、当該経路リンクが属する階層の番号を表す。メッシュ番号は、当該経路リンクが属するメッシュの番号を表す。メッシュ内リンクＩＤは、当該経路リンクのメッシュ内のリンクを識別するための識別子を表す。始点ノード座標は、当該経路リンクの始点ノードの位置を、経度および緯度で表す。終点ノード座標は、当該経路リンクの終点ノードの位置を、経度および緯度で表す。経路方向は、リンクの方向に対する経路の方向を示す。経路が当該経路リンクの始点ノードから終点ノードへ向かうときの経路方向は、順方向とする。経路が当該経路リンクの終点ノードから始点ノードへ向かうときの経路方向は、逆方向とする。中間経路リンクレコードは、出発地リンクから目的地リンクへ向かう順に並べる。
【０１５３】
表１に、前述のＬ０＿２，Ｌ０＿３，Ｌ１＿１，Ｌ２＿０，Ｌ２＿１，Ｌ１＿９，Ｌ１＿１０，Ｌ１＿７，Ｌ０＿３０，Ｌ０＿３１の経路リンクに対するそれぞれの中間経路リンクレコードの設定値を示す。
【０１５４】
【表１】
2015094658.tif 000003
【０１５５】
ここで、図１６に示すフローチャートに戻り、ステップａ４において、制御部１１は、メッシュ内リンクＩＤで表された経路リンクを、共通リンクＩＤおよび副共通リンクＩＤで表すように変換する。具体的には、制御部１１は、ステップａ３で得られた中間経路情報の各中間経路リンクレコードのメッシュ内リンクＩＤ以外の階層番号、メッシュ番号、始点ノード座標、終点ノード座標および経路方向に、メッシュ内リンクＩＤから変換して得られた共通リンクＩＤ、副共通リンクＩＤおよび次副共通リンクＩＤを追加して経路情報を生成する。生成した経路情報は、制御部１１のメモリに格納する。
【０１５６】
図１８は、経路情報のデータ構造の一例を示す図である。経路情報は、経路情報ヘッダおよび経路リンクレコードを備える。経路情報ヘッダは、経路リンクの数などを表す。経路リンクレコードは、経路リンクを表す。経路リンクレコードは、階層番号、メッシュ番号、始点ノード座標、終点ノード座標、経路方向、最上統合階層番号、当該経路リンクの共通リンクＩＤ、副共通リンクＩＤおよび次副共通リンクＩＤを含む。
【０１５７】
階層番号は、当該経路リンクが属する階層の番号を表す。メッシュ番号は、当該経路リンクが属するメッシュの番号を表す。始点ノード座標は、当該経路リンクの始点ノードの位置を、経度および緯度で表す。終点ノード座標は、当該経路リンクの終点ノードの位置を、経度および緯度で表す。経路方向は、リンクの方向に対する経路の方向を示す。最上統合階層番号は、当該経路リンクの最上統合階層の番号を表す。次副共通リンクＩＤは、当該経路リンクと同一階層に存在するリンクであって、当該経路リンクに接続し、当該経路リンクと同一の最上統合階層番号と共通リンクＩＤとを有するリンクの副共通リンクＩＤである。
【０１５８】
中間経路情報の各中間経路リンクレコードに対して、中間経路リンクレコードが示す階層番号およびメッシュ番号の道路網データを読み取る。道路網データに含まれるＩＤ管理テーブルから、経路リンクの最上統合階層番号、共通リンクＩＤおよび副共通リンクＩＤを求める。求めた最上統合階層番号、共通リンクＩＤ、副共通リンクＩＤおよび次副共通リンクＩＤを、中間経路リンクレコードのメッシュ内リンクＩＤ以外の階層番号、メッシュ番号、始点ノード座標、終点ノード座標および経路方向に追加し、経路情報の経路リンクレコードを生成する。
【０１５９】
前述のようにして生成された経路情報は、経路リンクを最上統合階層番号、共通リンクＩＤ、副共通リンクＩＤおよび次副共通リンクＩＤで表す。これらの最上統合階層番号、共通リンクＩＤ、副共通リンクＩＤおよび次副共通リンクＩＤは、描画しようとするメッシュにおけるメッシュ内リンクＩＤに依存しないので、経路リンクを任意の階層のリンクに対応付けることが容易となる。表２に、経路リンクレコードの一例を示す。
【０１６０】
【表２】
2015094658.tif 000004
【０１６１】
たとえば、階層番号が１の階層のメッシュＭ１＿４の経路探索で得られた経路リンクＬ１＿１０のリンクレコードである表２の経路リンクレコード６は、階層番号が１の階層のメッシュＭ１＿４では最上統合階層番号が２、共通リンクＩＤがＩＩＤ２＿３、副共通リンクＩＤが０のリンクＬ１＿１０が該当する経路リンクであることを示す。
【０１６２】
また、階層番号が０の階層のメッシュＭ０＿９では、最上統合階層番号が２、共通リンクＩＤがＩＩＤ２＿３、副共通リンクＩＤが０〜３のリンクＬ０＿２５，Ｌ０＿２６，Ｌ０＿２７が該当する経路リンクであることを示す。
【０１６３】
また、階層番号が２の階層のメッシュＭ２＿２では、最上統合階層番号が２、共通リンクＩＤがＩＩＤ２＿３、副共通リンクＩＤが０のリンクＬ２＿３が該当する経路リンクであることを示す。ただし、この場合は始点ノード座標および終点ノード座標を利用して、リンクＬ２＿３上の該当する箇所を特定する。
【０１６４】
ここで、再び図１６に示すフローチャートに戻り、ステップａ５において、制御部１１は、地図を表示させる。具体的には、制御部１１は、使用者によって入力部２２が操作されて入力された地図表示縮尺と、マップマッチング処理によって得られた現在位置とに基いて、所要の階層のメッシュを決定する。制御部１１は、決定したメッシュの地図データを地図情報記憶部１２から読み取る。描画処理部２３によって、前記決定したメッシュの背景、道路および名称を描画させる。前記決定したメッシュの地図画像を生成して、表示部２４に与える。これによって、制御部１１は、表示部２４に地図を表示させる。地図情報記憶部１２から読み取る地図データは、たとえば、大縮尺では、図３に示す階層番号が０（Ｌ０）の階層のメッシュ、中縮尺では図４に示す階層番号が１（Ｌ１）の階層のメッシュ、小縮尺では図５に示す階層番号が２（Ｌ２）の階層のメッシュであり、現在位置を含むメッシュとその周辺のメッシュを含むデータである。
【０１６５】
ステップａ６において、制御部１１は、経路を表示させる。具体的には、制御部１１は、経路情報の各経路リンクレコードが表す経路リンクを、ステップａ５で生成した地図画像上に強調して描画し、その地図画像を表示部２４に与える。これによって、制御部１１は、表示部２４に経路を表示させる。ステップａ６の処理が終了すると、全ての処理手順が終了する。
【０１６６】
図１９〜図２１は、図１６のステップａ４における経路情報の生成処理に関する詳細な処理手順を示すフローチャートである。本実施の形態では、中間経路情報の中間経路リンクレコードそれぞれについて、図１９〜図２１の各処理を行う。以下の説明で用いる各変数は、制御部１１のメモリに設けるものとする。
【０１６７】
図１９〜図２１に示すフローチャートの各処理は、制御部１１によって実行される。図１９〜図２１に示すフローチャートの処理は、図１６のステップａ３の処理が終了すると開始され、ステップｂ１に移行する。
【０１６８】
ステップｂ１において、制御部１１は、中間経路リンクレコードの階層番号、メッシュ番号、メッシュ内リンクＩＤ、始点ノード座標、終点ノード座標および経路方向を求め、それぞれを変数ＬＶ，ＭＮ，ＩＩＤ，（Ｘｓ，Ｙｓ），（Ｘｅ，Ｙｅ），ＤＩＲに格納する。
【０１６９】
ステップｂ２において、制御部１１は、経路リンクレコードの階層番号、メッシュ番号、始点ノード座標、終点ノード座標および経路方向に、変数ＬＶ，ＭＮ，（Ｘｓ，Ｙｓ），（Ｘｅ，Ｙｅ），ＤＩＲの値を設定する。
【０１７０】
ステップｂ３において、制御部１１は、変数ＬＶが示す階層番号の階層の変数ＭＮが示すメッシュ番号のメッシュの道路網データを、地図情報記憶部１２から取得して、制御部１１のメモリに格納する。既に道路網データを取得している場合は、取得している道路網データを使用する。
【０１７１】
ステップｂ４において、制御部１１は、ステップａ３で取得した道路網データにＩＤ管理テーブルが無いか否かを判断する。道路網データにＩＤ管理テーブルが無いと判断された場合は、ステップｂ５に移行し、道路網データにＩＤ管理テーブルがあると判断された場合は、ステップｂ６に移行する。変数ＬＶが示す階層番号の階層が最上層のときは、ＩＤ管理テーブルは設けないので、ステップｂ５に移行することになる。
【０１７２】
ステップｂ５において、制御部１１は、中間経路リンクレコードに対応する経路リンクレコードの最上統合階層番号、共通リンクＩＤ、副共通リンクＩＤ、次副共通リンクＩＤに、変数ＬＶの値、変数ＩＩＤの値、０、空値を設定する。空値としては、たとえば次副共通リンクＩＤを１バイト長として「０ｘＦＦ」を設定する。ステップｂ５の処理を終了した後は、中間経路リンクレコードに関する全ての処理手順を終了する。
【０１７３】
ステップｂ６において、制御部１１は、ＩＤ管理レコードを指定する変数Ｎの値を０に初期化する。ＩＤ管理テーブルの先頭を０番目とし、ＩＤ管理テーブルのＮ（Ｎは自然数）番目のＩＤ管理レコードを「ＩＤ管理レコード［Ｎ］」で表す。ステップｂ６の処理が終了すると、図２０のステップｂ７に移行する。
【０１７４】
図２０のステップｂ７において、制御部１１は、経路リンクを管理対象とするＩＤ管理レコード［Ｎ］から、最上統合階層番号、共通リンクＩＤ、先頭副共通リンクＩＤ、先頭メッシュ内リンクＩＤを求め、それぞれを変数ＬＶｍａｘ，ＣＩＤ，ＳＩＤｔｏｐ，ＩＩＤｔｏｐに格納する。最下層以外のメッシュでは、先頭副共通リンクＩＤがないので、変数ＳＩＤｔｏｐに空値を格納する。空値としては、たとえば次副共通リンクＩＤを１バイト長として「０ｘＦＦ」を設定する。
【０１７５】
ステップｂ８において、制御部１１は、変数Ｎが示すレコード番号の次にあるＩＤ管理レコード、すなわちＩＤ管理レコード［Ｎ＋１］から、先頭メッシュ内リンクＩＤを求め、それを変数ＩＩＤｔｏｐ’に格納する。ＩＤ管理レコード［Ｎ］が最後のＩＤ管理レコードのときは、本ステップでは変数ＩＩＤｔｏｐ’に当該メッシュのリンク数を格納する。
【０１７６】
ステップｂ９において、制御部１１は、当該経路リンクがＩＤ管理レコード［Ｎ］の管理対象か否かを判断する。ＩＤ管理レコード［Ｎ］の管理対象であると判断された場合は、ステップｂ１０に移行し、ＩＤ管理レコード［Ｎ］の管理対象ではないと判断された場合は、ステップｂ１１に移行する。制御部１１は、変数ＩＩＤの値が、変数ＩＩＤｔｏｐの値以上で、変数ＩＩＤｔｏｐ’の値未満であるときは、当該経路リンクを管理対象と判断する。
【０１７７】
ステップｂ１０において、制御部１１は、当該経路リンクが上層で統合されないか否かを判断する。当該経路リンクが上層で統合されないと判断された場合は、図１９のステップｂ５に戻り、当該経路リンクが上層で統合されると判断された場合は、図２１のステップｂ１３に移行する。変数Ｎの値が０であり、かつ変数ＩＩＤの値が変数ＩＩＤｔｏｐの値未満である場合は、当該経路リンクが上層で統合されないと判断される。変数Ｎの値が０であり、かつ変数ＩＩＤの値が変数ＩＩＤｔｏｐの値未満でない、すなわち変数ＩＩＤの値が変数ＩＩＤｔｏｐの値以上である場合は、当該経路リンクが上層で統合されると判断される。
【０１７８】
ステップｂ１１において、制御部１１は、変数Ｎの値を１増加させ、変数Ｎが次のＩＤ管理レコードを指定するようにする。
【０１７９】
ステップｂ１２において、制御部１１は、変数Ｎの値がＩＤ管理レコード数未満（Ｎ＜ＩＤ管理レコード数）であるか否かを判断する。変数Ｎの値がＩＤ管理レコード数未満（Ｎ＜ＩＤ管理レコード数）であると判断された場合は、ステップｂ７に戻り、変数Ｎの値がＩＤ管理レコード数以上（Ｎ≧ＩＤ管理レコード数）であると判断された場合は、中間経路リンクレコードに関する全ての処理手順を終了する。
【０１８０】
図２１のステップｂ１３において、制御部１１は、当該中間経路リンクレコードに対応する経路リンクレコードの最上統合階層番号、共通リンクＩＤのそれぞれに、変数ＬＶｍａｘの値、変数ＣＩＤの値を設定する。
【０１８１】
ステップｂ１４において、制御部１１は、変数ＬＶが示す階層番号が最下層の階層番号であるか否か、すなわち変数ＬＶが示す階層が最下層であるか否かを判断する。変数ＬＶが示す階層が最下層であると判断された場合は、ステップｂ１５に移行し、変数ＬＶが示す階層が最下層ではないと判断された場合は、ステップｂ１７に移行する。
【０１８２】
ステップｂ１４において、変数ＬＶが示す階層が最下層である、すなわち当該経路リンクが最下層であると判断された場合、当該経路リンクの副共通リンクＩＤは、変数ＳＩＤｔｏｐの値からメッシュ内リンクＩＤの順に付与されている。したがって、ステップｂ１５において、制御部１１は、当該中間経路リンクレコードに対応する経路リンクレコードの副共通リンクＩＤに、以下の式（１）によって求めた値を設定する。
【０１８３】
ＳＩＤｔｏｐ＋（ＩＩＤ−ＩＩＤｔｏｐ）                            …（１）
【０１８４】
ステップｂ１６において、制御部１１は、最下層次副共通リンクＩＤを求める。具体的には、制御部１１は、ノードテーブルを参照して、当該経路リンクの経路方向が順方向側のノードに接続する各リンクのメッシュ内リンクＩＤを求める。次に、制御部１１は、ＩＤ管理テーブルを参照して、前記各リンクの最上統合階層番号、共通リンクＩＤを求める。
【０１８５】
次に、制御部１１は、前記各リンクの中で最上統合階層番号、共通リンクＩＤが、それぞれ、変数ＬＶｍａｘ，ＣＩＤに一致するリンクを検索する。制御部１１は、一致するリンクが検出された場合、すなわち当該経路リンクの経路方向が順方向側のノードに接続するリンクがある場合は、次副共通リンクＩＤを、経路リンクレコードの副共通リンクＩＤに１を加えた値とする。制御部１１は、一致するリンクが検出されなかった場合、すなわち当該経路リンクの経路方向が順方向側のノードに接続するリンクがない場合は、次副共通リンクＩＤを空値とする。最下層における副共通リンクＩＤは連続した番号となるので、前述のように１を加えることによって、次副共通リンクＩＤを求めることができる。
【０１８６】
制御部１１は、当該経路リンクの経路方向が順方向側のノードに接続するリンクが、隣接するメッシュに存在する場合は、隣接するメッシュの道路網データを取得し、取得した道路網データを用いて、前述と同様の処理を行う。
【０１８７】
当該経路リンクの経路方向が順方向側のノードに接続する各リンクの最上統合階層番号および共通リンクＩＤを求める処理では、変数ＬＶが示す階層番号の階層が最上層である場合は、最上統合階層番号がＬＶとされ、共通リンクＩＤが前記各リンクのメッシュ内リンクＩＤとされる。
【０１８８】
また、変数ＬＶが示す階層番号の階層が最上層でない場合は、当該経路リンクの経路方向が順方向側のノードに接続するリンクのリンク内メッシュＩＤの値が変数ＩＩＤに格納され、図１９のステップｂ５、図２０のステップｂ７〜ｂ９，ｂ１１，ｂ１２と同様の処理が行われる。
【０１８９】
そして、図２０のステップｂ９において、変数ＩＩＤが示すリンクが管理対象となったときに、図２０のステップｂ７で得られた変数ＬＶｍａｘ，ＣＩＤが、変数ＩＩＤの示すリンクの最上統合階層番号、共通リンクＩＤとされる。ステップｂ１６の処理が終了した後は、ステップｂ１９に移行する。
【０１９０】
ステップｂ１４において、変数ＬＶが示す階層が最下層でない、すなわち当該経路リンクが最下層でないと判断された場合、当該経路リンクの副共通リンクＩＤは、そのリンクレコード内に格納されている。したがって、ステップｂ１７において、制御部１１は、変数ＩＩＤが示すメッシュ内リンクＩＤのリンクレコードをリンクリストから取得する。制御部１１は、取得したリンクレコード内の副共通リンクＩＤを求め、当該中間経路リンクレコードに対応する経路リンクレコードの副共通リンクＩＤに、求めた副共通リンクＩＤを設定する。
【０１９１】
ステップｂ１８において、制御部１１は、次副共通リンクＩＤを求める。具体的には、ノードテーブルを参照して、当該経路リンクの経路方向が順方向側のノードに接続する各リンクについて、そのメッシュ内リンクＩＤを求める。次に、ＩＤ管理テーブルを参照して、前記各リンクの最上統合階層番号、共通リンクＩＤを求める。次に、前記各リンクの中で最上統合階層番号、共通リンクＩＤが、それぞれ、変数ＬＶｍａｘ，ＣＩＤに一致するリンクを特定し、特定したリンクのリンクレコードの副共通リンクＩＤを次副共通リンクＩＤとして求める。該当するリンクが無い場合は、次副共通リンクＩＤは、空値とする。空値は、たとえば、次副共通リンクＩＤを１バイト長とするとき、「０ｘＦＦ」とする。当該経路リンクレコードに接続するリンクが、隣接するメッシュに存在する場合は、隣接するメッシュの道路網データを取得し、取得した道路網データを用いて、前述と同様の処理を行う。ステップｂ１８の処理が終了した後は、ステップｂ１９に移行する。
【０１９２】
ステップｂ１９において、制御部１１は、ステップｂ１６またはステップｂ１８で求めた次副共通リンクＩＤを、経路リンクレコードの次副共通リンクＩＤに設定する。ステップｂ１９の処理が終了した後は、当該中間経路リンクレコードに関する全ての処理手順を終了する。
【０１９３】
以下に、表１に示す中間経路リンクレコードから表２に示す経路リンクレコードへの変換について、前述の図１９〜図２１に示すフローチャートの各処理の具体例を示して説明する。
【０１９４】
中間経路リンクレコード０から経路リンクレコード０への変換について説明する。経路リンクＬ０＿２の中間経路リンクレコード０に対して、図１９のステップｂ１，ｂ２において、中間経路リンクレコード０の階層番号、メッシュ番号、始点ノード座標、終点ノード座標および経路方向が経路リンクレコード０に格納され、以下の処理によって、残りの最上統合階層番号、共通リンクＩＤ、副共通リンクＩＤおよび次副共通リンクＩＤが経路リンクレコード０に格納される。
【０１９５】
ステップｂ３の処理を終了した後、変数ＬＶが示す階層番号が０で、ＩＤ管理テーブルが存在するので、ステップｂ４，ｂ６を経由し、ステップｂ７において、ＩＤ管理レコード［０］（図１２に示すメッシュＭ０＿２のＩＤ管理テーブルにおけるＩＤ管理レコードＲ０＿２＿０）から、変数ＬＶｍａｘが１、変数ＣＩＤがＩＩＤ１＿０、変数ＳＩＤｔｏｐが０、変数ＩＩＤｔｏｐがＩＩＤ０＿２となる。また、ステップｂ８において、ＩＤ管理レコード［１］（図１２に示すメッシュＭ０＿２のＩＤ管理テーブルにおけるＩＤ管理レコードＲ０＿２＿１）から、変数ＩＩＤｔｏｐ’がＩＩＤ０＿４となる。
【０１９６】
ステップｂ９において、変数ＩＩＤの値（＝ＩＩＤ０＿２）が、変数ＩＩＤｔｏｐの値（＝ＩＩＤ０＿２）以上で、変数ＩＩＤｔｏｐ’の値（＝ＩＩＤ０＿４）未満であることから、当該経路リンクＬ０＿２は、ＩＤ管理レコード［０］の管理対象であると判断する。
【０１９７】
ステップｂ１０において、変数Ｎは０であるが、変数ＩＩＤの値（＝ＩＩＤ０＿２）は、変数ＩＩＤｔｏｐの値（＝ＩＩＤ０＿２）未満ではないので、上層で統合されると判断される。
【０１９８】
図２１のステップｂ１３において、経路リンクレコード０の最上統合階層番号に変数ＬＶｍａｘの値（＝１）を格納し、共通リンクＩＤに変数ＣＩＤの値（＝ＩＩＤ１＿０）を格納する。
【０１９９】
ステップｂ１４において、変数ＬＶが０であり、最下層であるので、ステップｂ１５において、経路リンクレコード０の副共通リンクＩＤに、以下の式（２）によって求めた値０を設定する。
【０２００】
ＳＩＤｔｏｐ（＝０）＋（ＩＩＤ（＝ＩＩＤ０＿２）
−ＩＩＤｔｏｐ（＝ＩＩＤ０＿２））            …（２）
【０２０１】
ステップｂ１６において、当該経路リンクＬ０＿２の経路の順方向側のノードに接続するリンク（Ｌ０＿１，Ｌ０＿３）のメッシュ内リンクＩＤを求め、メッシュ内リンクＩＤに基づいて、それぞれの最上統合階層番号、共通リンクＩＤを図１２に示すメッシュＭ０＿２のＩＤ管理テーブルＩＤＭＴ（Ｍ０＿２）から求める。最上統合階層番号、共通リンクＩＤが経路リンクＬ０＿２と同一であるリンクＬ０＿３が見つかり、経路リンクレコード０の副共通リンクＩＤ（＝０）に１を加えた値（＝１）を次副共通リンクＩＤとし、ステップｂ１９において、経路リンクレコード０の次副共通リンクＩＤに格納する。
【０２０２】
以上のような処理を行うことによって、中間経路リンクレコード０から経路リンクレコード０に変換される。
【０２０３】
次に、中間経路リンクレコード１から経路リンクレコード１への変換について説明する。経路リンクＬ０＿３の中間経路リンクレコード１に対する処理は、中間経路リンクレコード０と同様であるが、ステップｂ１６において、当該経路リンクＬ０＿３の経路の順方向側のノードに接続するリンク、すなわちリンクＬ０＿５，Ｌ０＿６の最上統合階層番号、共通リンクＩＤは、当該経路リンクＬ０＿３の最上統合階層番号、共通リンクＩＤに一致しないので、次副共通リンクＩＤを空値とする。リンクＬ０＿６は、隣接するメッシュＭ０＿３に属するので、メッシュＭ０＿３の道路網データを取得して、最上統合階層番号、共通リンクＩＤを求める。
【０２０４】
次に、中間経路リンクレコード２から経路リンクレコード２への変換について説明する。経路リンクＬ１＿１は、経路リンクＬ１＿７と同様に上層で統合されないので、後述の中間経路リンクレコード７から経路リンクレコード７への変換の処理と同様にして、中間経路リンクレコード２から経路リンクレコード２に変換される。
【０２０５】
次に、中間経路リンクレコード３から経路リンクレコード３への変換について説明する。経路リンクＬ２＿０の中間経路リンクレコード３に対して、ステップｂ１，ｂ２において、中間経路リンクレコード３の階層番号、メッシュ番号、始点ノード座標、終点ノード座標および経路方向が経路リンクレコード３に格納され、以下の処理によって、残りの最上統合階層番号、共通リンクＩＤ、副共通リンクＩＤおよび次副共通リンクＩＤが経路リンクレコード３に格納される。
【０２０６】
ステップｂ３の処理を終了した後、変数ＬＶが示す階層番号が２で、最上層にはＩＤ管理テーブルがないので、ステップｂ４からステップｂ５へ移行し、ステップｂ５において、経路リンクレコード３の最上統合階層番号、共通リンクＩＤ、副共通リンクＩＤ、次副共通リンクＩＤのそれぞれに、変数ＬＶの値（＝２）、変数ＩＩＤの値（＝ＩＩＤ２＿０）、０、空値を設定する。以上のような処理を行うことによって、中間経路リンクレコード３から経路リンクレコード３に変換される。
【０２０７】
次に、中間経路リンクレコード４から経路リンクレコード４への変換について説明する。経路リンクＬ２＿１の中間経路リンクレコード４に対して、中間経路リンクレコード３の場合と同様にして、中間経路リンクレコード４から経路リンクレコード４に変換される。
【０２０８】
次に、中間経路リンクレコード５から経路リンクレコード５への変換について説明する。経路リンクＬ１＿９の中間経路リンクレコード５に対して、ステップｂ１からステップｂ１４に至るまでは、中間経路リンクレコード０の変換と同様の処理を行う。ステップｂ１４において、変数ＬＶが示す階層番号が１であり、最下層ではないので、ステップｂ１７に移行する。ステップｂ１７において、ＩＩＤが示すメッシュ内リンクＩＤ（ＩＩＤ１＿９）のリンクレコードを、図１１に示すメッシュＭ１＿４のリンクリストＬＬ（Ｍ１＿４）から取得し、取得したリンクレコードの副共通リンクＩＤを経路リンクレコード５の副共通リンクＩＤに格納する。
【０２０９】
ステップｂ１８において、当該経路リンクＬ１＿９の経路の順方向側のノードに接続するリンク（Ｌ１＿１０）のメッシュ内リンクＩＤを求め、メッシュ内リンクＩＤに基づいて、それぞれの最上統合階層番号、共通リンクＩＤを図１１に示すメッシュＭ１＿４のＩＤ管理テーブルＩＤＭＴ（Ｍ１＿４）から求める。これによって、最上統合階層番号は２、共通リンクＩＤはＩＩＤ２＿３が得られるが、経路リンクＬ２＿２とは異なるので、次副共通リンクＩＤを空値とし、ステップｂ１９において、経路リンクレコード５の次副共通リンクＩＤに格納する。以上のような処理を行うことによって、中間経路リンクレコード５から経路リンクレコード５に変換される。
【０２１０】
次に、中間経路リンクレコード６から経路リンクレコード６への変換について説明する。経路リンクＬ１＿１０の中間経路リンクレコード６に対して、ステップｂ１からステップｂ１８に至るまでは、中間経路リンクレコード５から経路リンクレコード５への変換と同様にして処理を行う。
【０２１１】
ステップｂ１８において、当該経路リンクＬ１＿１０の経路の順方向側のノードに接続するリンク（Ｌ１＿７，Ｌ１＿１１）のメッシュ内リンクＩＤを求め、メッシュ内リンクＩＤに基づいて、それぞれの最上統合階層番号、共通リンクＩＤを図１１に示すメッシュＭ１＿４のＩＤ管理テーブルＩＤＭＴ（Ｍ１＿４）から求める。
【０２１２】
これによって、最上統合階層番号、共通リンクＩＤが経路リンクＬ１＿１０と同一であるリンクＬ１＿１１が見つかり、リンクＬ１＿１１のメッシュ内リンクＩＤのリンクレコードを、図１１に示すメッシュＭ１＿４のリンクリストＬＬ（Ｍ１＿４）から取得し、取得したリンクレコードの副共通リンクＩＤを経路リンクレコード６の副共通リンクＩＤに格納する。
【０２１３】
ステップｂ１９において、経路リンクレコード６の次副共通リンクＩＤに格納する。以上のような処理を行うことによって、中間経路リンクレコード６から経路リンクレコード６に変換される。
【０２１４】
次に、中間経路リンクレコード７から経路リンクレコード７への変換について説明する。経路リンクＬ１＿７の中間経路リンクレコード７に対して、ステップｂ１からステップｂ１０に至るまでは、中間経路リンクレコード６から経路リンクレコード６への変換と同様にして処理を行う。ステップｂ１０において、変数Ｎが０のとき、ＩＩＤの値（＝ＩＩＤ１＿７）は、ＩＤ管理レコードＲ１＿４＿０から求めた変数ＩＩＤｔｏｐの値（＝ＩＩＤ１＿９）未満であるので、上層で統合されないと判断される。ステップｂ５において、経路リンクレコード７の最上統合階層番号、共通リンクＩＤ、副共通リンク番号、次副共通リンク番号に、それぞれ変数ＬＶの値、変数ＩＩＤの値、０、空値を格納する。以上のような処理を行うことによって、中間経路リンクレコード７から経路リンクレコード７に変換される。
【０２１５】
次に、中間経路リンクレコード８から経路リンクレコード８への変換について説明する。経路リンクＬ０＿３０は、経路リンクＬ１＿７と同様に、上層で統合されないので、中間経路リンクレコード７から経路リンクレコード７へ変換の処理と同様にして、中間経路リンクレコード８から経路リンクレコード８に変換される。
【０２１６】
次に、中間経路リンクレコード９から経路リンクレコード９への変換について説明する。経路リンクＬ０＿３１は、経路リンクＬ１＿７と同様に、上層で統合されないので、中間経路リンクレコード７から経路リンクレコード７への変換の処理と同様にして、中間経路リンクレコード９から経路リンクレコード９に変換される。
【０２１７】
図２２〜図２４は、図１６のステップａ６における経路表示に関する処理の詳細な処理手順を示すフローチャートである。以下の説明で用いる各変数は、制御部１１のメモリに設けるものとする。
【０２１８】
図２２〜図２４に示すフローチャートの各処理は、制御部１１によって実行される。図２２〜図２４に示すフローチャートの処理は、図１６のステップａ５の処理が終了すると開始され、ステップｃ１に移行する。
【０２１９】
ステップｃ１において、制御部１１は、経路情報から経路リンクレコードを順に取得する。制御部１１は、取得した経路リンクレコードから、階層番号、メッシュ番号、始点ノード座標Ｘ、始点ノード座標Ｙ、終点ノード座標Ｘ、終点ノード座標Ｙ、経路方向、最上統合階層番号、共通リンクＩＤ、副共通リンクＩＤおよび次副共通リンクＩＤを求め、それぞれを変数ＬＶ＿Ｄ，ＭＮ＿Ｄ，Ｘｓ，Ｙｓ，Ｘｅ，Ｙｅ，ＤＩＲ，ＬＶｍａｘ＿Ｄ，ＣＩＤ＿Ｄ，ＳＩＤ＿Ｄ，ＮＳＩＤ＿Ｄに格納する。また、制御部１１は、経路リンクレコードの取得数を計数する。
【０２２０】
ステップｃ２において、制御部１１は、描画が必要か否かを判断する。描画が必要であると判断された場合は、ステップｃ３に移行し、描画が必要ではないと判断された場合は、図２４のステップｃ１９に移行する。
【０２２１】
さらに具体的に述べると、経路リンクを上層に描画するとき、すなわち、図１６のステップａ５で描画したメッシュの階層が変数ＬＶ＿Ｄよりも上位のときは、前記メッシュが、変数ＬＶ＿Ｄが示す階層番号および変数ＭＮ＿Ｄが示すメッシュ番号のメッシュを含まない場合、図１６のステップａ５で描画したメッシュは当該経路リンクを含まないので、当該経路リンクは描画する必要がないとして、図２４のステップｃ１９に移行する。前記メッシュが、変数ＬＶ＿Ｄが示す階層番号および変数ＭＮ＿Ｄが示すメッシュ番号のメッシュを含む場合は、ステップｃ３に移行する。
【０２２２】
また、経路リンクを下層または同一階層に描画するとき、すなわち、図１６のステップａ５で描画したメッシュの階層が変数ＬＶ＿Ｄよりも下位または同一階層のときは、前記メッシュが、変数ＬＤＶ＿Ｄが示す階層番号および変数ＭＮ＿Ｄが示すメッシュ番号のメッシュに含まれない場合、図１６のステップａ５で描画したメッシュは当該経路リンクを含まないので、当該経路リンクは描画する必要がないとして、図２４のステップｃ１９に移行する。前記メッシュが、変数ＬＶ＿Ｄが示す階層番号および変数ＭＮ＿Ｄが示すメッシュ番号のメッシュを含む場合は、ステップｃ３に移行する。
【０２２３】
以下に、描画が必要ではない場合の具体例を説明する。図１６のステップａ５において、階層番号が１のメッシュＭ１＿０の地図を描画したとき、表２の経路リンクＬ０＿２の経路リンクレコード０に対して、ＬＶ＿Ｄ（＝０）、ＭＮ＿Ｄ（＝２）はメッシュＭ０＿２を示し、メッシュＭ１＿０はメッシュＭ０＿２を含まないので、経路リンクＬ０＿２は、メッシュＭ１＿０の地図に描画する必要がない。
【０２２４】
また、図１６のステップａ５において、階層番号が０のメッシュＭ０＿０の地図を描画したとき、表２の経路リンクＬ１＿１の経路リンクレコード２に対して、ＬＶ＿Ｄ（＝１）、ＭＮ＿Ｄ（＝１）はメッシュＭ１＿１を示し、メッシュＭ０＿０はメッシュＭ１＿１に含まれないので、経路リンクＬ１＿１は、メッシュＭ０＿０の地図に描画する必要がない。
【０２２５】
ステップｃ３において、制御部１１は、図１６のステップａ５で描画したメッシュの階層が、変数ＬＶｍａｘ＿Ｄが示す最上統合階層番号の階層と同じか否かを判断する。描画したメッシュの階層が、変数ＬＶｍａｘ＿Ｄが示す最上統合階層番号の階層と同じと判断された場合は、ステップｃ４に移行し、描画したメッシュの階層が、変数ＬＶｍａｘ＿Ｄが示す最上統合階層番号の階層と同じでないと判断された場合は、ステップｃ５に移行する。変数ＬＶｍａｘ＿Ｄが示す最上統合階層番号の階層よりも上層となる経路リンクは存在しないので、ステップｃ５に移行するのは、図１６のステップａ５で描画したメッシュの階層が、変数ＬＶｍａｘ＿Ｄが示す最上統合階層番号の階層よりも下層のときのみとなる。
【０２２６】
ステップｃ４において、制御部１１は、図１６のステップａ５で道路の描画に使用した道路網データのリンクリストから、メッシュ内リンクＩＤが変数ＣＩＤ＿Ｄであるリンクレコードを取得する。ステップｃ４の処理を終了した後は、図２４のステップｃ１４に移行する。
【０２２７】
本フローチャートでは、ステップｃ３において、図１６のステップａ５で描画したメッシュの階層と、変数ＬＶｍａｘ＿Ｄが示す最上統合階層番号の階層とが同一であり、変数ＣＩＤ＿Ｄは、前記メッシュにおける当該経路リンクのメッシュ内リンクＩＤに一致するので、本ステップｃ４において、当該経路リンクのリンクレコードを取得することができる。
【０２２８】
ステップｃ５において、制御部１１は、図１６のステップａ５で道路の描画に使用した道路網データのＩＤ管理テーブルを検索する。そして、制御部１１は、最上統合階層番号、共通リンクＩＤがそれぞれ変数ＬＶｍａｘ＿Ｄ，ＣＩＤ＿Ｄに一致するＩＤ管理レコードを検出する。
【０２２９】
ステップｃ６において、制御部１１は、ステップｃ５で検出したＩＤ管理レコードから、先頭メッシュ内リンクＩＤを求め、変数ＩＩＤｔｏｐに格納する。
【０２３０】
ステップｃ７において、制御部１１は、ステップｃ５で検出したＩＤ管理レコードの次にあるＩＤ管理レコードから、先頭メッシュ内リンクＩＤを求め、変数ＩＩＤｔｏｐ’に格納する。ステップｃ５で検出したＩＤ管理レコードの次にＩＤ管理レコードがなければ、変数ＩＩＤｔｏｐ’に当該メッシュのリンク数を格納する。ステップｃ７の処理を終了した後は、図２３のステップｃ８に移行する。
【０２３１】
ステップｃ８において、制御部１１は、図１６のステップａ５で描画したメッシュの階層が最下層か否かを判断する。描画したメッシュの階層が最下層であると判断された場合は、ステップｃ９に移行し、描画したメッシュの階層が最下層でないと判断された場合は、ステップｃ１１に移行する。
【０２３２】
ステップｃ９において、制御部１１は、副共通リンクＩＤがＳＩＤ＿Ｄ〜ＮＳＩＤ＿Ｄ−１の範囲にある経路リンクのメッシュ内リンクＩＤの下限値ＩＩＤ０、上限値ＩＩＤ１を、以下の式（３），（４）によって求める。ただし、ＮＳＩＤ＿Ｄが空値である場合は、ＩＩＤ１は、ＩＩＤｔｏｐ’−１とする。
【０２３３】
ＩＩＤ０＝ＩＩＤｔｏｐ＋ＳＩＤ＿Ｄ−ＳＩＤｔｏｐ                  …（３）
ＩＩＤ１＝ＩＩＤｔｏｐ＋ＮＳＩＤ＿Ｄ−１−ＳＩＤｔｏｐ            …（４）
【０２３４】
ステップｃ１０において、制御部１１は、メッシュ内リンクＩＤがＩＩＤ０〜ＩＩＤ１のリンクレコードを取得する。ステップｃ１０の処理を終了した後は、図２４のステップｃ１４に移行する。
【０２３５】
ステップｃ１１において、制御部１１は、図１６のステップａ５で描画したメッシュの階層が、変数ＬＶ＿Ｄが示す階層番号の階層よりも上位か否かを判断する。描画したメッシュの階層が、変数ＬＶ＿Ｄが示す階層番号の階層よりも上位であると判断された場合は、ステップｃ１２に移行し、描画したメッシュの階層が、変数ＬＶ＿Ｄが示す階層番号の階層よりも上位でないと判断された場合は、ステップｃ１３に移行する。
【０２３６】
ステップｃ１２において、制御部１１は、図１６のステップａ５で道路の描画に使用した道路網データのリンクリストのメッシュ内リンクＩＤが、ＩＩＤｔｏｐからＩＩＤｔｏｐ’−１の範囲のリンクレコードを検索し、リンクレコードの副共通リンクＩＤがＳＩＤ＿Ｄ以下で、かつ最大となるリンクレコードを取得する。ステップｃ１２の処理を終了した後は、図２４のステップｃ１４に移行する。
【０２３７】
ステップｃ１３において、制御部１１は、図１６のステップａ５で道路の描画に使用した道路網データのリンクリストのメッシュ内リンクＩＤが、ＩＩＤｔｏｐからＩＩＤｔｏｐ’−１の範囲のリンクレコードを検索し、リンクレコードの副共通リンクＩＤがＳＩＤ＿Ｄ〜ＮＳＩＤ＿Ｄ−１の範囲にあるリンクレコードを取得する。ただし、ＮＳＩＤ＿Ｄが空値である場合は、ＳＩＤ＿Ｄ−１を有するリンクレコードとそれ以降に並ぶメッシュ内リンクＩＤがＩＩＤｔｏｐ’−１までの全てのリンクレコードを取得する。ステップｃ１３の処理を終了した後は、図２４のステップｃ１４に移行する。
【０２３８】
図２４のステップｃ１４において、制御部１１は、ステップｃ４、ステップｃ１０、ステップｃ１２、ステップｃ１３で取得した各リンクレコードについて、対応するリンクの形状を表す折れ線情報を生成する。具体的には、前記リンクレコードの形状レコード格納位置が示す形状レコードを、図１６のステップａ５で道路の描画に使用した道路網データの形状リストから取得する。そして、前記リンクレコードの始点ノードＩＤ、終点ノードＩＤに対応するノードレコードから、始点ノード座標、終点ノード座標を求める。次いで、折れ線情報に前記始点ノード座標を格納し、前記形状レコードの形状点の座標を、順に折れ線情報に格納し、最後に前記終点ノード座標を格納する。
【０２３９】
ステップｃ１５において、制御部１１は、図１６のステップａ５で描画したメッシュの階層が、変数ＬＶ＿Ｄが示す階層番号の階層よりも上位か否かを判断する。描画したメッシュの階層が、変数ＬＶ＿Ｄが示す階層番号の階層よりも上位であると判断された場合は、ステップｃ１６に移行し、描画したメッシュの階層が、変数ＬＶ＿Ｄが示す階層番号の階層よりも上位でないと判断された場合は、ステップｃ１８に移行する。
【０２４０】
ステップｃ１６において、制御部１１は、ステップｃ１４で生成した折れ線情報の各座標を結んだ折れ線上に、始点ノード座標（Ｘｓ，Ｙｓ）から垂線を下ろしてできる点である経路開始点ｒｓの座標を求め、終点ノード座標（Ｘｅ，Ｙｅ）から垂線を下ろしてできる点である経路終了点ｒｅの座標を求める。
【０２４１】
ステップｃ１７において、制御部１１は、経路開始点ｒｓから経路終了点ｒｅまでを描画する。具体的には、経路開始点ｒｓと経路終了点ｒｅと、それらの間にある折れ線情報の各座標とからなる折れ線を強調して描画する。ステップｃ１７の処理を終了した後は、ステップｃ１９に移行する。
【０２４２】
ステップｃ１８において、制御部１１は、ステップｃ１４で生成した各折れ線情報に基づいて、各折れ線を、図１６のステップａ５で描画した地図上に強調して描画する。ステップｃ１８の処理を終了した後は、ステップｃ１９に移行する。
【０２４３】
ステップｃ１９において、制御部１１は、全経路リンクの処理が終了したか否かを判断する。全経路リンクの処理が終了したと判断された場合は、全ての処理手順を終了し、全経路リンクの処理が終了していないと判断された場合は、図２２のステップｃ１に戻り、前述の処理を繰返す。具体的には、経路リンクレコードの取得数が、経路情報の経路リンクレコード数になったとき、経路情報の全ての経路リンクレコードについての前記一連の処理が終了したと判断する。
【０２４４】
以下に、図２２〜図２４に示すフローチャートの各処理に基づく経路リンクの具体的な描画例を示す。まず、メッシュＭ２＿１に経路リンクＬ２＿０を描画するときの具体例について説明する。図１６のステップａ５で描画した階層番号（＝２）と、経路リンクの最上統合階層番号と、探索階層とが同じ場合の例である。
【０２４５】
図１６のステップａ５で描画した階層番号が２のメッシュＭ２＿１の地図上に、経路リンクＬ２＿０を描画する場合、経路リンクＬ２＿０のリンクレコードである表２の経路リンクレコード３に対して、図１６のステップａ５で描画した階層番号が２で、変数ＬＶｍａｘ＿Ｄが示す最上統合階層番号が２であるので、ステップｃ３を経由して、ステップｃ４において、図８に示すメッシュＭ２＿１のリンクリストＬＬ（Ｍ２＿１）から、メッシュ内リンクＩＤが変数ＣＩＤ＿Ｄ（＝ＩＩＤ２＿０）であるリンクＬ２＿０のリンクレコードを取得する。ステップｃ１４において、リンクＬ２＿０の形状情報を生成し、描画する階層が変数ＬＶ＿Ｄ（＝２）と同じであるので、ステップｃ１５を経由し、ステップｃ１８において、ステップｃ１４で生成した形状情報に基づいて、リンクＬ２＿０の形状を強調して描画する。以上のようにして、経路リンクＬ２＿０が、図１６のステップａ５で描画した階層番号が２のメッシュＭ２＿１の地図上に強調して描画される。
【０２４６】
次に、メッシュＭ１＿４に経路リンクＬ１＿７を描画するときの具体例について説明する。図１６のステップａ５で描画した階層番号（＝１）と、経路リンクの最上統合階層番号と、探索階層とが同じ場合の例である。
【０２４７】
図１６のステップａ５で描画した階層番号が１のメッシュＭ１＿４の地図上に、経路リンクＬ１＿７を描画する場合、経路リンクＬ１＿７の表２に示す経路リンクレコード７に対して、図１６のステップａ５で描画した階層番号が１で、変数ＬＶｍａｘ＿Ｄが示す最上統合階層番号が１であるので、ステップｃ３を経由して、ステップｃ４において、図１１に示すメッシュＭ１＿４のリンクリストＬＬ（Ｍ１＿４）から、メッシュ内リンクＩＤが変数ＣＩＤ＿Ｄ（＝ＩＩＤ１＿７）であるリンクＬ１＿７のリンクレコードを取得する。ステップｃ１４において、リンクＬ２＿０の形状情報を生成し、描画する階層が変数ＬＶ＿Ｄ（＝１）と同じであるので、ステップｃ１５を経由し、ステップｃ１８において、ステップｃ１４で生成した形状情報に基づいて、リンクＬ１＿７の形状を強調して描画する。以上のようにして、経路リンクＬ１＿７が、図１６のステップａ５で描画した階層番号が２のメッシュＭ１＿４の地図上に強調して描画される。
【０２４８】
次に、メッシュＭ１＿２に経路リンクＬ２＿０を描画するときの具体例について説明する。図１６のステップａ５で描画した階層番号（＝１）が、経路リンクの最上統合階層番号および探索階層よりも下層である場合の例である。
【０２４９】
図１６のステップａ５で描画した階層番号が１のメッシュＭ１＿２の地図上に、経路リンクＬ２＿０を描画する場合、経路リンクＬ２＿０の表２に示す経路リンクレコード３に対して、図１６のステップａ５で描画した階層番号が１で、変数ＬＶｍａｘ＿Ｄが示す最上統合階層番号が２であるので、ステップｃ３を経由して、ステップｃ４、ｃ６，ｃ７によって、図１０に示すＩＤ管理テーブルを検索して、最上統合階層番号、共通リンクＩＤが、それぞれＬＶｍａｘ＿Ｄ（＝２）、ＣＩＤ＿Ｄ（＝ＩＩＤ２＿０）に一致するＩＤ管理レコードＲ１＿２＿０を検出する。その先頭メッシュ内リンクＩＤ（＝ＩＩＤ１＿３）を、変数ＩＩＤｔｏｐに格納し、検出したＩＤ管理レコードの次にあるＩＤ管理レコードＲ１＿２＿１の先頭メッシュ内リンクＩＤ（＝ＩＩＤ１＿１４）を、変数ＩＩＤｔｏｐ’に格納する。
【０２５０】
描画する階層が最下層ではなく、変数ＬＶ＿Ｄ（＝２）が示す階層番号より下位であるので、ステップｃ８，ｃ１１を経由し、ステップｃ１３によって、図１０に示すメッシュＭ１＿２のリンクリストＬＬ（Ｍ１＿２）のメッシュ内リンクＩＤから、ＩＩＤｔｏｐ（＝ＩＩＤ１＿３）からＩＩＤｔｏｐ’−１（＝ＩＩＤ１＿１４−１）までの範囲にあるリンクＬ１＿３，Ｌ１＿４のリンクレコードを取得する。ＮＳＩＤ＿Ｄは空値であるので、副共通リンクＩＤが変数ＳＩＤ＿Ｄ（＝０）に一致するリンクＬ１＿３のリンクレコードとそれ以降にあるリンクＬ１＿４のリンクレコードを取得する。
【０２５１】
ステップｃ１４において、リンクＬ１＿３とリンクＬ１＿４との形状情報を生成し、描画する階層がＬＶ＿Ｄ（＝２）より下位であるので、ステップｃ１５を経由し、ステップｃ１８において、ステップｃ１４で生成した形状情報に基づいて、リンクＬ１＿３とリンクＬ１＿４との形状を強調して描画する。以上のようにして、経路リンクＬ２＿０が、図１６のステップａ５で描画した階層番号が１のメッシュＭ１＿２の地図上に強調して描画される。
【０２５２】
次に、メッシュＭ１＿４に経路リンクＬ１＿１０を描画するときの具体例について説明する。図１６のステップａ５で描画した階層番号（＝１）が、経路リンクの最上統合階層番号（＝２）よりも下層で、探索階層（＝１）と同一である場合の例である。
【０２５３】
図１６のステップａ５で描画した階層番号が１のメッシュＭ１＿４の地図上に、経路リンクＬ１＿１０を描画する場合、経路リンクＬ１＿１０の表２に示す経路リンクレコード６に対して、図１６のステップａ５で描画した階層番号が１で、変数ＬＶｍａｘ＿Ｄが示す最上統合階層番号が２であるので、ステップｃ３を経由して、ステップｃ５，ｃ６，ｃ７によって、図１１に示すＩＤ管理テーブルを検索して、最上統合階層番号、共通リンクＩＤが、それぞれＬＶｍａｘ＿Ｄ（＝２）、ＣＩＤ＿Ｄ（＝ＩＩＤ２＿３）に一致するＩＤ管理レコードＲ１＿４＿１を検出する。その先頭メッシュ内リンクＩＤ（＝ＩＩＤ１＿１０）を、変数ＩＩＤｔｏｐに格納し、検出したＩＤ管理レコードの次にあるＩＤ管理レコードＲ１＿４＿２の先頭メッシュ内リンクＩＤ（＝ＩＩＤ１＿１２）を、変数ＩＩＤｔｏｐ’に格納する。
【０２５４】
描画する階層が最下層ではなく、変数ＬＶ＿Ｄ（＝１）が示す階層番号と同一であるので、ステップｃ８，ｃ１１を経由し、ステップｃ１３によって、図１１に示すメッシュＭ１＿４のリンクリストＬＬ（Ｍ１＿４）のメッシュ内リンクＩＤから、ＩＩＤｔｏｐ（＝ＩＩＤ１＿１０）からＩＩＤｔｏｐ’−１（＝ＩＩＤ１＿１２−１＝ＩＩＤ＿１１）までの範囲にあるリンクＬ１＿１０，Ｌ１＿１１のリンクレコードを検索し、副共通リンクＩＤがＳＩＤ＿Ｄ（＝０）〜ＮＳＩＤ＿Ｄ−１（＝４−１＝３）の範囲にあるリンクＬ１＿１０のリンクレコードを取得する。
【０２５５】
ステップｃ１４において、リンクＬ１＿１０の形状情報を生成し、描画する階層がＬＶ＿Ｄ（＝１）と同一であるので、ステップｃ１５を経由し、ステップｃ１８において、ステップｃ１４で生成した形状情報に基づいて、リンクＬ１＿１０の形状を強調して描画する。以上のようにして、経路リンクＬ１＿１０が、図１６のステップａ５で描画した階層番号が１のメッシュＭ１＿４の地図上に強調して描画される。
【０２５６】
上記によれば、最上統合階層番号、共通リンクＩＤが同じリンクＬ１＿１０，Ｌ１＿１１でも、副共通リンクＩＤがそれぞれ０，４と異なり、前記双方のリンクの識別が可能で、前記双方のリンクが経路として描画されることなく、リンクＬ１＿１０のみを正しく描画できる。
【０２５７】
次に、メッシュＭ０＿９に経路リンクＬ１＿１０を描画するときの具体例について説明する。図１６のステップａ５で描画した階層（最下層）が、経路リンクの最上統合階層番号（＝２）よりも下層で、探索階層（＝１）よりも下層である場合の例である。
【０２５８】
図１６のステップａ５で描画した階層番号が０のメッシュＭ０＿９の地図上に、経路リンクＬ１＿１０を描画する場合、経路リンクＬ１＿１０の表２に示す経路リンクレコード６に対して、図１６のステップａ５で描画した階層番号が０で、変数ＬＶｍａｘ＿Ｄが示す最上統合階層番号が２であるので、ステップｃ３を経由して、ステップｃ５，ｃ６，ｃ７によって、図１３に示すＩＤ管理テーブルを検索して、最上統合階層番号、共通リンクＩＤが、それぞれＬＶｍａｘ＿Ｄ（＝２）、ＣＩＤ＿Ｄ（＝ＩＩＤ２＿３）に一致するＩＤ管理レコードＲ０＿９＿２を検出する。その先頭メッシュ内リンクＩＤ（＝ＩＩＤ０＿２５）、先頭副共通リンクＩＤ（＝１）を、それぞれ変数ＩＩＤｔｏｐ、ＳＩＤＴｏｐに格納し、検出したＩＤ管理レコードの次にあるＩＤ管理レコードＲ０＿９＿３の先頭メッシュ内リンクＩＤ（＝ＩＩＤ０＿２９）を、変数ＩＩＤｔｏｐ’に格納する。
【０２５９】
描画する階層が最下層であるので、ステップｃ８を経由し、ステップｃ９によって、経路リンクＬ１＿１０のメッシュＭ０＿９における被統合リンクの範囲を、以下に示す式（５），（６）に従って求める。
【０２６０】
ＩＩＤ０＝ＩＩＤｔｏｐ（＝ＩＩＤ１＿１０）＋ＳＩＤ＿Ｄ（＝１）
−ＳＩＤｔｏｐ（＝１）＝ＩＩＤ１＿１０                    …（５）
ＩＩＤ１＝ＩＩＤｔｏｐ（＝ＩＩＤ１＿１０）＋ＮＳＩＤ＿Ｄ（＝４）
−１−ＳＩＤｔｏｐ（＝１）＝ＩＩＤ１＿１０＋２            …（６）
【０２６１】
ステップｃ１０によって、メッシュ内リンクＩＤがＩＩＤ１＿１０〜ＩＩＤ１＿１０＋２のリンクＬ０＿２５，Ｌ０＿２６，Ｌ０＿２７のリンクレコードを取得する。
【０２６２】
ステップｃ１４において、リンクＬ０＿２５，Ｌ０＿２６，Ｌ０＿２７の形状情報を生成し、描画する階層が変数ＬＶ＿Ｄ（＝１）よりも下位であるので、ステップｃ１５を経由し、ステップｃ１８において、ステップｃ１４で生成した形状情報に基づいて、リンクＬ０＿２５，Ｌ０＿２６，Ｌ０＿２７の形状を強調して描画する。以上のようにして、経路リンクＬ１＿１０が、図１６のステップａ５で描画した階層番号が０のメッシュＭ０＿９の地図上に強調して描画される。
【０２６３】
上記によれば、リンクＬ０＿２５，Ｌ０＿２６，Ｌ０＿２７，Ｌ０＿２８は、最上統合階層番号、共通リンクＩＤが同じでも、副共通リンクＩＤが異なり、リンクＬ１＿１０の被統合リンクであるか、リンクＬ１＿１１の被統合リンクであるかを識別することができる。したがって、リンクＬ１＿１０の被統合リンクであるリンクＬ０＿２５，Ｌ０＿２６，Ｌ０＿２７のみを正しく描画することができる。
【０２６４】
次に、メッシュＭ１＿４に経路リンクＬ０＿２６を描画するときの具体例について説明する。図１６のステップａ５で描画した階層（＝１）が、経路リンクの最上統合階層番号（＝２）よりも下層で、探索階層（＝０）よりも上層である場合の例である。
【０２６５】
表３に、経路情報の他の例を示す。表３に示す経路情報は、表２に示す経路とは異なる経路を表す経路情報であり、リンクＬ０＿１９，Ｌ０＿２６，Ｌ０＿２０からなる経路を示す。
【０２６６】
【表３】
2015094658.tif 000005
【０２６７】
図２５は、強調描画した経路の一例を示す図である。図２５では、図１６のステップａ５で描画した階層番号が１のメッシュＭ１＿４の地図のリンクＬ１＿１０上に、表３の経路情報が表す経路の経路リンクＬ０＿２６を描画する例を示す。
【０２６８】
経路リンクＬ０＿２６の表３に示す経路リンクレコード１に対して、ステップｃ５，ｃ６，ｃ７によって、最上統合階層番号、共通リンクＩＤが、それぞれＬＶｍａｘ＿Ｄ（＝２）、ＣＩＤ＿Ｄ（＝ＩＩＤ２＿３）である図１１に示す管理レコードＲ１＿４＿１とその次のＩＤ管理レコードＲ１＿４＿２から、ＩＩＤｔｏｐ（＝ＩＩＤ１＿１０）、ＩＩＤｔｏｐ’（＝ＩＩＤ１＿１２）が得られる。ステップｃ１２によって、図１１に示すメッシュＭ１＿４のリンクリストＬＬ（Ｍ１＿４）のメッシュ内リンクＩＤから、ＩＩＤｔｏｐ（＝ＩＩＤ１＿１０）からＩＩＤｔｏｐ’−１（＝ＩＩＤ１＿１２−１＝ＩＩＤ＿１１）までの範囲にあるリンクＬ１＿１０，Ｌ１＿１１のリンクレコードで、副共通リンクＩＤがＳＩＤ＿Ｄ（＝２）以下で、かつ最大であるリンクＬ１＿１０が取得される。リンクＬ１＿１１の副共通リンクＩＤは４であるので、そのリンクレコードは取得されない。
【０２６９】
図２５において、Ｎ１＿１０ｓ、Ｎ１＿１０ｅは、リンクＬ１＿１０のノードを示し、ｐ１〜ｐ８はリンクＬ１＿１０の形状点を示し、これらからなる折れ線が、図１６のステップａ５において、リンクＬ１＿１０として既に描画されている。図２５では、経路リンクＬ０＿２６の経路リンクレコードの始点ノード座標を「（Ｘｓ，Ｙｓ）」で示し、終点ノード座標を「（Ｘｅ，Ｙｅ）」で示している。
【０２７０】
図２４のステップｃ１４によって、ノードＮ１＿１０ｓの座標、形状点ｐ１〜ｐ８の座標、ノードＮ１＿１０ｅの座標からなるリンクＬ１＿１０の形状情報が得られる。ステップｃ１６によって、始点ノード座標（Ｘｓ，Ｙｓ）から前記ノードＮ１＿１０ｓ，Ｎ１＿１０ｅと形状点ｐ１〜ｐ８からなる折れ線に垂線を下ろした点ｒｓ、終点ノード座標（Ｘｅ，Ｙｅ）から前記ノードと形状点ｐ１〜ｐ８からなる折れ線に垂線を下ろした点ｒｅが得られる。ステップｃ１７によって、前述のようにリンクＬ１＿１０として描画された折れ線の上に、経路リンクＬ０＿２６としてｒｓ，ｐ２〜ｐ５，ｒｅからなる折れ線を強調して表示する。
【０２７１】
経路リンクＬ０＿１９，Ｌ０＿２０に対して、経路リンクＬ０＿１９の始点ノードとｒｓ、経路リンクＬ０＿２０の終点ノードとｒｅを結ぶ直線を強調して描画してもよい。
【０２７２】
上記のように任意の階層の経路探索で得られた経路リンクを任意の階層に正しく描画することができる。
【０２７３】
以上のように本実施の形態によれば、道路網データは、図７に示すように、先頭メッシュ内リンクＩＤ、共通リンクＩＤ、副共通リンクＩＤおよび接続情報を含む。これによって、比較的少ないデータ量で精度良く地図を表すことができる地図情報を得ることができる。
【０２７４】
本実施の形態の地図情報処理装置１では、このような地図情報に基づいて、経路探索部として機能する制御部１１によって、出発地から目的地までの経路が探索される。したがって、精度良く経路探索を行うことができる。
【０２７５】
また本実施の形態では、道路表示部および経路表示部として機能する表示部２４が設けられる。この表示部２４に、制御部１１による経路探索によって探索された経路が表示される。これによって、経路を精度良く表示させることができる。
【０２７６】
また地図情報処理装置１の制御部１１は、経路変換部としても機能し、経路リンクをメッシュ内リンクＩＤを用いて表した中間経路情報を、最上統合階層番号と共通リンクＩＤと副共通リンクＩＤとを用いて経路リンクを表す経路情報に変換する。これによって、経路探索によって探索された経路をより正確に表示させることができる。
【０２７７】
また道路網データは、リンクリストを含み、メッシュ内リンクＩＤは、対応するリンクレコードのリンクリストにおける並びの順番である。これによって、各リンクレコードにリンクＩＤを格納する必要がないので、データ量を削減することができる。また、共通リンクＩＤは、最上統合階層リンクのメッシュ内リンクＩＤとしているので、共通リンクＩＤは、メッシュ内のリンク数を超えることがない。したがって、共通リンクＩＤのためのデータ量を削減することが可能となる。
【０２７８】
また最下層の被統合リンクの副共通リンクＩＤは、最下層に含まれる被統合リンクを、その向きが最上統合階層リンクの向きに一致するように接続したときの接続順を表す連続した番号である。また、最下層よりも上位の各階層の被統合リンクの副共通リンクＩＤは、その被統合リンクの始点側または終点側に対応する最下層の被統合リンクの副共通リンク識別子と同じである。したがって、同じ共通リンクＩＤを有するリンク同士を識別することが可能となる。
【０２７９】
また副共通リンクＩＤは、最上層と最下層とを除く階層のリンクであって、最上統合階層リンクでないリンクのリンクレコードに格納され、その他のリンクのリンクレコードには格納されない。すなわち、算出可能な副共通リンクＩＤは、リンクレコードに格納しないようにしている。これによって、地図情報記憶部１２に格納すべきデータ量を削減することができる。
【０２８０】
また道路網データは、メッシュ内に含まれるリンクのうち、最上統合階層番号が同じであり、かつ共通リンクＩＤが同じであるリンクで構成されるリンク群と、そのリンク群に含まれるリンクの最上統合階層番号および共通リンクＩＤとを対応付けるＩＤ管理情報として、ＩＤ管理テーブルを含む。これによって、個々のリンクレコード毎に最上統合階層と共通リンクＩＤとを格納する必要がないので、地図情報記憶部１２に格納すべきデータ量を削減することができる。
【０２８１】
またリンクリストには、上層で統合されないリンクのリンクレコードが先頭から並べられる。その次に、統合リンクのリンクレコードが、その統合リンクの最上統合階層が低い順に並べられる。統合リンクのリンクレコードのうち、最上統合階層が同じ統合リンクのリンクレコードは、その統合リンクの共通リンクＩＤの昇順に並べられる。また、統合リンクのリンクレコードのうち、最上統合階層が同じであり、かつ共通リンクＩＤが同じである統合リンクのリンクレコードは、その統合リンクの副共通リンクＩＤの昇順に並べられる。これによって、最上統合階層、共通リンクＩＤおよび副共通リンクＩＤと、リンク群との対応付けを容易にすることができる。
【０２８２】
また最下層を除く残余の階層のＩＤ管理情報は、最上統合階層番号と、共通リンクＩＤと、最上統合階層番号および共通リンクＩＤに対応するリンク群の先頭のリンクのメッシュ内リンクＩＤとを含むＩＤ管理レコードを並べたものである。このＩＤ管理レコードは、最上統合階層番号の昇順に配置される。また、ＩＤ管理レコードのうち、最上統合階層番号が同じであるリンクのＩＤ管理レコードは、共通リンクＩＤの昇順に配置される。これによって、最上統合階層および共通リンクＩＤと、リンク群との対応付けを容易にすることができる。
【０２８３】
また最下層のＩＤ管理情報は、最上統合階層番号と、共通リンクＩＤと、先頭副共通リンクＩＤと、最上統合階層番号、共通リンクＩＤおよび先頭副共通リンクＩＤに対応するリンク群の先頭のリンクのメッシュ内リンクＩＤとを含むＩＤ管理レコードを並べたものである。ＩＤ管理レコードは、最上統合階層番号の昇順に配置される。ＩＤ管理レコードのうち、最上統合階層番号が同じであるリンクのＩＤ管理レコードは、共通リンクＩＤの昇順に配置される。また、ＩＤ管理レコードのうち、最上統合階層番号が同じであり、かつ共通リンクＩＤが同じであるリンクのＩＤ管理レコードは、先頭副共通リンクＩＤの昇順に配置される。これによって、最上統合階層、共通リンクＩＤおよび副共通リンクＩＤと、リンク群との対応付けを容易にすることができる。
【０２８４】
また道路網データは、最上層を除く残余の階層のＩＤ管理情報を含み、最上層のＩＤ管理情報を含まない。これによって、地図情報記憶部１２に格納すべきデータ量を削減することができる。
【０２８５】
また本実施の形態では、制御部１１は、経路変換部として機能し、メッシュ内リンクＩＤを用いて経路リンクを表した中間経路情報を、ＩＤ管理情報を用いて経路リンクを表す経路情報に変換する。これによって、経路を任意の階層に描画することが可能な経路情報を得ることができる。
【０２８６】
また本実施の形態では、制御部１１は、経路探索部として機能し、ＩＤ管理情報を用いて、経路探索に用いた道路網データの階層における経路リンクのメッシュ内リンクＩＤを求める。制御部１１は、求めたメッシュ内リンクＩＤに対応するリンクの形状を表示部２４に強調して描画させる。これによって、任意の階層に経路を描画することができる。
【０２８７】
以上に述べた本実施の形態の地図情報処理装置１は、車両に搭載されて使用されるナビゲーション装置だけでなく、車両に搭載可能な通信端末装置、およびサーバ装置などを適宜に組み合わせたシステムとして構築される地図情報処理装置にも適用することができる。通信端末装置は、たとえばサーバ装置と通信を行う機能を有するＰＮＤ（Portable Navigation Device）および携帯通信装置である。携帯通信装置は、たとえば携帯電話機、スマートフォンおよびタブレット型端末装置である。
【０２８８】
前述のように地図情報処理装置１と通信端末装置とサーバ装置とを備えて、システムが構築される場合、本実施の形態の地図情報処理装置１の各機能および各構成要素は、前記システムを構築する各装置に分散して配置される。
【０２８９】
たとえば、以上の説明では、地図情報処理装置１を、ナビゲーション装置に適用した構成について説明したが、これに限定されるものではなく、ＰＮＤ、通信端末、および、サーバのいずれかに適用してもよい。
【０２９０】
なお、本発明は、その発明の範囲内において、実施の形態の任意の構成要素を適宜、変更または省略することが可能である。
【符号の説明】
【０２９１】
１  地図情報処理装置、１０  情報処理システム、１１  制御部、１２  地図情報記憶部、２１  位置検出部、２２  入力部、２３  描画処理部、２４  表示部、２５  音声出力部、３０  地図情報、３１  地図管理情報、３２  地図データ、３３  検索情報、４１  地図データヘッダ、４２  道路網データ、４３  背景データ、４４  名称データ、４５  経路誘導データ。
【図１】
2015094658.tif 000006
【図２】
2015094658.tif 000007
【図３】
2015094658.tif 000008
【図４】
2015094658.tif 000009
【図５】
2015094658.tif 000010
【図６】
2015094658.tif 000011
【図７】
2015094658.tif 000012
【図８】
2015094658.tif 000013
【図９】
2015094658.tif 000014
【図１０】
2015094658.tif 000015
【図１１】
2015094658.tif 000016
【図１２】
2015094658.tif 000017
【図１３】
2015094658.tif 000018
【図１４】
2015094658.tif 000019
【図１５】
2015094658.tif 000020
【図１６】
2015094658.tif 000021
【図１７】
2015094658.tif 000022
【図１８】
2015094658.tif 000023
【図１９】
2015094658.tif 000024
【図２０】
2015094658.tif 000025
【図２１】
2015094658.tif 000026
【図２２】
2015094658.tif 000027
【図２３】
2015094658.tif 000028
【図２４】
2015094658.tif 000029
【図２５】
2015094658.tif 000030