(57)【特許請求の範囲】
【請求項１】
探索手段が、複数の道路種別を最下位レベルから最上位レベルまでの複数のレベルに分類する第１のグルーピングに基づいて、該最上位レベル以外のレベルの道路種別を対象とし、より下位のレベルからより上位のレベルの道路種別へ探索対象を変更しつつ、該最上位レベルの道路種別に相当するノードに到達するまで繰り返される、出発地から目的地へ向かう第１の経路探索と、該最上位レベル以外のレベルの道路種別を対象とし、より下位のレベルからより上位のレベルの道路種別へ探索対象を変更しつつ、該最上位レベルの道路種別に相当するノードに到達するまで繰り返される該目的地から該出発地へ向かう第２の経路探索とを行い、
前記探索手段が、前記最上位レベルの道路種別を対象とし、前記第１の経路探索により得られたノードと前記第２の経路探索により得られたノードとに基づく第３の経路探索を行い、
設定手段が、前記第１の経路探索、前記第２の経路探索、及び前記第３の経路探索の結果に基づいて探索範囲を設定し、
前記探索手段が、前記第１のグルーピングにおける前記最上位レベルの道路種別より多くの道路種別を該最上位レベルに分類する第２のグルーピングに基づいて、前記探索範囲内の前記最上位レベル以外のレベルの道路種別を対象とし、より下位のレベルからより上位のレベルの道路種別へ探索対象を変更しつつ、該最上位レベルの道路種別に相当するノードに到達するまで繰り返される、前記出発地から前記目的地へ向かう第４の経路探索と、該探索範囲内の該最上位レベル以外のレベルの道路種別を対象とし、より下位のレベルからより上位のレベルの道路種別へ探索対象を変更しつつ、該最上位レベルの道路種別に相当するノードに到達するまで繰り返される、該目的地から該出発地へ向かう第５の経路探索とを行い、
前記探索手段が、前記探索範囲内の前記最上位レベルの道路種別を対象とし、前記第４の経路探索により得られたノードと前記第５の経路探索により得られたノードとに基づく第６の経路探索を行い、
生成手段が、前記第４の経路探索、前記第５の経路探索、及び前記第６の経路探索の結果に基づく経路情報を生成する
ことを特徴とする経路探索方法。
【請求項２】
前記設定手段は、前記第１の経路探索、前記第２の経路探索、及び前記第３の経路探索の結果が示す経路を含む領域を、前記探索範囲に設定することを特徴とする請求項１記載の経路探索方法。
【請求項３】
前記設定手段は、前記第１の経路探索、前記第２の経路探索、及び前記第３の経路探索の結果が示す経路を含む領域と、前記出発地と前記目的地を結ぶ直線を含む領域とを、前記探索範囲に設定することを特徴とする請求項１記載の経路探索方法。
【請求項４】
前記設定手段は、前記第１の経路探索、前記第２の経路探索、及び前記第３の経路探索の結果が示す経路を含む領域と、前記出発地と前記目的地を結ぶ直線を含む領域と、該経路及び該直線で囲まれる領域とを、前記探索範囲に設定することを特徴とする請求項１記載の経路探索方法。
【請求項５】
出発地から目的地への経路を探索する探索手段と、探索範囲を設定する設定手段と、経路情報を生成する生成手段とを有する経路探索装置であって、
前記探索手段は、複数の道路種別を最下位レベルから最上位レベルまでの複数のレベルに分類する第１のグルーピングに基づいて、該最上位レベル以外のレベルの道路種別を対象とし、より下位のレベルからより上位のレベルの道路種別へ探索対象を変更しつつ、該最上位レベルの道路種別に相当するノードに到達するまで繰り返される、前記出発地から前記目的地へ向かう第１の経路探索と、該最上位レベル以外のレベルの道路種別を対象とし、より下位のレベルからより上位のレベルの道路種別へ探索対象を変更しつつ、該最上位レベルの道路種別に相当するノードに到達するまで繰り返される、該目的地から該出発地へ向かう第２の経路探索とを行い、前記最上位レベルの道路種別を対象とし、前記第１の経路探索により得られたノードと前記第２の経路探索により得られたノードとに基づく第３の経路探索を行い、
前記設定手段は、前記第１の経路探索、前記第２の経路探索、及び前記第３の経路探索の結果に基づいて前記探索範囲を設定し、
前記探索手段は、前記第１のグルーピングにおける前記最上位レベルの道路種別より多くの道路種別を該最上位レベルに分類する第２のグルーピングに基づいて、前記探索範囲内の前記最上位レベル以外のレベルの道路種別を対象とし、より下位のレベルからより上位のレベルの道路種別へ探索対象を変更しつつ、該最上位レベルの道路種別に相当するノードに到達するまで繰り返される、前記出発地から前記目的地へ向かう第４の経路探索と、該探索範囲内の該最上位レベル以外のレベルの道路種別を対象とし、より下位のレベルからより上位のレベルの道路種別へ探索対象を変更しつつ、該最上位レベルの道路種別に相当するノードに到達するまで繰り返される、該目的地から該出発地へ向かう第５の経路探索とを行い、前記探索範囲内の前記最上位レベルの道路種別を対象とし、前記第４の経路探索により得られたノードと前記第５の経路探索により得られたノードとに基づく第６の経路探索を行い、
前記生成手段は、前記第４の経路探索、前記第５の経路探索、及び前記第６の経路探索の結果に基づく経路情報を生成することを特徴とする経路探索装置。
【請求項６】
コンピュータを探索手段、設定手段、及び生成手段として機能させるためのプログラムであって、
前記探索手段が、複数の道路種別を最下位レベルから最上位レベルまでの複数のレベルに分類する第１のグルーピングに基づいて、該最上位レベル以外のレベルの道路種別を対象とし、より下位のレベルからより上位のレベルの道路種別へ探索対象を変更しつつ、該最上位レベルの道路種別に相当するノードに到達するまで繰り返される、出発地から目的地へ向かう第１の経路探索と、該最上位レベル以外のレベルの道路種別を対象とし、より下位のレベルからより上位のレベルの道路種別へ探索対象を変更しつつ、該最上位レベルの道路種別に相当するノードに到達するまで繰り返される該目的地から該出発地へ向かう第２の経路探索とを行い、
前記探索手段が、前記最上位レベルの道路種別を対象とし、前記第１の経路探索により得られたノードと前記第２の経路探索により得られたノードとに基づく第３の経路探索を行い、
前記設定手段が、前記第１の経路探索、前記第２の経路探索、及び前記第３の経路探索の結果に基づいて探索範囲を設定し、
前記探索手段が、前記第１のグルーピングにおける前記最上位レベルの道路種別より多くの道路種別を該最上位レベルに分類する第２のグルーピングに基づいて、前記探索範囲内の前記最上位レベル以外のレベルの道路種別を対象とし、より下位のレベルからより上位のレベルの道路種別へ探索対象を変更しつつ、該最上位レベルの道路種別に相当するノードに到達するまで繰り返される、前記出発地から前記目的地へ向かう第４の経路探索と、該探索範囲内の該最上位レベル以外のレベルの道路種別を対象とし、より下位のレベルからより上位のレベルの道路種別へ探索対象を変更しつつ、該最上位レベルの道路種別に相当するノードに到達するまで繰り返される、該目的地から該出発地へ向かう第５の経路探索とを行い、
前記探索手段が、前記探索範囲内の前記最上位レベルの道路種別を対象とし、前記第４の経路探索により得られたノードと前記第５の経路探索により得られたノードとに基づく第６の経路探索を行い、
前記生成手段が、前記第４の経路探索、前記第５の経路探索、及び前記第６の経路探索の結果に基づく経路情報を生成する
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、経路探索方法、経路探索装置、及びプログラムに関する。
【背景技術】
【０００２】
車両用ナビゲーション装置において地図情報に基づいて出発地から目的地までの経路を探索する際に、地図データを経緯度線に沿って矩形の区分領域に分割し、特定の区分領域の地図データを読み込んで経路探索を行う技術が知られている。この技術では、まず、出発地と目的地とを結ぶ直線が通る区分領域を特定してその地図データを読み込み、次に、その直線を対角線とする正方形領域の一部の区分領域を特定してその地図データを読み込む。これにより、ナビゲーションに必要な地図データが効率良く切り出される。
【０００３】
また、地図情報に基づく経路探索において、各道路を道路種別に応じて複数のレベルのいずれかに分類し、１つのレベルを選択して経路探索を行う技術も知られている。この技術では、選択されたレベルの道路網上の仮の出発地及び仮の目的地を求め、その道路網上の最短経路、出発地から仮の出発地までの接続経路、及び仮の目的地から目的地までの接続経路を組み合わせて、出発地から目的地までの経路が求められる。探索対象を１つのレベルの道路に限定することで、経路探索時間が短縮される。
【０００４】
コストに基づく経路探索アルゴリズムとしては、ダイクストラ（Dijkstra）法及びＡ*アルゴリズムを含む幾つかのものが知られている。
ダイクストラ法では、ノード間のエッジにコストを設定し、始点ノードから終点ノードへ向けてコストが相対的に小さいエッジの組み合わせを経路候補として求めることで、最小コストの経路を効率的に求めることができる。
【０００５】
Ａ*アルゴリズムは、ダイクストラ法をさらに効率的になるように改良したアルゴリズムである。このアルゴリズムでは、ダイクストラ法のコストに終点ノードまでのコストの推定値（ヒューリスティック値）を付加して最小コストの経路を探索することで、探索範囲を狭めて処理を効率化することができる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００６−１６２２７３号公報
【特許文献２】特開平６−５２２３７号公報
【非特許文献】
【０００７】
【非特許文献１】E. W. Dijkstra, “ HYPERLINK "http://www-m3.ma.tum.de/twiki/pub/MN0506/WebHome/dijkstra.pdf" A Note on Two Problems In Connexion with Graphs”, Numerische Mathematik 1, pp. 269-271, 1959.
【非特許文献２】P. E. Hart, N. J. Nilsson, B. Raphael, “A Formal Basis for the Heuristic Determination of Minimum Cost Paths”, IEEE Transactions of Systems Science and Cybernetics, Vol. SSC-4, No. 2, pp. 100-107, 1968.
【発明の概要】
【発明が解決しようとする課題】
【０００８】
上述した従来の経路探索技術には、以下のような問題がある。
出発地と目的地とを結ぶ直線に基づいて経路探索に用いる地図データを特定する方法では、例えば、その直線上に道路が設けられていない山や湖がある場合、経路が見つからない可能性があることに、発明者は気がついた。
【０００９】
本発明の課題は、道路が存在する可能性が高い場所を探索範囲に設定して経路探索を行うことである。
【課題を解決するための手段】
【００１０】
コンピュータによって実行される経路探索方法は、まず、複数の道路種別を最下位レベルから最上位レベルまでの複数のレベルに分類する第１のグルーピングに基づいて、第１の経路探索及び第２の経路探索を行う。
【００１１】
第１の経路探索は、最上位レベル以外のレベルの道路種別を対象とし、より下位のレベルからより上位のレベルの道路種別へ探索対象を変更しつつ、最上位レベルの道路種別に相当するノードに到達するまで繰り返される、出発地から目的地へ向かう経路探索である。第２の経路探索は、最上位レベル以外のレベルの道路種別を対象とし、より下位のレベルからより上位のレベルの道路種別へ探索対象を変更しつつ、最上位レベルの道路種別に相当するノードに到達するまで繰り返される目的地から出発地へ向かう経路探索である。
【００１２】
次に、最上位レベルの道路種別を対象とし、第１の経路探索により得られたノードと第２の経路探索により得られたノードとに基づく第３の経路探索を行う。
次に、第１の経路探索、第２の経路探索、及び第３の経路探索の結果に基づいて探索範囲を設定し、第２のグルーピングに基づいて、第４の経路探索及び第５の経路探索を行う。第２のグルーピングでは、第１のグルーピングにおける最上位レベルの道路種別より多くの道路種別が最上位レベルに分類される。
【００１３】
第４の経路探索は、探索範囲内の最上位レベル以外のレベルの道路種別を対象とし、より下位のレベルからより上位のレベルの道路種別へ探索対象を変更しつつ、最上位レベルの道路種別に相当するノードに到達するまで繰り返される、出発地から目的地へ向かう経路探索である。第５の経路探索は、探索範囲内の最上位レベル以外のレベルの道路種別を対象とし、より下位のレベルからより上位のレベルの道路種別へ探索対象を変更しつつ、最上位レベルの道路種別に相当するノードに到達するまで繰り返される、目的地から出発地へ向かう経路探索である。
【００１４】
次に、探索範囲内の最上位レベルの道路種別を対象とし、第４の経路探索により得られたノードと第５の経路探索により得られたノードとに基づく第６の経路探索を行う。そして、第４の経路探索、第５の経路探索、及び第６の経路探索の結果に基づく経路情報を生成する。
【発明の効果】
【００１５】
上述した経路探索方法によれば、道路が存在する可能性が高い場所を探索範囲に設定して経路探索を行うことができる。
【図面の簡単な説明】
【００１６】
【図１】経路探索システムの構成図である。
【図２】経路探索装置の機能的構成図である。
【図３】経路探索処理のフローチャートである。
【図４Ａ】動作パラメータを示す図（その１）である。
【図４Ｂ】動作パラメータを示す図（その２）である。
【図５】２段階の経路探索処理のフローチャートである。
【図６】第１の部分経路探索処理のフローチャートである。
【図７】第２の部分経路探索処理のフローチャートである。
【図８】最上位レベル経路探索処理のフローチャートである。
【図９】近距離探索における第１の部分経路探索を示す図である。
【図１０】近距離探索における第２の部分経路探索を示す図である。
【図１１】近距離探索における最上位レベル経路探索を示す図である。
【図１２】遠距離探索における第１の部分経路探索を示す図である。
【図１３】遠距離探索における第２の部分経路探索を示す図である。
【図１４】遠距離探索における最上位レベル経路探索を示す図である。
【図１５】道路網を示す図である。
【図１６】部分経路を示す図である。
【図１７】１回目の切替探索処理により求められた経路を示す図である。
【図１８】１回目の切替探索処理により求められた経路を含む領域を示す図である。
【図１９】メッシュ状に分割された矩形領域を示す図である。
【図２０】第１の探索範囲を示す図である。
【図２１】第２の探索範囲を示す図である。
【図２２】第３の探索範囲を示す図である。
【図２３】メッシュに対する第１の拡張部分を示す図である。
【図２４】メッシュに対する第２の拡張部分を示す図である。
【図２５】メッシュに対する第３の拡張部分を示す図である。
【図２６】拡張された探索範囲を示す図である。
【図２７】情報処理装置の構成図である。
【発明を実施するための形態】
【００１７】
以下、図面を参照しながら、実施形態を詳細に説明する。
図１は、複数の経路探索装置を含む経路探索システムの構成例を示している。図１の経路探索システムは、インタフェース１０３、ロードバランサ１０４、経路探索装置１０５−１〜１０５−４、地図情報データベース１０６、及び交通情報データベース１０７を含む。
【００１８】
端末１０１は、ユーザが利用するサーバ、パーソナルコンピュータ、携帯端末等の情報処理装置であり、有線又は無線の通信ネットワーク１０２を介して、インタフェース１０３にアクセスする。端末１０１は、出発地及び目的地の情報を含む経路探索要求をインタフェース１０３へ送信する。
【００１９】
インタフェース１０３は、経路探索要求を受け付ける情報処理装置であり、受信した経路探索要求をロードバランサ１０４に転送する。ロードバランサ１０４は、複数の経路探索要求を分散させる処理を行う情報処理装置であり、インタフェース１０３から転送された経路探索要求を、所定の負荷分散アルゴリズムに基づいて経路探索装置１０５−１〜１０５−４のいずれかへ送信する。
【００２０】
地図情報データベース１０６は、複数の道路の道路情報を含む地図情報を格納する。各道路の道路情報は、その道路に含まれる複数のノードの位置情報と、ノード間のリンクに対応する道路リンクの情報とを含む。
【００２１】
ノードとは、交差点のように道路が分岐する点を含む、道路を分割する区切りとなる点である。１本の道路がノードにより区切られた各部分が道路リンクである。地図上の一本の道路が、上り線と下り線のように対向する部分に分かれている場合、それぞれに対して独立な、かつ方向を定義したリンクを対応させて考えることもできる。また、一本の道路に対して、方向を定義しないリンクを対応させて考えることもできる。また、各道路の道路情報は、道路種別に関する情報を含む。以下、道路リンクを単にリンクと記載する場合がある。なお、数学のグラフ理論においては、頂点（Ｖｅｒｔｅｘ）と辺（Ｅｄｇｅ）という用語を用いるが、以下においては、ノードとリンクという表現を用いる。
【００２２】
交通情報データベース１０７は、各リンクのコストを含む交通情報を格納する。各リンクのコストとしては、例えば、リンクの両端点間の道程（即ちリンク長）、リンクの両端点間をリンクに沿って移動するのに要する時間、又はリンク長と移動するのに要する時間とを組み合わせたコストが用いられる。リンク長が同じであっても、リンクが属する道路の種別、リンクの位置、リンク上を移動する日時等の条件に応じて移動に要する時間は変化し得る。
【００２３】
経路探索装置１０５−１〜１０５−４のそれぞれは、経路探索処理を行う情報処理装置であり、受信した経路探索要求、地図情報データベース１０６の地図情報、及び交通情報データベース１０７の交通情報に基づいて出発地から目的地への経路を求める。そして、その経路を示す経路情報を生成し、ロードバランサ１０４へ送信する。経路情報は、インタフェース１０３及び通信ネットワーク１０２を介して端末１０１へ送信される。
【００２４】
端末１０１は、受信した経路情報が示す経路を表示するための情報を、他の情報処理装置へ送信したり、その経路を画面上に表示したりする。
【００２５】
図２は、図１の経路探索装置１０５−１〜１０５−４の機能的構成例を示している。経路探索装置１０５−１〜１０５−４は、それぞれが同じ機能を有する情報処理装置であり、それらを代表したものを経路探索装置１０５とする。図２の経路探索装置１０５は、探索部２０１、設定部２０２、生成部２０３、及び動作パラメータ格納部２０４を含む。
【００２６】
動作パラメータ格納部２０４は、探索部２０１及び設定部２０２により参照される動作パラメータを格納する。動作パラメータは、複数の距離範囲の情報、各距離範囲に対応する道路のグルーピングの情報、及び探索範囲の情報を含む。道路種別のグルーピングは、各道路種別と複数のレベルのうち、１つのレベルとの対応関係を表す。
【００２７】
図１の経路探索システムは、１つの端末１０１を含んでいるが、実施形態の経路探索システムに含まれる端末の数は２つ以上の場合もある。また、図１の経路探索システムは４台の経路探索装置を含んでいるが、実施形態の経路探索システムに含まれる経路探索装置の数は３台以下の場合もあり、５台以上の場合もある。実際には、システムへの負荷に合わせて経路探索装置の台数が決定される。クラウドコンピューティングでは、経路探索装置の台数が柔軟に増減される場合もある。
【００２８】
経路探索装置を個別の情報処理装置として実装する代わりに、同一の情報処理装置又は異なる情報処理装置上で動作する仮想マシンとして実装しても構わない。また、複数の経路探索要求を各々リアルタイムで処理する代わりに、バッチ処理で処理しても構わない。
【００２９】
さて発明者らは、経路探索システムを開発するにあたり、ダイクストラ法やＡ*アルゴリズムなどのアルゴリズムを利用することを考えた。そして、ダイクストラ法やＡ*アルゴリズムをシステムに実装した場合、経路探索の対象とする範囲が広くなるほど、探索対象とするノードやリンクの数が増加し、その結果、処理時間が長期化することに気づいた。そこで、現実的な処理時間内で解を得るために、２つの考えを導入する必要があることに気づいた。
【００３０】
１つ目は、上記従来技術に記載されている技術である。即ち、各道路を道路種別に応じて複数のレベルに分類し、まず、最下位レベルの道路網を利用して出発地点からより上位のレベルの道路網上の仮の出発地点までの経路を、より上位のレベルの道路網に乗り換えつつ探索し、同様にして、目的地点からより上位のレベルの道路網上の仮の目的地店までの経路を、より上位のレベルの道路網に乗り換えつつ探索する。その上で、出発地点から目的地点までを、仮の出発地点と仮の目的地点とを経由してつなぐ経路を、上記の出発地点から仮の出発地点までをつなぐ道路網と、仮の目的地点から目的地点までをつなぐ道路網と、上記の上位のレベルの道路網から成る道路網上で探索する。
【００３１】
上位のレベルの道路網に含まれるノードやリンクの数は、より下位のレベルの道路網も含む道路網全体に含まれるノードやリンクの数よりも一般的には少ない。従って、この技術を利用すれば、上位のレベルを探索対象とすることで、処理時間が長期化することを抑止できよう。また、上記のような考え方により求められる経路は、人が実際に運転する際の行動と類似している。
【００３２】
２つ目は、上記従来技術に記載されている技術である。即ち、上記のような探索の仕方を行なう場合に、行政上の道路種別を、複数まとめて同一レベルとみなすという考え方である。
【００３３】
さらに発明者らは、現実的な処理時間内で解を得るために、これらの考え方を踏まえ、さらなる仕組が必要であることに気づいた。まず、道路種別を複数のレベルに分類する際に、探索処理の対象とする距離範囲に応じて、分類の仕方を変更するという観点である。ここで、道路を複数のレベルに分類する際には、行政上の道路種別によって決定する必要はなく、それぞれの道路に対して、どのレベルに対応付けるかをそれぞれ決定しても当然構わない。
【００３４】
また別の観点は、探索処理の対象とする距離範囲を何段階かに分け、距離範囲ごとに、探索の仕方を変化させるという観点である。
【００３５】
図３は、図２の経路探索装置１０５の各処理部が協同することにより実行される経路探索処理の例を示すフローチャートである。なお、本実施例における経路探索の処理においては、２地点間の経路を探索する処理であれば、該２地点は、端末１０１のユーザが実際に出発する地点や実際に到着する地点でなくても構わないことは言うまでもない。以降の説明において、出発地もしくは出発地ノード、目的地もしくは目的地ノードと記載する場合があるが、これらは、探索処理の起点となる第１のノードと、探索処理の終点となる第２のノードとの一例である。
【００３６】
まず、探索部２０１は、まず、動作パラメータに含まれる第１のグルーピングに基づいて、第１の経路探索及び第２の経路探索を行う（ステップ３０１）。第１のグルーピングでは、複数の道路種別が最下位レベルから最上位レベルまでの複数のレベルに分類される。第１の経路探索は、最上位レベル以外のレベルの道路種別を対象とし、より下位のレベルからより上位のレベルの道路種別へ探索対象を変更しつつ、最上位レベルの道路種別に相当するノードに到達するまで繰り返される、経路探索要求に含まれる出発地ノードから目的地ノードへ向かう経路探索の一部（即ち経路探索全体の一部）である。第２の経路探索は、最上位レベル以外のレベルの道路種別を対象とし、より下位のレベルからより上位のレベルの道路種別へ探索対象を変更しつつ、最上位レベルの道路種別に相当するノードに到達するまで繰り返される、目的地ノードから出発地ノードへ向かう経路探索の一部（即ち経路探索全体の一部）である。
【００３７】
次に、探索部２０１は、最上位レベルの道路種別を対象とする第３の経路探索を行う（ステップ３０２）。第３の経路探索では、出発地ノードから、第１の経路探索により得られた１つ以上の地点（即ち、経路探索上の中間到達地点であるノード）と第２の経路探索により得られた１つ以上の地点（即ち、経路探索上の中間到達地点であるノード）とを経て、目的地ノードに到達する経路探索が実行される。
【００３８】
次に、設定部２０２は、第１の経路探索、第２の経路探索、及び第３の経路探索の結果に基づいて探索範囲を設定し、その探索範囲の情報を動作パラメータ格納部２０４に格納する（ステップ３０３）。
【００３９】
次に、探索部２０１は、動作パラメータに含まれる第２のグルーピングに基づいて、第４の経路探索及び第５の経路探索を行う（ステップ３０４）。第２のグルーピングでは、第１のグルーピングにおける最上位レベルの道路種別より多くの道路種別が最上位レベルに分類される。第４の経路探索は、設定部２０２により設定された探索範囲内の最上位レベル以外のレベルの道路種別を対象とし、より下位のレベルからより上位のレベルの道路種別へ探索対象を変更しつつ、最上位レベルの道路種別に相当するノードに到達するまで繰り返される、出発地ノードから目的地ノードへ向かう経路探索の一部（即ち経路探索全体の一部）である。第５の経路探索は、その探索範囲内の最上位レベル以外のレベルの道路種別を対象とし、より下位のレベルからより上位のレベルの道路種別へ探索対象を変更しつつ、最上位レベルの道路種別に相当するノードに到達するまで繰り返される、目的地ノードから出発地ノードへ向かう経路探索の一部（即ち経路探索全体の一部）である。
【００４０】
次に、探索部２０１は、上記探索範囲内の最上位レベルの道路種別を対象とする第６の経路探索を行う（ステップ３０５）。第６の経路探索では、出発地ノードから、第４の経路探索により得られた１つ以上の地点（即ち、経路探索上の中間到達地点であるノード）と第５の経路探索により得られた１つ以上の地点（即ち、経路探索上の中間到達地点であるノード）とを経て、目的地ノードに到達する経路探索が実行される。
【００４１】
次に、生成部２０３は、第４の経路探索、第５の経路探索、及び第６の経路探索の結果に基づく経路情報を生成する（ステップ３０６）。生成された経路情報は、出発地ノードから目的地ノードへの経路を示すノード及び道路リンクの情報を含む。
【００４２】
なおここで、第１から第６の経路探索のそれぞれで探索対象とする道路種別のレベルは、１つのレベルに限る必要はない。例えば、“最上位レベル”の道路種別として、最上位から複数レベル分に対応付けられた道路種別を最上位のレベルとみなしてもよい。また、第１と第２の経路探索とで探索対象とする道路種別のレベル、もしくは、第４と第５の経路探索とで探索対象とする道路種別のレベルは、同一でなくても構わない。
【００４３】
このような経路探索システムによれば、第１の経路探索、第２の経路探索、及び第３の経路探索により求められた経路の周辺に探索範囲を設定することができる。したがって、第４の経路探索、第５の経路探索、及び第６の経路探索において、道路が存在する可能性が高い場所を探索範囲として、別のグルーピングに基づく経路探索を行うことができる。
【００４４】
道路種別のグルーピングにおいて膨大な数の道路に相当する道路種別を最上位レベルに分類すると、最上位レベルの道路種別を対象とする経路探索を高速に実行できない場合がある。そこで、第１のグルーピングでは最上位レベルに対応付ける道路種別を少なくすることで、第３の経路探索を高速に実行し、仮の経路を高速に求めることができる。そして、第２のグルーピングでは最上位レベルに対応付ける道路種別を第１のグルーピングより多くすることで、仮の経路を含む探索範囲に限定して、より詳細な第６の経路探索を行うことが可能になる。このような２段階の経路探索処理により、出発地から目的地への正確な経路を高速に求めることができる。
【００４５】
図４Ａ及び図４Ｂは、図２の動作パラメータ格納部２０４に格納される動作パラメータの例を示している。図４Ａの例では、出発地と目的地との距離Ｄが属する距離範囲に応じて、至近距離探索、近距離探索、中距離探索、及び遠距離探索の４つの探索方法が定義されている。
【００４６】
また、図４Ｂの例では、道路の種類とレベルとの対応付けの仕方が複数パターン定義されている。図４Ｂにおける高速道路、国道、主要地方道、一般都道府県道、政令市の一般市道、一般道、及びその他道路は、道路法等の規定に基づく道路種別を表す。高速道路には、高速自動車国道のみならず、都市高速道路も含まれる。国道は、例えば一般国道、即ち高速道路ではない一般道路の国道が相当する。道路種別は、経路探索の対象とする国において用いられている種別を利用すればよい。地図情報データベース１０６に格納されている、各道路に対応付けられた道路種別に関する情報は、これらの道路種別のいずれかである。それぞれの探索方法に対応する距離範囲は、以下の通りである。
（１）至近距離探索：距離Ｄが閾値Ｔ１以下である第１の距離範囲。
（２）近距離探索：距離Ｄが閾値Ｔ１より大きく閾値Ｔ２以下である第２の距離範囲。
（３）中距離探索：距離Ｄが閾値Ｔ２より大きく閾値Ｔ３以下である第３の距離範囲。
（４）遠距離探索：距離Ｄが閾値Ｔ３より大きい第４の距離範囲。
【００４７】
また、道路のグルーピングとして例えば以下のような分類の仕方が考えられる。
（１）パターンＡ
第１レベル：国道、主要地方道、一般都道府県道、政令市の一般市道、一般道、その他道路
（２）パターンＢ
第３レベル：高速道路、国道、主要地方道
第２レベル：一般都道府県道、政令市の一般市道
第１レベル：一般道、その他道路
（３）パターンＣ
第４レベル：高速道路、国道
第３レベル：主要地方道
第２レベル：一般都道府県道、政令市の一般市道
第１レベル：一般道、その他道路
（４）パターンＤ
第４レベル：高速道路
第３レベル：国道、主要地方道
第２レベル：一般都道府県道、政令市の一般市道
第１レベル：一般道、その他道路
【００４８】
そして、距離範囲とグルーピングのパターンとの対応付けとして、例えば、至近距離探索にパターンＡを、近距離探索にパターンＢを、中距離探索にパターンＣとパターンＢとを、遠距離探索にパターンＤを、それぞれ対応付けることが考えられる。なお、例えば、出発地と目的地との距離に応じた探索処理を行う際に、探索の仕方をいくつかのフェーズに分けて行なうことが考えられ、さらに、該フェーズに応じて、いずれのパターンを利用するかを変化させることも考えられる。
【００４９】
なお、パターンの中に複数のレベルが存在する場合、本実施例においては、レベルの数字が大きい方を上位として表現することができる。例えば、パターンＣにおける最上位レベルは第４レベル、パターンＤにおける最上位レベルは第３レベルということになる。
【００５０】
図４Ａの閾値Ｔ１としては、例えば、５００ｍ〜１５００ｍの範囲のいずれかの値が用いられ、閾値Ｔ２としては、例えば、３０００ｍ〜１０ｋｍの範囲のいずれかの値が用いられ、閾値Ｔ３としては、例えば、３０ｋｍ〜１００ｋｍの範囲のいずれかの値が用いられる。図４Ａの例では、距離範囲が４つに分割されているが、距離範囲を３つ以下に分割してもよく、５つ以上に分割してもよい。また図４Ｂに例示した、各グルーピングにおけるレベルの数は、図４Ｂより少なくてもよく、多くてもよい。距離範囲の閾値及び各グルーピングにおけるレベル毎の道路種別は、動作パラメータとして設定される。
【００５１】
さて、上述のそれぞれの探索方法として、以下のような探索の仕方を適用することが考えられる。
（１）至近距離探索
出発地ノードから目的地ノードに向って、高速道路を除く全道路種別の道路を同一レベル（第１レベル）に分類して、即ち、全道路を対象として、ダイクストラ法またはＡ＊アルゴリズム等を利用して経路探索を行う。ただし、出発地又は目的地が高速道路に含まれる場合は、高速道路を第１レベルに追加して経路探索を行う。
【００５２】
（２）近距離探索
まず、第１の経路探索として、出発地ノードから目的地ノードを目指しながら、道路レベル階層上を、上位レベルに向って探索し、或る道路レベル迄到達する。説明のために、このレベルをΛ（ラムダ）とする。第１の経路探索処理の途中では、Λよりも下位の道路レベルが探索対象となるが、Λ以下の道路レベルの中において、より上位レベルのノードｘ１に到達した場合には、以降の探索処理においては、該ノードｘ１からは該上位レベルのリンクを探索対象とする。
【００５３】
第１の経路探索処理の間に、１本以上の候補部分経路を得るが、その候補部分経路群を、ここではＰ１と呼ぶ。また、Ｐ１の各部分経路候補を構成する道路リンクの、Ｐ１全体に亘る集合で構成される道路ネットワークをここではＵ１とする。さらに、Ｐ１がレベルΛの道路と接続するノード群をここではＮ１とする。
【００５４】
次に、第２の経路探索として、目的地ノードから出発地ノードを目指しながら、道路レベル階層上を、上位レベルに向って探索し、レベルΛ迄到達する。第２の経路探索においても、第１の経路探索と同様に、経路探索処理の途中では、Λよりも下位の道路レベルが探索対象となるが、Λ以下の道路レベルの中において、より上位レベルのノードｘ２に到達した場合には、以降の探索処理においては、該ノードｘ２からは該上位レベルのリンクを探索対象とする。
【００５５】
第２の経路探索処理の間に、１本以上の候補部分経路を得るが、その候補部分経路群をここではＰ３と呼ぶ。また、Ｐ３の各部分経路候補を構成する道路リンクの、Ｐ３全体に亘る集合で構成される道路ネットワークをここではＵ３とする。さらに、Ｐ３がレベルΛの道路と接続するノード群をここではＮ３とする。
【００５６】
次に、第３の経路探索として、「Ｎ１、Ｎ３と繋がる、レベルΛ以上の道路」から成るネットワークをＵ２とし、Ｕ１、Ｕ２、Ｕ３から成るネットワーク全体をＵとして、出発地ノードからＵ上のリンク群を通って目的地ノードに至る経路ｐを求める。
【００５７】
第１の経路探索、第２の経路探索、及び第３の経路探索のそれぞれにおいては、ダイクストラ法またはＡ*アルゴリズム等を利用することができる。また、それぞれの経路探索において対象とする道路レベルは、複数レベルであって構わない。
【００５８】
（３）中距離探索
複数フェーズに分けて、経路探索を行うことが考えられる。即ち、出発地ノードから目的地ノードに至る概略経路を求める１回目の経路探索と、１回目の経路探索の結果に基づいて限定した探索範囲内で詳細経路を求める２回目の経路探索との２つのフェーズに分けて経路探索を行うことが考えられる。
【００５９】
まず、１回目の経路探索では、上位レベル（典型的には最上位レベル）に対応付ける道路種別を、例えばパターンＣの高速道路と国道のみのように、数少ない種別に絞る。
【００６０】
次に、２回目の経路探索では、１回目の経路探索の結果得た経路を含む（内包する）領域を設定する。設定する領域として例えば、「第１の経路探索の結果得た経路を覆う、空間的に連続する（即ち、互いに接する、或いは共有部分を持つ、）１つ以上の矩形領域の集合」、或いは、「出発地点と目的地点を結ぶ線分を覆う、空間的に連続する１つ以上の矩形領域の集合」、或いは、「前記２つの矩形集合の和集合」、さらには、「該和集合と、該和集合を空間展開した時に生じる『その部分自体、該矩形和集合領域に覆われていないが、該矩形和集合領域に囲まれている部分』を覆う矩形領域の集合との和集合」が考えられる。
【００６１】
そして、その設定した領域内に限定して、経路探索を行う。２回目の経路探索においては、上位レベル（典型的には最上位レベル）に対応付ける道路種別を、１回目の経路探索よりも増やしたものとする。例えば、パターンＢを利用することが考えられる。そして、２回目の経路探索の結果の経路を以って、中距離経路探索全体の探索結果とする。
【００６２】
（４）遠距離探索
まず、出発地ノードに近い、高速道路の入口候補群Ｅを求める。候補群Ｅとして例えば、「出発地ノードから最も近い方から幾つかの入口」、「出発地ノードから最も近い方から幾つかの入口の中で、『出発地ノードと１つの入口との直線距離  ＋  該１つの入口と目的地ノードとの直線距離』の値が最も小さい方の幾つか」の内の、幾つかを選ぶことができる。
【００６３】
そして、出発地ノードからＥに向って、上述の至近距離探索または近距離探索を行う。その結果、遠距離探索全体の一部としての、候補部分経路群が得られる。ここでは説明のため、この候補部分経路群のことをＲ１とする。また、Ｒ１の各部分経路候補を構成する道路リンクの、Ｒ１全体に亘る集合で構成される道路ネットワークをＷ１とする。Ｒ１が高速道路と接続するノード群はＥである。
【００６４】
次に、目的地ノードに近い、高速道路の出口候補群Ｓを求める。候補群Ｓとして例えば、「目的地ノードから最も近い方から幾つかの出口」、「目的地ノードから最も近い方から幾つかの出口の中で、『出発地ノードと１つの出口との直線距離  ＋  該１つの出口と目的地との直線距離』の値が最も小さい方の幾つか」の内の、幾つかを選ぶことができる。
【００６５】
そして、目的地ノードからＳに向って、上述の至近距離探索または近距離探索を行う。その結果、遠距離探索全体の一部としての、候補部分経路群が得られる。ここでは説明のため、この候補部分経路群のことをＲ３とする。また、Ｒ３の各部分経路候補を構成する道路リンクの、Ｒ３全体に亘る集合で構成される道路ネットワークをＷ３とする。Ｒ３が高速道路と接続するノード群はＳである。
【００６６】
次に、「Ｅ、Ｓと繋がる高速道路」から成るネットワークをＷ２とし、Ｗ１、Ｗ２、Ｗ３から成るネットワーク全体をＷとして、出発地ノードからＷ上のリンク群を通って目的地ノードに至る経路ｒを、Dijkstra法、A*アルゴリズム等を用いて求める。そして、この結果をもって、遠距離探索全体の探索結果とする。
【００６７】
上記の距離別の経路探索方法について別の表現をするならば、近距離探索、中距離探索、及び遠距離探索においては、まず、出発地に繋がる最下位レベルの道路を対象とする経路探索が行われる。そして、下位レベルの道路を対象とする経路探索中に上位レベルの道路に到達した場合、それ以降は上位レベルの道路を対象とする経路探索に切り替える処理を繰り返すことで、出発地ノードから最上位レベルの道路に到達する部分経路として出発地側部分経路を求めることができる。同様にして、目的地ノードから最上位レベルの道路に到達する部分経路として目的地側部分経路を求めることができる。さらに、出発地側部分経路と目的地側部分経路の間に挟まれて存在し、両部分経路を繋ぐ、最上位レベルの道路を通る経路として中間部分経路を求めることができる。最終的には、出発地を起点として、出発地側部分経路、目的地側部分経路、中間部分経路を繋ぎ、出発地から目的地に至る経路が求められる。
【００６８】
ここで、目的地側部分経路を、独立したステップとして、中間部分経路を求める前に、予め求めるのは、出発地側部分経路、中間部分経路、目的地側部分経路の順に経路を求めようとしても、目的地側部分経路への入口が分からない、即ち中間部分経路がどこ迄到達した時点で目的地側部分経路を求め始めればよいか、分かり難いからである。
【００６９】
なお、下位のレベルの道路種別を対象とした経路探索を行っている場合に、複数段階以上上位のレベルの道路上のノードが探索される場合があってもよい。例えば、第１レベルの道路種別を対象として経路探索を行っている最中に第３レベルの道路上のノードが探索された場合、以降の探索処理においては、第３レベルの道路上のノードを探索対象とすればよい。
【００７０】
また、出発地ノードや目的地ノードが面する道路は、最下位である第１レベルに相当する道路に限る必要は無く、第２レベル以上に相当する道路種別であってもよい。
【００７１】
図５は、図３のステップ３０１〜３０５において例えば中距離探索を行う場合の２段階の経路探索処理の例を示すフローチャートである。２段階の経路探索処理には１回目及び２回目の切替探索処理が含まれ、２回目の切替探索処理では、図４ＢのパターンＢを第２のグルーピングとして用いて、経路探索が行われる。一方、１回目の切替探索処理では、図４Ｂに示したパターンＢにおける最上位レベルの道路種別の一部のみが最上位レベルに対応付けられているパターンＣを第１のグルーピングとして用いて、経路探索が行われる。いずれの切替探索処理で、いずれのパターンの道路種別のグループを利用するかについての情報は、動作パラメータとして動作パラメータ格納部２０４に格納される。
【００７２】
探索部２０１は、まず、動作パラメータに含まれる第１のグルーピングに基づいて１回目の切替探索処理を行う（ステップ５０１）。なお、１回目の切替探索処理は、図３のステップ３０１、３０２に相当する。次に、設定部２０２は、１回目の切替探索処理の結果に基づいて探索範囲を設定し、その探索範囲の情報を動作パラメータ格納部２０４に格納する（ステップ５０２）。ステップ５０２の処理は、図３のステップ３０３に相当する。
【００７３】
そして、探索部２０１は、設定された探索範囲を対象として、動作パラメータに含まれる第２のグルーピングに基づいて２回目の切替探索処理を行う（ステップ５０３）。２回目の切替探索処理は、図３のステップ３０４、３０５に相当する。
【００７４】
例えば、探索方法が中距離探索の場合、関東エリアには国道や主要地方道が多数存在するため、最初から図４ＢのパターンＢ即ち第２のグルーピングに基づく経路探索を行うと、リアルタイムに経路を求められない場合がある。
【００７５】
そこで、１回目の切替探索処理では、２回目の切替探索処理で利用するパターンよりも最上位レベルの道路種別が少ないパターンを利用することで、仮の経路を高速に求めることができる。例えば、最上位の道路種別を高速道路及び国道に限定するパターンＣを利用すると、パターンＢを利用するよりも経路探索が効率化される。
【００７６】
図６−図８は、図５のステップ５０１又は５０３における切替探索処理の例を示すフローチャートである。図６は、図３のステップ３０１の第１の経路探索もしくはステップ３０４の第４の経路探索に相当する、出発地から最上位レベルの道路に到達する部分経路を求める第１の部分経路探索処理のフローチャートである。図７は、図３のステップ３０１の第２の経路探索もしくはステップ３０４の第５の経路探索に相当する、目的地から最上位レベルの道路に到達する部分経路を求める第２の部分経路探索処理のフローチャートである。図８は、図３のステップ３０２の第３の経路探索もしくはステップ３０５の第６の経路探索に相当する、最上位レベルの道路を対象とする最上位レベル経路探索処理のフローチャートである。
【００７７】
第１の部分経路探索処理において求められる部分経路の数ｎ（ｎは１以上の整数）と、第２の部分経路探索処理において求められる部分経路の数ｍ（ｍは１以上の整数）は、動作パラメータとして設定される。経路探索アルゴリズムとしては、例えば、ダイクストラ法又はＡ*アルゴリズムが用いられ、探索中に経由ノード候補（ここでは、正解経路の候補が通るノード）となるノードの情報はオープンリストに保持される。ここで、オープンリストとは、経路候補となるノード及び道路リンクの情報と、該経路候補に掛かるコスト値とが対応付けて格納されるデータテーブルである。
【００７８】
第１の部分経路探索処理において、探索部２０１は、まず、動作パラメータ値として与えられている、道路のグルーピングを参照して、出発地から最上位レベルの道路に到達する部分経路を探索する（図６のステップ６０１）。部分経路の探索では、地図情報に含まれる複数の道路のうち、最下位レベルから、最上位レベルより下位のレベルまでの道路が対象となる。部分経路の探索中に、より上位レベルの道路に到達した場合、それ以降は該到達したレベルの道路を対象とする探索に切り替える処理が繰り返される。ステップ６０１では、このような探索の１ステップとして、対象とする道路に沿って各隣接ノード対間の１つの道路リンクを辿る処理が行われる。
【００７９】
次に、探索部２０１は、道路リンクを辿ることで目的地に到達したか否かをチェックする（ステップ６０２）。目的地に到達した場合は（ステップ６０２，Ｙｅｓ）、出発地から目的地への経路が見つかったため、切替探索処理を終了する。
【００８０】
目的地に到達していない場合（ステップ６０２，Ｎｏ）、次に、これまでの処理により最上位レベルの道路に到達した回数がｎ回か否かをチェックする（ステップ６０３）。最上位レベルの道路に到達した回数がｎ回未満の場合は（ステップ６０３，Ｎｏ）、ステップ６０１以降の処理を繰り返し、最上位レベルの道路に到達した回数がｎ回の場合は（ステップ６０３，Ｙｅｓ）、第１の部分経路探索処理を終了する。これにより、ｎ本の部分経路と、それぞれの部分経路の端点であり、最上位レベルの道路上の到達地点（但し、経路探索全体の中では、中間到達地点に相当する）であるｎ個のノードが求められる。これらのノードは、最上位レベルの道路のいずれかのリンクの端点である。
【００８１】
第２の部分経路探索処理において、探索部２０１は、まず、動作パラメータ値として与えられている、道路のグルーピングを参照して、目的地から最上位レベルの道路に到達する部分経路を探索する（図７のステップ７０１）。部分経路の探索では、地図情報に含まれる複数の道路のうち、最下位レベルから、最上位レベルより下位のレベルまでの道路が対象となる。部分経路の探索中に、より上位レベルの道路に到達した場合、それ以降は該到達した上位レベルの道路を対象とする探索に切り替える処理が繰り返される。ステップ７０１では、このような探索の１ステップとして、対象とする道路に沿って各隣接ノード対間の１つの道路リンクを辿る処理が行われる。
【００８２】
次に、探索部２０１は、道路リンクを辿ることで出発地に到達したか否かをチェックする（ステップ７０２）。出発地に到達した場合は（ステップ７０２，Ｙｅｓ）、出発地から目的地への経路が見つかったため、切替探索処理を終了する。
【００８３】
出発地に到達していない場合（ステップ７０２，Ｎｏ）、次に、これまでの処理により最上位レベルの道路に到達した回数がｍ回か否かをチェックする（ステップ７０３）。最上位レベルの道路に到達した回数がｍ回未満の場合は（ステップ７０３，Ｎｏ）、次に、これまでの処理により第１の部分経路探索処理で得られたｎ個のノードのいずれかに到達したか否かをチェックする（ステップ７０４）。ｎ個のノードのいずれにも到達していない場合は（ステップ７０４，Ｎｏ）、ステップ７０１以降の処理を繰り返す。ｎ本の部分経路のいずれかの上の、いずれかのノードに到達した場合は（ステップ７０４，Ｙｅｓ）、到達地点のノードを最上位レベルの経路探索の開始の１つとして、開始点リストに登録し（ステップ７０５）、その後、ステップ７０１以降の処理を繰り返す。
【００８４】
ステップ７０３において最上位レベルの道路に到達した回数がｍ回の場合は（ステップ７０３，Ｙｅｓ）、第２の部分経路探索処理を終了する。これにより、ｍ本の部分経路と、それぞれの部分経路の端点であり、最上位レベルの道路上の到達地点であるｍ個のノードが求められる。
【００８５】
最上位レベルを中心とした経路探索処理において、探索部２０１は、まず、動作パラメータ値として与えられている、道路のグルーピングを動作パラメータから参照して、地図情報に含まれる複数の道路のうち最上位レベルの道路を中心とする経路探索を行う（図８のステップ８０１）。
【００８６】
この経路探索では、第１の部分経路探索処理で得られた、出発地からｎ個のノードそれぞれまでの経路を構成している道路網に相当するリンクと、第２の部分経路探索処理で得られた、目的地からｍ個のノードそれぞれまでの経路を構成している道路網に相当するリンクと、該ｎ個のノード及び該ｍ個のノードに繋がる最上位レベルの道路網に相当するリンクとを対象として、出発地から目的地までの経路探索を行う。ここで、出発地からｎ個のノードまでの経路としては、第１の部分経路探索処理で得られた経路を利用しても構わない。
【００８７】
ステップ８０１では、このような探索の１ステップとして、対象とする道路に沿って各隣接ノード対間の１つの道路リンクを辿る処理が行われる。
【００８８】
次に、探索部２０１は、道路リンクを辿ることで目的地に繋がるノードに到達したか否かをチェックする（ステップ８０２）。目的地に繋がるノードに到達していない場合は（ステップ８０２，Ｎｏ）、ステップ８０１以降の処理を繰り返す。目的地に繋がるノードに到達した場合は（ステップ８０２，Ｙｅｓ）、出発地から目的地への経路が見つかったため、最上位レベルを中心とした経路探索処理を終了する。
【００８９】
最上位レベルを中心とした経路探索処理では、第１の部分経路探索処理で得られたｎ個のノードと第２の部分経路探索処理で得られたｍ個のノードの間の経路探索を個別に行ってもよい。しかし、より効率的に処理するには、第１の部分経路探索で得た部分経路を探索済みの経路候補とみなして、１回の経路探索により出発地から目的地への経路を求める方が好ましい。
【００９０】
例えば、近距離探索の場合は、第１の部分経路探索処理において、図９に示すように、図中細線で示す第１レベルの道路９１１〜９１４を対象として経路探索が行われ、出発地９０１から、図中太線で示す第２レベルの道路９３１に到達する部分経路として、図中点線で示す部分経路９２１及び９２２が求められる。
【００９１】
なおここで、探索範囲を探索する前に、道路９１１〜９１４を探索対象と決めるわけではない。出発地９０１から目的地９０２に向かって経路探索を行うと、その結果、道路９１１〜９１４を探索することになる。またここで、部分経路９２１及び９２２は、第１の部分経路探索の場合、出発地から始まることになる。このようなことは、第２の部分経路探索処理についても同様である。
【００９２】
また、第２の部分経路探索処理において、図１０に示すように、図中の細線で示す第１レベルの道路１００１〜１００５を対象として経路探索が行われ、目的地９０２から、図中太線で示す第２レベルの道路１０２１に到達する部分経路として、図中点線で示す部分経路１０１１及び１０１２が求められる。
【００９３】
そして、最上位レベル経路探索処理において、図１１に示すように、部分経路９２１、第２レベルの道路９３１及び１１２１（１１０１）、及び部分経路１０１１を経由する、出発地９０１から目的地９０２への経路として、図中点線で示す経路１１０２が求められる。
【００９４】
中距離探索の場合は、図９の道路９１１〜９１４及び図１０の道路１００１〜１００５のレベルが第２レベル又は第１レベルとなる。
【００９５】
遠距離探索の場合は、第１の部分経路探索処理において、例えば図１２に示すように、図中細線で示す第３レベル〜第１レベルの道路１２１１〜１２１５を対象として経路探索が行われる。そして、出発地１２０１から、図中太線で示す第４レベルの高速道路１２３１上の出入口１２４１に到達する部分経路として、図中点線で示す部分経路１２２１が求められる。また、第２の部分経路探索処理において、図１３に示すように、図中細線で示す第３レベル〜第１レベルの道路１３０１〜１３０４を対象として経路探索が行われる。そして、目的地１２０２から、図中太線で示す第４レベルの高速道路１３２１上の出入口１３３１に到達する部分経路として、図中点線で示す部分経路１３１１が求められる。
【００９６】
次に、最上位レベル経路探索処理において、図１４に示すように、部分経路１２２１、高速道路１２３１及び１３２１、及び部分経路１３１１を経由する、出発地１２０１から目的地１２０２への経路として、図中点線で示す経路１４０２が求められる。
【００９７】
図６−図８の切替探索処理において、最上位レベルの道路の代わりに、最上位から数レベルの幅の複数のレベルの道路を用いてもよい。この場合、図８の最上位レベル経路探索処理では、複数のレベルの道路を対象とする経路探索が行われる。
【００９８】
また、図６−図８の切替探索処理では、出発地から最上位レベルの道路に到達するｎ個の部分経路を求めた後に、目的地から最上位レベルの道路に到達するｍ個の部分経路を求めているが、別の部分経路探索方法を用いても構わない。例えば、部分経路を探索する処理を出発地側と目的地側で交互に行う方法も考えられる。この方法では、出発地から１つ上のレベルの道路に到達する部分経路を見つけると、次に、目的地から１つ上のレベルの道路に到達する部分経路を見つけ、再び出発地側の部分経路探索に戻って同様の処理が繰り返される。また例えば、目的地から最上位レベルの道路に到達するｍ個の部分経路を求た後に、出発地から最上位レベルの道路に到達するｎ個の部分経路を求めても構わない。
【００９９】
ところで、第２の部分経路探索処理では、第１の部分経路探索処理とは異なり、目的地を始点ノードとし、出発地を終点ノードとする経路探索が行われる。例えば、図１５のような道路網において、ノードａを出発地とし、ノードｚを目的地とすると、ノードｚからノードａへ向けて経路探索が行われ、ノードｘ、ｙ、又はｖを経由して最上位レベルの道路上のノードｓ、ｔ、ｕ、又はｗに到達する部分経路が探索される。そして、最上位レベルの道路上のノードに到達する部分経路のうち、コスト値が低い順にｍ個の部分経路が求められる。
【０１００】
図１５のノード間の道路リンクのコスト値は、以下の通りである。
ノードｔとノードｗの間の道路リンク：２
ノードｗとノードｙの間の道路リンク：１
ノードｔとノードｙの間の道路リンク：４
ノードｓとノードｖの間の道路リンク：１
ノードｖとノードｙの間の道路リンク：２
ノードｖとノードｘの間の道路リンク：１
ノードｕとノードｘの間の道路リンク：５
ノードｙとノードｚの間の道路リンク：３
ノードｘとノードｚの間の道路リンク：６
【０１０１】
例えば、ｍ＝３としてダイクストラ法を適用した場合、図１６に示すような３つの経路候補が部分経路として求められる。経路候補“ｚ−ｙ−ｗ”は、ノードｚからノードｙを経由してノードｗに到達する部分経路であり、そのコスト値は３＋１＝４である。経路候補“ｚ−ｙ−ｖ−ｓ”は、ノードｚからノードｙ及びｖを経由してノードｓに到達する部分経路であり、そのコスト値は３＋２＋１＝６である。経路候補“ｚ−ｙ−ｔ”は、ノードｚからノードｙを経由してノードｔに到達する部分経路であり、そのコスト値は３＋４＝７である。
【０１０２】
この場合、最上位レベル経路探索処理において図１６のいずれかの経路候補が最上位レベルの道路に接続するノードｗ、ｓ、ｔに接続する経路が見つかった場合、そのノードがオープンリストに追加される。
【０１０３】
その後、ノードｗ、ｓ、ｔからｚにかけての部分については、図１６の挙がっている経路候補に含まれるノードとリンクから成る道路ネットワーク、即ち、ノードｚ、ｙ、ｗ、ｖ、ｓ、ｔ及びリンクｚ−ｙ、ｙ−ｗ、ｙ−ｖ、ｖ−ｓ、ｙ−ｔから成る道路ネットワーク上で、探索を進める。なお、探索は、この部分と最上位レベルの道路の部分とをつないだネットワーク全体に対してなされる。また、最上位レベルの道路上の探索のいずれかが、ｗ、ｓ、ｔのいずれかに達したら、最上位レベルの道路上の探索は止めると言ったことはしない。
【０１０４】
第１の部分経路探索処理においても、同様にして、出発地を始点ノードとし、目的地を終点ノードとする経路探索が行われ、最上位レベルの道路上のノードに到達する部分経路のうち、コスト値が低い順にｎ個の部分経路が求められる。得られた部分経路は、最上位レベル経路探索処理において経路候補として用いられる。
【０１０５】
次に、図１７から図２６までを参照しながら、図５のステップ５０２において探索範囲を設定する処理について説明する。
地図情報において出発地及び目的地を含む矩形領域が複数の部分領域に分割されている場合、１つの経路を含む（覆う）部分領域の数は、矩形領域全体の部分領域の数より一般には少ない。なお、矩形領域は出発地及び目的地を含み、かつ、出発地及び目的地間を結ぶ経路を概ね含むような領域として設定されるものとする。そこで、この地図情報の性質を利用して探索範囲を限定することが考えられる。例えば、出発地点及び目的地点を含む矩形領域がメッシュ状に分割されており、１回目の切替探索処理において図１７において点線で示すような経路１９１１が求められた場合、図１８に示すように、経路１９１１を含む部分領域のみからなる図中灰色で示した領域２００１が特定される。
【０１０６】
以下では、簡単のため図１９に示す例を用いて、図５のステップ５０２で実行される探索範囲を設定する処理を説明する。図１９の矩形領域は、出発地点２１０１及び目的地点２１０２を含み、緯度方向（Ｙ方向）及び経度方向（Ｘ方向）にメッシュ状に分割されている。経路２１１１は、図５のステップ５０１による１回目の切替探索処理において求められた経路を表す。
【０１０７】
設定部２０２は、図１９の各メッシュ（矩形の部分領域）を所定の分割数に基づいてさらに細かいメッシュに分割する。分割数は、動作パラメータ格納部２０４に格納された動作パラメータに含まれている。例えば、Ｘ方向及びＹ方向の分割数がともに２である場合、分割結果は図２２のようになる。このとき、探索範囲の設定方法として、以下のバリエーションが考えられる。
（１）経路２１１１を含むメッシュからなる、図中灰色で示した領域２２０１を、探索範囲に設定する。（図２０）
（２）経路２１１１を含むメッシュからなる領域と、出発地２１０１と目的地２１０２を結ぶ線分２３０１を含むメッシュからなる領域を併せた、図中灰色で示した領域２３１１を、探索範囲に設定する。（図２１）
（３）経路２１１１を含むメッシュからなる領域と、出発地２１０１と目的地２１０２を結ぶ線分２３０１を含むメッシュからなる領域と、経路２１１１及び線分２３０１で囲まれる領域とを併せた、図中灰色で示した領域２４０１を、探索範囲に設定する。（図２２）
【０１０８】
上記（１）〜（３）のいずれの探索範囲を採用するかは、動作パラメータにより指定される。探索範囲が広くなるほど、経路の精度は高くなるが処理時間は長くなり、探索範囲が狭くなるほど、経路の精度は低くなるが処理時間は短くなる。そこで、出発地点２１０１と目的地点２１０２との距離に応じて探索範囲を変更することも可能である。例えば、図４Ａの１つの探索方法に対応する距離範囲をさらに３つに分割して、出発地点と目的地点との距離が短いほど探索範囲が広くなるように探索範囲を設定してもよい。
【０１０９】
さらに、上記（１）〜（３）の各領域を拡張した探索範囲を設定することも可能である。この場合、各メッシュを拡張対象として拡張方向及び拡張数を指定することができる。拡張数は、拡張方向に追加されるメッシュの数を表す。
【０１１０】
例えば、図２３のメッシュ２５０１を拡張対象とし、Ｘ方向の拡張数を２及びＹ方向の拡張数を０とすると、メッシュ２５０１の左の領域２５１１及び右の領域２５１２が拡張部分として追加される。拡張部分は図中、薄い灰色で示されている。一方、Ｘ方向の拡張数を０及びＹ方向の拡張数を１とすると、図２４に示すように、メッシュ２５０１の上の領域２６０１及び下の領域２６０２が拡張部分として追加される。拡張部分は図中、薄い灰色で示されている。また、Ｘ方向の拡張数を２及びＹ方向の拡張数を１とすると、図２５に示すように、メッシュ２５０１の周囲の領域２７０１が拡張部分として追加される。拡張部分は図中、薄い灰色で示されている。
【０１１１】
図２６は、図２０の領域２２０１に含まれる各メッシュを拡張対象とし、Ｘ方向及びＹ方向の拡張数をともに１とした場合の拡張された探索範囲を示している。この場合、図中灰色で示された領域２２０１の周囲の、薄い灰色で示された領域２８０１が拡張部分として追加される。探索範囲を拡張するか否かと拡張方向及び拡張数は、動作パラメータにより指定される。出発地と目的地との距離が短いほど拡張部分が広くなるように拡張方向及び拡張数を指定してもよい。
【０１１２】
図４Ａの各探索方法において高速道路を使用するか否かをユーザが指定することも可能である。この場合、端末１０１は、至近距離探索、近距離探索、中距離探索、及び遠距離探索のそれぞれにおいて高速道路の使用可否を示す使用可否情報を経路探索システムに送信する。そして、経路探索装置１０５−１〜１０５−４は、その使用可否情報を動作パラメータ格納部２０４に格納し、探索部２０１は、使用可否情報が使用不可を示すとき、対応する探索方法において高速道路を除外した経路探索を行う。
【０１１３】
遠距離探索において高速道路使用不可が指定されている場合は、探索方法を中距離探索に変更してもよい。
【０１１４】
図５−図８に示した各フローチャートは一例に過ぎず、経路探索システムの構成や条件に応じて一部の処理を省略又は変更してもよい。経路探索アルゴリズムとして、ダイクストラ法又はＡ*アルゴリズム以外のものを用いることも可能である。例えば、分岐限定法、山登り法、最良優先探索等のアルゴリズムを用いてもよい。
【０１１５】
また、道路種別に基づいて道路を分類する代わりに、道路の長さ、幅、上限走行速度等の属性に基づいて道路を分類しても構わない。道路の長さに基づく場合は、長い道路ほど上位のレベルに分類され、道路の幅に基づく場合は、幅が広い道路ほど上位のレベルに分類される。道路の上限走行速度に基づく場合は、上限走行速度が大きい道路ほど上位のレベルに分類される。いずれの場合も、上位レベルの道路になるほど自動車がより走行し易くなるグルーピングが採用される。
【０１１６】
図１の端末１０１、インタフェース１０３、ロードバランサ１０４、経路探索装置１０５−１〜１０５−４、地図情報データベース１０６、及び交通情報データベース１０７は、例えば、図２７に示すような情報処理装置（コンピュータ）を用いて実現可能である。
【０１１７】
図２７の情報処理装置は、Central Processing Unit （ＣＰＵ）２９０１、メモリ２９０２、入力装置２９０３、出力装置２９０４、外部記憶装置２９０５、媒体駆動装置２９０６、及びネットワーク接続装置２９０７を備える。これらはバス２９０８により互いに接続されている。
【０１１８】
メモリ２９０２は、例えば、Read Only Memory（ＲＯＭ）、Random Access Memory（ＲＡＭ）、フラッシュメモリ等の半導体メモリであり、処理に用いられるプログラム及びデータを格納する。例えば、ＣＰＵ２９０１は、メモリ２９０２を利用してプログラムを実行することにより、端末１０１、インタフェース１０３、ロードバランサ１０４、及び経路探索装置１０５−１〜１０５−４の処理を行う。
【０１１９】
情報処理装置が経路探索装置１０５−１〜１０５−４として使用される場合は、メモリ２９０２は、図２の動作パラメータ格納部２０４としても使用でき、地図情報、交通情報、及びオープンリストを格納することもできる。
【０１２０】
入力装置２９０３は、例えば、キーボード、ポインティングデバイス等であり、ユーザ又はオペレータからの指示や情報の入力に用いられる。出力装置２９０４は、例えば、表示装置、プリンタ、スピーカ等であり、ユーザ又はオペレータへの問い合わせや処理結果の出力に用いられる。端末１０１の処理結果には、経路情報が示す経路を表示する画面も含まれる。
【０１２１】
外部記憶装置２９０５は、例えば、磁気ディスク装置、光ディスク装置、光磁気ディスク装置、テープ装置等である。この外部記憶装置２９０５には、ハードディスクドライブも含まれる。情報処理装置は、外部記憶装置２９０５にプログラム及びデータを格納しておき、それらをメモリ２９０２にロードして使用することができる。
【０１２２】
情報処理装置が地図情報データベース１０６又は交通情報データベース１０７として使用される場合は、外部記憶装置２９０５は、地図情報又は交通情報を格納する。
【０１２３】
媒体駆動装置２９０６は、可搬型記録媒体２９０９を駆動し、その記録内容にアクセスする。可搬型記録媒体２９０９は、メモリデバイス、フレキシブルディスク、光ディスク、光磁気ディスク等である。この可搬型記録媒体２９０９には、Compact Disk Read Only Memory （ＣＤ−ＲＯＭ）、Digital Versatile Disk（ＤＶＤ）、Universal Serial Bus（ＵＳＢ）メモリ等も含まれる。ユーザ又はオペレータは、この可搬型記録媒体２９０９にプログラム及びデータを格納しておき、それらをメモリ２９０２にロードして使用することができる。
【０１２４】
このように、各種処理に用いられるプログラム及びデータを格納するコンピュータ読み取り可能な記録媒体には、メモリ２９０２、外部記憶装置２９０５、及び可搬型記録媒体２９０９のような、物理的な（非一時的な）記録媒体が含まれる。
【０１２５】
ネットワーク接続装置２９０７は、Local Area Network（ＬＡＮ）、インターネット等の通信ネットワークに接続され、通信に伴うデータ変換を行う通信インタフェースである。情報処理装置は、プログラム及びデータを外部の装置からネットワーク接続装置２９０７を介して受け取り、それらをメモリ２９０２にロードして使用することもできる。
【０１２６】
なお、情報処理装置が図２７のすべての構成要素を含む必要はなく、用途や条件に応じて一部の構成要素を省略することも可能である。例えば、情報処理装置がインタフェース１０３、ロードバランサ１０４、経路探索装置１０５−１〜１０５−４、地図情報データベース１０６、又は交通情報データベース１０７として使用される場合は、入力装置２９０３及び出力装置２９０４を省略してもよい。
【０１２７】
また、図１に示すインタフェース１０３、ロードバランサ１０４、経路探索装置１０５−１〜１０５−４、地図情報データベース１０６、又は交通情報データベース１０７は、それぞれが個別に、互いに通信可能に接続された情報処理装置上に実装されても構わないし、１台の情報処理装置に実装されても構わない。図１の端末１０１以外の各処理部を何台の情報処理装置により実装するかは、システムの運用者が適宜決定できる。
【０１２８】
以上、開示の実施形態とその利点について詳しく説明したが、当業者は、特許請求の範囲に明確に記載した本発明の範囲から逸脱することなく、様々な変更、追加、省略をすることができるであろう。
【符号の説明】
【０１２９】
１０１  端末
１０２  通信ネットワーク
１０３  インタフェース
１０４  ロードバランサ
１０５−１〜１０５−４  経路探索装置
１０６  地図情報データベース
１０７  交通情報データベース
２０１  探索部
２０２  設定部
２０３  生成部
２０４  動作パラメータ格納部
９０１、１２０１、１９０１、２１０１  出発地
９０２、１２０２、１９０２、２１０２  目的地
９１１〜９１４、９３１、１００１〜１００５、１０２１、１２１１〜１２１５、１２３１、１３０１〜１３０４、１３２１  道路
９２１、９２２、１０１１、１０１２、１２２１、１３１１  部分経路
１１０２、１４０２、１９１１、２１１１  経路
１２４１、１３３１  インターチェンジ
２００１、２２０１、２３１１、２４０１、２５１１、２５１２、２６０１、２６０２、２７０１、２８０１  領域
２３０１  線分
２５０１  メッシュ
２９０１  ＣＰＵ
２９０２  メモリ
２９０３  入力装置
２９０４  出力装置
２９０５  外部記憶装置
２９０６  媒体駆動装置
２９０７  ネットワーク接続装置
２９０８  バス
２９０９  可搬型記録媒体
【図１】
0005919950.tif 000002
【図２】
0005919950.tif 000003
【図３】
0005919950.tif 000004
【図４Ａ】
0005919950.tif 000005
【図４Ｂ】
0005919950.tif 000006
【図５】
0005919950.tif 000007
【図６】
0005919950.tif 000008
【図７】
0005919950.tif 000009
【図８】
0005919950.tif 000010
【図９】
0005919950.tif 000011
【図１０】
0005919950.tif 000012
【図１１】
0005919950.tif 000013
【図１２】
0005919950.tif 000014
【図１３】
0005919950.tif 000015
【図１４】
0005919950.tif 000016
【図１５】
0005919950.tif 000017
【図１６】
0005919950.tif 000018
【図１７】
0005919950.tif 000019
【図１９】
0005919950.tif 000020
【図２７】
0005919950.tif 000021
【図１８】
0005919950.tif 000022
【図２０】
0005919950.tif 000023
【図２１】
0005919950.tif 000024
【図２２】
0005919950.tif 000025
【図２３】
0005919950.tif 000026
【図２４】
0005919950.tif 000027
【図２５】
0005919950.tif 000028
【図２６】
0005919950.tif 000029