説明

案内経路作成装置、案内経路作成方法、および、コンピュータプログラム

【課題】通過対象道路を全て通過する案内経路を効率良く作成する。
【解決手段】案内経路作成装置は、複数のノードとリンクを含む道路ネットワークデータを記憶するネットワーク記憶部と、通過すべき道に対応するリンクを通過対象リンクとして認識する通過対象リンク認識部と、通過対象リンクに接続している全てのノードを処理対象ノードとして認識する処理対象ノード認識部と、処理対象ノードのうちの1つのノードである着目ノードについて、着目ノードに進入する進入リンクと着目ノードから脱出する脱出リンクの一対一の組み合わせを決定する処理を、全ての処理対象ノードを前記着目ノードとして実行する進入脱出決定部と、決定された進入リンクと脱出リンクの組み合わせに基づいて、通過対象リンクを全て通過する案内経路を作成する案内経路作成部と、を備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、案内経路作成装置、案内経路作成方法、および、コンピュータプログラムに関する。
【背景技術】
【0002】
例えば、カーナビゲーション装置を始めとして、コンピュータで利用可能に電子化された地図データを利用して、車や歩行者に経路案内を行う技術は広く実用化されている。この際、営業における訪問経路の経路案内や道路調査のための経路案内など、通過すべき通過対象道路が予め決まっていて、通過対象道路をいかに効率良く通過する案内経路を作成できるかという技術の開発が行われている。(例えば、特許文献1)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開平7−244689号公報
【特許文献2】特開平7−249025号公報
【特許文献3】特開平8−329041号公報
【特許文献4】特開平9−160981号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
本発明は、通過対象道路を全て通過する案内経路を効率良く作成する技術を提供することを目的とする。
【課題を解決するための手段】
【0005】
本発明は、上述の課題の少なくとも一部を解決するためになされたものであり、以下の形態又は適用例として実現することが可能である。
【0006】
[適用例1]案内経路作成装置であって、
複数のノードと前記ノード間を接続するリンクを含む道路ネットワークデータを記憶するネットワーク記憶部と、
前記道路ネットワークに含まれる前記リンクのうち、通過すべき道に対応するリンクを通過対象リンクとして認識する通過対象リンク認識部と、
前記道路ネットワークに含まれる前記ノードのうち、複数の前記通過対象リンクに接続している全てのノードを処理対象ノードとして認識する処理対象ノード認識部と、
前記処理対象ノードのうちの1つのノードである着目ノードについて、前記着目ノードに進入する進入リンクと前記着目ノードから脱出する脱出リンクの一対一の組み合わせを決定する進入脱出決定処理を、全ての前記処理対象ノードを前記着目ノードとして実行する進入脱出決定部と、
決定された前記進入リンクと前記脱出リンクの組み合わせに基づいて、前記通過対象リンクを全て通過する案内経路を作成する案内経路作成部と、
を備える、案内経路作成装置。
こうすれば、処理対象ノードの全てについて、進入リンクと脱出リンクの一対一の組み合わせを決定したうえで、通過対象リンクを全て通過する案内経路を作成するので、案内経路を作成する作成速度を向上することができる。
【0007】
[適用例2]適用例1に記載の案内経路作成装置であって、
前記進入脱出決定部は、前記着目ノードに接続されている複数の前記通過対象リンクの数が奇数の場合には、当該複数の前記通過対象リンクのうちの一つを複製して仮想的な前記通過対象リンクとして追加することにより、あるいは、通過対象外である前記リンクのうち、通行可能なものを前記通過対象リンクとして追加することにより、前記着目ノードについて、前記進入リンクと前記脱出リンクの一対一の組み合わせを決定する、案内経路作成装置。
こうすれば、進入リンクと脱出リンクの数を等しくして一対一の組み合わせを決定することにより、通過対象リンクを全て通過する案内経路を作成することができる。
【0008】
[適用例3]適用例1または適用例2に記載の案内経路作成装置は、さらに、
通過対象リンクの全てについて、所定の条件に従って通過方向を定める有向化処理部を備え、
前記進入脱出決定部は、定められた通過対象リンクの通過方向に従って、前記進入リンクと前記脱出リンクの一対一の組み合わせを決定する、案内経路生成装置。
通過対象リンクの全てを有向化してから、進入リンクと脱出リンクの一対一の組み合わせを決定するので、有向化されていないリンクを含む状態より、案内経路を作成する作成速度を向上することができる。
【0009】
[適用例4]適用例3に記載の案内経路作成装置であって、
前記所定の条件は、交通規制を遵守することを含む、案内経路生成装置。
こうすれば、交通規制を遵守した案内経路を作成できる。
【0010】
[適用例5]適用例3または適用例4に記載の案内経路作成装置であって、
前記有向化処理部における所定の条件は、前記着目ノードの前記進入リンクの数と前記脱出リンクの数の差を小さくすることを含む、案内経路生成装置。
こうすれば、後に進入リンクと脱出リンクの一対一の組み合わせを効率良く決定できる。
【0011】
[適用例6]適用例3ないし適用例5のいずれかに記載の案内経路作成装置であって、
前記所定の条件は、前記着目ノードを通過する際の通過コストを小さくすることを含む、案内経路生成装置。
こうすれば、効率良く通過対象リンクに対応する道を通過できる案内経路を作成できる。
【0012】
[適用例7]適用例1ないし適用例6のいずれかに記載の案内経路作成装置であって、
前記進入脱出決定部は、前記着目ノードを通過する際の通過コストを小さくするように、前記進入リンクと前記脱出リンクの一対一の組み合わせを決定する、案内経路生成装置。
こうすれば、効率良く通過対象リンクに対応する道を通過できる案内経路を作成できる。
【0013】
[適用例8]適用例1ないし適用例7のいずれかに記載の案内経路作成装置であって、
前記進入脱出決定部は、
前記処理対象ノードのうち、前記脱出リンクの数が前記進入リンクの数より少ない脱出不足ノードを出発地ノードとし、前記処理対象ノードのうち、前記進入リンクの数が前記脱出リンクの数より少ない進入不足ノードを目的地ノードとする追加経路を探索し、
前記追加経路に対応するリンクを前記通過対象リンクに追加することにより、各処理対象ノードについて、前記進入リンクの数と前記脱出リンクの数を等しくし、
前記進入リンクと前記脱出リンクの一対一の組み合わせを決定する、案内経路作成装置。
こうすれば、進入リンクの数と前記脱出リンクの数を等しくしてから、進入リンクと脱出リンクの一対一の組み合わせを決定するので、確実に進入リンクと脱出リンクの一対一の組み合わせを決定して案内経路を作成できる。
【0014】
[適用例9]適用例1ないし適用例8のいずれかに記載の案内経路作成装置であって、
前記案内経路作成部は、前記進入リンクと前記脱出リンクの組み合わせに従って一筆書き経路を作成し、
一筆書き経路が複数作成された場合には、前記進入リンクと前記脱出リンクの組み合わせのパターンが複数個許容される前記処理対象ノードについて、前記進入リンクと前記脱出リンクの組み合わせのパターンを変更することにより、複数の一筆書き経路を繋いで、最終的に一つの一筆書き経路からなる前記案内経路を作成する、案内経路作成装置。
こうすれば、1つの最終的な案内経路を効率よく作成できる。
【0015】
[適用例10]適用例9に記載の案内経路作成装置であって、
前記進入リンクと前記脱出リンクの組み合わせのパターンが3以上許容される場合には、通過コストの低下が最も少ないパターンに変更する、案内経路作成装置。
こうすれば、効率良く通過対象リンクに対応する道を通過できる案内経路を作成できる。
【0016】
なお、本発明は、種々の形態で実現することが可能であり、例えば、案内経路作成方法、コンピュータに案内経路を作成させるためのコンピュータプログラム、当該コンピュータプログラムを記録した記録媒体等の形態で実現することができる。
【図面の簡単な説明】
【0017】
【図1】実施例としての案内経路作成装置の概略構成を示す説明図である。
【図2】地図データD11の内容を説明する図である。
【図3】案内経路の作成の対象となる地域の道路の一例をノードとリンクのネットワークで表した図である。
【図4】実施例における案内経路作成処理の処理ステップを示すフローチャートである。
【図5】通過対象リンクLKSの有向化について説明する第1の図である。
【図6】通過対象リンクLKSの有向化について説明する第2の図である。
【図7】通過対象リンクLKSの有向化について説明する第3の図である。
【図8】通過対象リンクLKSの有向化について説明する第4の図である。
【図9】無向リンクについて脱出リンクと進入リンクとの一対一の組み合わせを決定する場合の計算について説明する第1の図である。
【図10】無向リンクについて脱出リンクと進入リンクとの一対一の組み合わせを決定する場合の計算について説明する第2の図である。
【図11】本実施例において脱出リンクと進入リンクとの一対一の組み合わせを決定する場合の計算について説明する図である。
【図12】進入リンクと脱出リンクとの一対一の組み合わせの決定について説明する第1の図である。
【図13】進入リンクと脱出リンクとの一対一の組み合わせの決定について説明する第2の図である。
【図14】通過対処リンクを追加する処理について説明する第1の図である。
【図15】通過対処リンクを追加する処理について説明する第2の図である。
【図16】一筆書き経路の決定について説明する図である。
【図17】進入リンクと脱出リンクの組み合わせの変更について説明する図である。
【図18】第1変形例における案内経路作成処理の処理ステップを示すフローチャートである。
【発明を実施するための形態】
【0018】
以下、本発明の実施の形態について、図面を参照しながら、実施例に基づき説明する。
【0019】
A.実施例:
・案内経路作成装置の構成:
図1は、実施例としての案内経路作成装置の概略構成を示す説明図である。案内経路作成装置200は、大型計算機、パーソナルコンピュータなどの周知のコンピュータである。案内経路作成装置200は、CPU201と、RAMやROMなどの内部記憶装置203と、ハードディスクなどの外部記憶装置204と、外部機器(例えば、キーボード、マウスなど)とのインターフェースである入出力部202を備えている。
【0020】
外部記憶装置204には、地図データD11が格納されている。図2は、地図データD11の内容を説明する図である。地図データD11は、画像データベースCD1と、経路データベースCD2と、属性データベースCD3とを含む。図2は、画像データベースCD1と経路データベースCD2と、属性データベースCD3の内容が、それぞれ、概念的に示されている。
【0021】
画像データベースCD1には、地図画像を表すデータ(地図画像データ)がベクトルデータ形式で格納されている。なお、地図画像データは、ベクトルデータ形式に代えて、ビットマップ形式やJPEGデータ形式などのラスタデータ形式で格納されていても良い。この地図画像データには、地形や建物、道路等の形状を表すデータが含まれている。
【0022】
経路データベースCD2には、地図画像データが表す地図画像に対応した領域に存在する交通経路に関する経路データが格納されている。経路データは、交通経路の地表上における配置を示すネットワークを表すデータである。ネットワークデータは、交通経路における要素点ND(ノードと呼ぶ。)を表すノードデータと、ノード間を結ぶ線分LK(リンクと呼ぶ)を表すリンクデータとを含む。ノードNDは、例えば、交差点、分岐点、終点、始点、駅などの乗降位置などを表している。リンクLKは、例えば、車道、線路、歩行者道などの交通経路を表している。
【0023】
属性データベースCD3には、属性データが格納されている。属性データは、ノードNDあるいはリンクLKに関連付けられており、その属性を示す情報である。属性データは、ノードND、リンクLKに関する様々なデータを含む。例えば、リンクLKに関連付けられる属性データは、リンクLKの名称(例えば、道路の名称)、リンクLKの種類(例えば、高速道路であること)、リンクLKの規制情報(例えば、一方通行であること)、その他の情報(例えば、高速道路であれば、区間料金など)を含んでも良い。ノードNDに関連付けられる属性データは、ノードNDに対応する交差点の名称、ノードNDに対応する交差点の規制情報(例えば、ある方向から見て、左折可、右折不可、直進可など)、関連付けられたノードNDに関する画像を表す画像データ(例えば、ノードND(例えば、交差点、駅)の分岐状況を示す模式図や案内板を示す画像)を含んでも良い。1つのノードNDまたはリンクLKに関連付けられる属性データは、1つであっても良いし、複数であっても良い。また、属性データベースCD3は、1つのデータベースである必要はなく、例えば、高速道路に関する属性データと、店舗や駅などの物件に関する属性データと、規制情報に関する属性データは、別々のデータベースとしても良い。
【0024】
内部記憶装置203には、経路作成プログラムが格納されており、CPU201が当該プログラムを実行することにより、図2の内部記憶装置203に図示した機能ブロックの機能を実現される。実現される機能ブロックは、通過対象リンク認識部M11と、処理対象ノード認識部M12と、リンク有向化処理部M13と、進入脱出決定部M14と、経路案内作成部M15を含む。
【0025】
通過対象リンク認識部M11は、入出力部202を介して、例えば、操作者の入力を受け付けて、地図データD11の経路データベースCD2に含まれるリンクLKの中から、作成されるべき案内経路において通過すべき道に対応するリンク(通過対象リンク)LKSを認識する。処理対象ノード認識部M12は、地図データD11の経路データベースCD2に含まれるノードNDの中から、認識された複数の通過対象リンクLKSの両端に接続されている全てのノード(処理対象ノード)NDSを認識する。リンク有向化処理部M13は、後述する所定の条件に従って通過対象リンクLKSの全てについて通過方向を定める。進入脱出決定部M14は、処理対象ノードNDSのそれぞれについて、当該処理対象ノードに接続するリンクLKについて、当該処理対象ノードNDSに進入するリンク(進入リンク)と当該処理対象ノードNDSから脱出するリンクの一対一の組み合わせを決定する。ここで、進入リンクと脱出リンクの組み合わせは、少なくとも当該処理対象ノードNDSに接続される通過対象リンクLKSについては決定される。経路案内作成部M15は、進入リンクと脱出リンクの組み合わせに基づいて、全ての通過対象リンクLKSを通過する案内経路を作成する。
【0026】
図3は、案内経路の作成の対象となる地域の道路の一例をノードとリンクのネットワークで表した図である。図3において、黒丸および2重丸はノードNDを表し、細線および太線はリンクLKを表している。なお、リンクLKのうち、矢印で表されているものは、矢印の方向への一方通行の道路に対応するリンクLK、すなわち、属性情報として矢印の方向への一方通行を表す属性情報が対応付けられているリンクLKを表す。リンクLKのうち、矢印ではない単なる直線で表されているものは、両方向に通行可能な道路に対応するリンクLKを表す。リンクLKのうち、太線で示したリンクは、通過対象リンクLKSを表す。ノードNDのうち、2重丸は、処理対象ノードNDSを表す。以下では、図3のように指定された通過対象リンクLKSを全て通過する案内経路を作成する案内経路作成処理について説明する。
【0027】
・案内経路作成装置200の動作:
図4は、実施例における案内経路作成処理の処理ステップを示すフローチャートである。案内経路作成処理は、CPU201によって実行される処理である。案内経路作成処理が開始されると、CPU201は、通過対象リンクLKSを全て有向化する。有向化とは、通過対象リンクLKSの通過方向を定めることである。
【0028】
図5〜図8は、通過対象リンクLKSの有向化について説明する図である。図5〜図8において、白丸はノードNDを表し、白丸の中にノードを識別するためのアルファベットを付した。以下では、白丸の中に付されたアルファベットを用いてノードNDを記述する場合がある。例えば、白丸の中に「A」が付されたノードNDは、ノードAと記述される。図5〜図8において、ノード間を結ぶ線は全てリンクを表す。図5〜図8において、一点破線の太線で表されたリンクは、有向化されていない通過対象リンクLKSを表し、一点破線の太線の矢印で表されたリンクは、既に矢印の方向に有向化されている通過対象リンクLKSを表す。細線で表されたリンクは、通過対象リンクLKSではないリンクを表す。また、ノード付近に表された細い破線の矢印と×印は、当該ノードにおける交通規制を表す。例えば、図5(a)に示すノードAは、ノードD側から進入する場合に右折禁止であり、ノードB側から進入する場合において左折禁止であることが示されている。また、図5〜図8において、白抜きの太い矢印の右側の図で、実線の太線の矢印で表されたリンクは、白抜きの太い矢印のステップにおいて有向化された通過対象リンクLKSを表す。
【0029】
有向化において、交通規制を遵守することが一つの条件とされ、CPU201は、一方通行の道路に対応する通過対象リンクLKSは、通過可能な方向に有向化する。例えば、図5(a)に示すように、交通規制により、ノードAからノードCへの方向の通過が規制されている場合は、ノードAとノードCとの間を接続する通過対象リンクLKSは、ノードCからノードAへの方向に有向化される。また、図5(b)に示すように、ノードBからノードAへ進入する方向に有向化された通過対象リンクLKSが存在しているとき、当該通過対象リンクLKSを通過した場合に交通規制によりノードAからノードCへの方向に脱出する他にないので、ノードAとノードCとの間を接続する通過対象リンクLKSは、ノードAからノードCへの方向に有向化される。
【0030】
既に有向化されている通過対象リンクLKSと二差路接続している通過対象リンクLKSは、道なりに走行するように有向化される。例えば、図6(a)に示す例では、ノードAとノードDとの間を接続する通過対象リンクLKSがノードAからノードDへの方向に既に有向化されているので、ノードBとノードAとの間を接続する通過対象リンクLKSがノードBからノードAへの方向に有向化される。また、通過対象リンクLKSではないリンクを含めると四差接続しているノードについても、通過対象リンクLKSだけを見れば、既に有向化されている通過対象リンクLKSと二差路接続している通過対象リンクLKSも道なりに走行するように有向化される。例えば、図6(b)に示す例では、ノードBとノードAとの間を接続する通過対象リンクLKSがノードBからノードAへの方向に既に有向化されているので、ノードAとノードCとの間を接続する通過対象リンクLKSがノードAからノードCへの方向に有向化される。
【0031】
また、ある処理対象ノード(着目ノード)から他の処理対象ノードへと脱出する方向へ有向化されたリンクである脱出リンクの数と他の処理対象ノードから着目ノードへと進入する方向へ有向化されたリンクである進入リンクとの数の差はゼロに近づくように、通過対象リンクLKSは有向化される。例えば、図7(a)に示す例では、着目ノードAからの脱出リンクが2本既に決まっているので、有向化されていない他の2本の通過対象リンクLKSは、着目ノードAへの進入リンクとなるように有向化される。また、図7(b)に示す例では、着目ノードAへの進入リンクが2本既に決まっているので、有向化されていない着目ノードAとノードCとの間の通過対象リンクLKSは、着目ノードAからの脱出リンクとなるように有向化される。
【0032】
また、着目ノードと接続する通過対象リンクLKSで既に有向化されているものがある場合、その有向化済みの通過対象リンクLKSが着目ノードをなるべく低いコストで通過できるように、他の通過対象リンクLKSが有向化される。通過コストは、通過に要する時間の長さを表し、通過に要する時間が長いほど通過コストは高いとされ、通過に要する時間が短いほど通過コストは低いとされる。例えば、右折や左折と比較すると直進は通過コストが低い。例えば、図8に示す例では、ノードBから着目ノードAへの進入リンクが既に決まっているので、当該進入リンクから通過コストの低い脱出リンクができるように、ノードAとノードDとの間を接続する通過対象リンクLKSは、ノードAからノードBへの方向に有向化される。
【0033】
以上説明した有向化のルールを適用しても有向化できなかった通過対象リンクLKSについては、特に理由なく一の方向に有向化される。
【0034】
通過対象リンクLKSが有向化されると、CPU201は、進入リンクの数と脱出リンクの数が等しい処理対象ノードNDSを着目ノードとして、進入リンクと脱出リンクとの一対一の組み合わせを決定する(ステップS20)。
【0035】
ここで、先のステップS10において、通過対象リンクLKSを全て有向化した理由について説明しておく。図9および図10は、有向化されていないリンク(無向リンク)について脱出リンクと進入リンクとの一対一の組み合わせを決定する場合の計算について説明する図である。図9では、着目ノードAを中心とする四差路を表すネットワークが示されている。着目ノードAと、着目ノードAに接続するリンクと着目ノードAとは異なる端部で接続しているノード(図9では、ノードB、C、D、Eの4つ)とを要素とした接続行列によって、リンクは表現できる。この接続行列において、例えば、ノードAとノードB間のリンクがノードAからノードBへの有向リンクの場合は、行列(A、B)の位置に値を持ち、行列(B、A)の位置には値を持たない(0)。一方、ノードAとノードB間の無向リンクである場合は、行列(A、B)の位置と、行列(B、A)の位置との両方に値を持つ。値を持つ場合、その値は、そのノード間に存在するリンクの本数である。ここで、図9(b)着目ノードAに接続するリンクについて、進入リンクと脱出リンクの組み合わせを決定するということは、進入元となるノードを行成分に、脱出先となるノードを列成分として接続行列において、行と列のいずれを見ても、要素の合計値が1にしかならないようにすることに等しい。これを無向リンクとして処理した場合、全てのリンクが進入リンクと脱出リンクの両方の候補となるため、組み合わせの数は、着目ノードに接続するリンクの数をnとすると、n×(n−1)通りとなる(図10)。
【0036】
この組み合わせ問題に類似した有名な問題に「nクイーン問題」が知られている。nクイーン問題は、チェスのクイーンの可動範囲(縦・横・斜め方向に無限大)に、他のクイーンが配置されないようにn×nのチェス盤上にn個のクイーンを配置しようという問題である。本実施例における進入リンクと脱出リンクの組み合わせを決定する問題は、nクイーン問題において、クイーンの可動範囲から斜め方向を除いて、クイーンの可動範囲を縦・横方向に無限大とした問題と等しい。nクイーン問題は、nの数が8個を超えると計算量が膨大になることが知られている。本実施例において進入リンクと脱出リンクの組み合わせを決定する問題もまた、着目ノードに接続するリンクの数が8を超えると、現実的な計算量で組み合わせを決定することは困難になる。
【0037】
図11は、本実施例において脱出リンクと進入リンクとの一対一の組み合わせを決定する場合の計算について説明する図である。本実施例では、処理対象ノード(着目ノード)に接続するリンクを予め有向化しているので、考えなくてはならない組み合わせの数を大幅に減らすことができる。具体的には、上述したnの数を半減した組み合わせの数を考えれば足りる。例えば、図11に示すように、着目ノードに接続するリンクの数が4であるときは、無向リンクで考えなければならない組み合わせの数n(n―1)の式において、n=4/2=2とした数、すなわち、2通りを考えるだけでよい。このように、着目ノードに接続するリンクを有向化した場合、nが8になるということは、着目ノードに接続するリンクの数が16になるということになる。現実世界の交差点を考えた場合、後述するように、脱出リンクと進入リンクの数を一致させるためにリンクを追加しても、着目ノードに接続するリンクの数は16未満になると考えられる。
【0038】
図12および図13は、進入リンクと脱出リンクとの一対一の組み合わせの決定について説明する図である。進入リンクと脱出リンクの組み合わせは、交通規制に従うように決定される。例えば、図12に示すように、ノードD側から着目ノードAを直進してノードBへ通過することが禁止されている場合には、図12において右側に示すように、ノードEと着目ノードAへの進入リンクと着目ノードAからノードBへの脱出リンクとを組み合わせると共に、ノードDから着目ノードAへの進入リンクと、着目ノードAからノードCへの脱出リンクとを組み合わせる。
【0039】
交通規制に違反しない場合には、通過コストが低くなるように、進入リンクと脱出リンクの組み合わせを決定する。通過コストは、通常、直進<左折<右折<Uターンと設定されることが多く、これに従うと、組み合わせとして優先される順番は、1.直進、2.左折、3.右折、4.Uターンとなる。例えば、図13(a)に示すように、着目ノードAに交通規制がない場合、進入リンクと脱出リンクの組み合わせのパターンは、図12(b)に示すパターンと、図12(c)に示すパターンの2とおりとなるが、この場合、着目ノードAを直進する組み合わせである図12(b)に示すパターンに決定される。
【0040】
以上説明した組み合わせの決定ルールを適用しても組み合わせが一義的に定まらない処理対象ノードNDSについては、特に理由なく一つの組み合わせに決定される。また、全ての進入脱出リンクを用いる組み合わせが一つも求まらなかった場合は、進入と脱出のリンク数が等しい場合においても、ステップ30を複数回行うことにより、最低一つの組み合わせを決定する。道路の規制や、リンクの構成上、どうしても組み合わせが求まらない場合は、そこで案内経路を切るようにしてもよい。
【0041】
次に、CPU201は、接続される進入リンクと脱出リンクの数が等しくない処理対象ノードNDSについて、接続される進入リンクと脱出リンクの数が等しくなるように、通過対象リンクを追加する(ステップS30)。図14および図15は、通過対象リンクを追加する処理について説明する図である。図14および図15において、一点破線で示す矢印が既に決まっている通過対象リンクLKSを表す。図14において、ノードAは、接続される進入リンク(ノードCからのリンクとノードDからのリンク)の数より脱出リンク(ノードDへのリンク)の数が少ない脱出不足ノードである。脱出不足ノードは、接続される進入リンクの数と脱出リンクの数を等しくするために、脱出リンクを追加する必要がある。一方、ノードEは、接続される脱出リンク(ノードFへのリンクとノードGへのリンク)の数より進入リンク(ノードHからのリンク)の数が少ない進入不足ノードである。進入不足ノードは、接続される進入リンクの数と脱出リンクの数を等しくするために、進入リンクを追加する必要がある。ここで、CPU201は、処理対象ノードNDSのうち、脱出不足ノードを出発地ノード候補とし、進入不足ノードを目的地ノード候補として、経路探索を実行する。その結果、接続経路が求められると、CPU201は、求められた接続経路で出発地ノード候補と、目的地ノード候補との両方で、進入リンクと脱出リンクの組が確定するか否かを判断する。図14に示す例では、ノードAからノードIとノードJを介してノードEに至る接続経路が探索されている。出発地ノード候補であるノードAにおいては、新たに求められた経路の一部であるノードAからノードIへの脱出リンクが追加されることによって、進入リンクと脱出リンクの組み合わせを確定できる。しかしながら、図14に示す例では、目的地ノード候補であるノードEにおいて、新たに求められた経路の一部であるノードJからノードEへの進入リンクが追加されても、交通規制により、進入リンクと脱出リンクの組を確定できない。この場合、追加すべき通過対象経路は確定しない。
【0042】
一方、図15に示す例では、ノードAが、進入不足ノードであり、ノードFが脱出不足ノードである。この場合、CPU201は、ノードFを出発地ノード候補とし、ノードAを目的地ノード候補として、経路探索を実行する。図15に示す例では、ノードFからノードJとノードDを介してノードEに至る接続経路が探索されている。そして、図15に示す例では、出発地ノード候補であるノードFにおいて、新たに求められた経路の一部であるノードFからノードJへの脱出リンクが追加されることによって、進入リンクと脱出リンクの組み合わせを確定できる。しかも、図15に示す例では、目的地ノード候補であるノードAにおいて、新たに求められた経路の一部であるノードDからノードAへの進入リンクが追加されることによって、進入リンクと脱出リンクの組を確定できる。この場合、求められた接続経路を構成するリンクが追加すべき通過対象リンクLKSとして確定する。なお、探索される接続経路は、既に通過対象リンクLKSとされているリンクであっても、通過対象リンクLKSではないリンクであっても良い。接続経路を構成するリンクが通過対象リンクLKSとして追加される際、既に通過対象リンクLKSとなっているリンクについては、仮想的なリンクが複製されて新たな通過対象リンクLKSとして追加される。複製された通過対象リンクLKSが存在するリンクに対応する道は、案内経路において複数回通過することになる。接続経路を構成するリンクが通過対象リンクLKSとして追加される際、通過対象リンクLKSではないリンクについては、当該リンクが通過対象リンクLKSとして追加される。
【0043】
このように、通過対象リンクを追加すると、CPU201は、全ての処理対象ノードNDSについて、進入リンクと脱出リンクの組み合わせが決定されたか否かを判断する(ステップS40)。
【0044】
CPU201は、全ての処理対象ノードNDSについて、進入リンクと脱出リンクの組み合わせが決定されていないと判断すると(ステップS40:NO)、ステップS30に戻って、通過対象リンクを追加しながら進入リンクと脱出リンクの組み合わせを決定していく上述の処理を繰り返す。
【0045】
一方、CPU201は、全ての処理対象ノードNDSについて、進入リンクと脱出リンクの組み合わせが決定されていると判断すると(ステップS40:YES)、各処理対象ノードNDSについて決定された進入リンクと脱出リンクの組み合わせに従って、一筆書き経路を決定する(ステップS50)。図16は、一筆書き経路の決定について説明する図である。図16の上図では、全てのノードについて進入リンクと脱出リンクの組み合わせが決定されていることが示されている。この組み合わせに従って、全てのリンクを一度は通るように一筆書き経路を描いていくと、図16の下図のように、実線の太線で示す第1の一筆書き経路と、破線の太線で示す第2の一筆書き経路が作成されることが解る。このように、全てのリンクを一度は通るように一筆書き経路を描いていくと必ずしも一つの一筆書き経路になるわけではなく、複数の一筆書き経路が作成されることがある。
【0046】
CPU201は、一筆書き経路が一つであるか否かを判断する(ステップS60)。この結果、一筆書き経路が一つであると判断すると(ステップS60:YES)、当該一筆書き経路を最終的な案内経路として、案内経路作成処理を終了する。
【0047】
一方、CPU201は、一筆書き経路が一つでない(複数ある)と判断すると(ステップS60:NO)、一筆書き経路を減らすように、進入リンクと脱出リンクの組み合わせを変更可能な処理対象ノードNDSについて、進入リンクと脱出リンクの組み合わせを変更する(ステップS70)。
【0048】
図17は、進入リンクと脱出リンクの組み合わせの変更について説明する図である。図17の例では、ノードAについて、進入リンクと脱出リンクの組み合わせを変更している。すなわち、変更前のノードAにおいては、ノードEからノードAへの進入リンクとノードAからノードCへの脱出リンクの組み合わせと、ノードBからノードAへの進入リンクとノードAからノードDへの脱出リンクの組み合わせであったところ(図17:上図)、変更後のノードAにおいては、ノードEからノードAへの進入リンクとノードAからノードDへの脱出リンクの組み合わせと、ノードBからノードAへの進入リンクとノードAからノードCへの脱出リンクの組み合わせとしている(図17:下図)。この結果、2つあった一筆書き経路が一つになることが解る。ここで、CPU201は、交通規制により進入リンクと脱出リンクの組み合わせのパターンが一つだけのノードに関しては、このような組み合わせの変更は行わない。CPU201は、進入リンクと脱出リンクの組み合わせのパターンが複数あるノードを探索して、進入リンクと脱出リンクの組み合わせのパターンが複数あるノード関して、このような組み合わせの変更を行う。なお、進入リンクと脱出リンクの組み合わせのパターンが3つ以上存在し、組み合わせの変更が複数種類可能である場合には、CPU201は、通過コストが低い方の組み合わせに変更する。この結果、最終的に作成される案内経路は、効率良く通過対象リンクに対応する道路を通過できる経路を案内するものとなる。
【0049】
進入リンクと脱出リンクの組み合わせの変更を行うと、再び、一筆書き経路が一つであるか否かを判断する(ステップS60)。この結果、一筆書き経路が一つであると判断すると(ステップS60:YES)、当該一筆書き経路を最終的な案内経路として、案内経路作成処理を終了する。一方、CPU201は、一筆書き経路が一つでない(複数ある)と判断するとステップS70に戻って、再び、別の処理対象ノードNDSに関して、進入リンクと脱出リンクの組み合わせの変更を行う処理を繰り返す。
【0050】
ここで、オイラーグラフについて説明しておく。全てのリンクが有向リンクである場合、全てのノードにおいて、接続されている進入リンクの数と脱出リンクの数とが等しい場合、必ず一つのノードから同じノードに戻り全てのリンクを一度だけ通過する一つの一筆書き経路(オイラー閉路)が作成可能であることが知られている。本実施例では、全ての処理対象ノードNDSについて、進入リンクと脱出リンクの組み合わせを決定している(例えば、図16)ので、全ての処理対象ノードNDSについて、当該ノードに接続されている進入リンクの数と脱出リンクの数とが等しいことが保証されている。したがって、ステップS70における進入リンクと脱出リンクの組み合わせの変更を繰り返せば、一つの一筆書き経路を最終的な案内経路として作成することが可能である。
【0051】
以上説明した上記実施例によれば、全ての通過対象リンクLKSについて、通過するルートを通る案内経路を作成する計算時間を短縮できる。具体的には、全ての処理対象ノードNDSについて、進入リンクと脱出リンクの組み合わせを決定してから一筆書きの案内ルートを作成するので、最終的には確実に一つの一筆書きの案内ルート(オイラー閉路)を作成することができる。さらには、全ての通過対象ルートを有向化してから進入リンクと脱出リンクの組み合わせを決定するので、計算時間を劇的に短縮できる。また、進入リンクと脱出リンクの組み合わせの決定、通過対象ルートの通過方向の決定(有向化)、複数の一筆書き経路を一つにするための進入リンクと脱出リンクの組み合わせの変更の際に、通過コストを考慮して通過コストが低くなるように決定または変更を行うので、生成される案内経路のトータルの通過コストを低減することができる。
【0052】
B.変形例
・第1変形例:
上記実施例では、ステップS10(図4)において、上述した有向化のルールを適用しても有向化できなかった通過対象リンクLKSについては、特に理由なく一の方向に有向化しているが、これに代えて、有向化できなかった通過対象リンクLKSについては、ステップS30およびステップS40(図4)を行った後に、改めて上述のルールを適用して有向化しても良い。その例を、第1変形例として図18を参照して説明する。図18は、第1変形例における案内経路作成処理の処理ステップを示すフローチャートである。本変形例では、CPU201は、まず、通過対象リンクを、交通規制・2差路接続・進入リンクと脱出リンクの差・通過コスト等により、可能な限り有向化する(ステップS110)。次に、CPU201は、接続する全てのリンクが有向化されており、かつ、侵入と脱出の数が等しいノードについて、進入と脱出の組を決定する(ステップS120)。続いて、CPU201は、接続する全て有向化リンクについて、進入と脱出の数が等しくないノードについて、差が小さくなるような経路を求める(ステップS130)。CPU201は、求まった経路に該当する、有向化されていないリンクがあれば、経路と同じ方向に有向化し、なければ新規にリンクを追加する(ステップS140)。この後、CPU201は、全てのノードで進入と脱出の組が決定されたかを判定する(ステップS150)。CPU201は、全てのノードで進入と脱出の組が決定されている場合には(ステップS150:YES)、ステップS160の処理に進む。CPU201は、全てのノードで進入と脱出の組が決定されていない場合には(ステップS150:NO)、上述したステップS110に戻って、ステップS110〜S140までの処理を繰り返す。ステップS160では、実施例におけるステップS50(図4)と同様に一筆書き経路を決定する(ステップS160)。次に、CPU201は、実施例におけるステップS60と同様に、一筆書き経路が一つであるか判定する(ステップS170)。CPU201は、一筆書き経路が一つである場合には(ステップS170:YES)、判定する処理を終了する。CPU201は、一筆書き経路が複数ある場合には(ステップS170:NO)、実施例におけるステップS70(図4)と同様に、一筆書き経路を減らすように進入脱出の組を変更し(ステップS180)、一筆書き経路が一つになるまでステップS170およびステップS180の処理を繰り返す。以上説明した第1変形例においても、実施例と同様に、最終的に通過対象リンクを全て通過する案内経路を短い計算時間で作成することができる。
【0053】
・第2変形例:
上記実施例では、全ての処理対象ノードNDSについて、脱出リンクの数と進入リンクの数を等しくしているが、処理対象リンクに対して案内経路が複数回通過している箇所について、その重複経路部分を削除することにより、処理対象ノードNDSのうちの一つについては脱出リンクを一本少なくすると共に、他の一つについて進入リンクを一本少なくしても良い。こうすれば、脱出リンクが一本多いノードから進入リンクが一本多いノードに至る一本の一筆書きの案内経路(オイラー経路)を作成することができる。
【0054】
・第3変形例:
上記実施例において、案内経路作成処理の全ての処理をソフトウェアによって実現しているが、案内経路作成処理の一部または全部の処理をハードウェアによって実現しても良い。
【0055】
以上、本発明の実施例および変形例について説明したが、本発明はこれらの実施例および変形例になんら限定されるものではなく、その要旨を逸脱しない範囲内において種々の態様での実施が可能である。
【符号の説明】
【0056】
200…案内経路作成装置
201…CPU
202…入出力部
203…内部記憶装置
204…外部記憶装置
D11…地図データ
M11…通過対象リンク認識部
M12…処理対象ノード認識部
M13…リンク有向化処理部
M14…進入脱出決定部
M15…経路案内作成部

【特許請求の範囲】
【請求項1】
案内経路作成装置であって、
複数のノードと前記ノード間を接続するリンクを含む道路ネットワークデータを記憶するネットワーク記憶部と、
前記道路ネットワークに含まれる前記リンクのうち、通過すべき道に対応するリンクを通過対象リンクとして認識する通過対象リンク認識部と、
前記道路ネットワークに含まれる前記ノードのうち、複数の前記通過対象リンクに接続している全てのノードを処理対象ノードとして認識する処理対象ノード認識部と、
前記処理対象ノードのうちの1つのノードである着目ノードについて、前記着目ノードに進入する進入リンクと前記着目ノードから脱出する脱出リンクの一対一の組み合わせを決定する進入脱出決定処理を、全ての前記処理対象ノードを前記着目ノードとして実行する進入脱出決定部と、
決定された前記進入リンクと前記脱出リンクの組み合わせに基づいて、前記通過対象リンクを全て通過する案内経路を作成する案内経路作成部と、
を備える、案内経路作成装置。
【請求項2】
請求項1に記載の案内経路作成装置であって、
前記進入脱出決定部は、前記着目ノードに接続されている複数の前記通過対象リンクの数が奇数の場合には、当該複数の前記通過対象リンクのうちの一つを複製して仮想的な前記通過対象リンクとして追加することにより、あるいは、通過対象外である前記リンクのうち通行可能なものを前記通過対象リンクとして追加することにより、前記着目ノードについて、前記進入リンクと前記脱出リンクの一対一の組み合わせを決定する、案内経路作成装置。
【請求項3】
請求項1または請求項2に記載の案内経路作成装置は、さらに、
通過対象リンクの全てについて、所定の条件に従って通過方向を定める有向化処理部を備え、
前記進入脱出決定部は、定められた通過対象リンクの通過方向に従って、前記進入リンクと前記脱出リンクの一対一の組み合わせを決定する、案内経路生成装置。
【請求項4】
請求項3に記載の案内経路作成装置であって、
前記所定の条件は、交通規制を遵守することを含む、案内経路生成装置。
【請求項5】
請求項3または請求項4に記載の案内経路作成装置であって、
前記有向化処理部における所定の条件は、前記着目ノードの前記進入リンクの数と前記脱出リンクの数の差を小さくすることを含む、案内経路生成装置。
【請求項6】
請求項3ないし請求項5のいずれかに記載の案内経路作成装置であって、
前記所定の条件は、前記着目ノードを通過する際の通過コストを小さくすることを含む、案内経路生成装置。
【請求項7】
請求項1ないし請求項6のいずれかに記載の案内経路作成装置であって、
前記進入脱出決定部は、前記着目ノードを通過する際の通過コストを小さくするように、前記進入リンクと前記脱出リンクの一対一の組み合わせを決定する、案内経路生成装置。
【請求項8】
請求項1ないし請求項7のいずれかに記載の案内経路作成装置であって、
前記進入脱出決定部は、
前記処理対象ノードのうち、前記脱出リンクの数が前記進入リンクの数より少ない脱出不足ノードを出発地ノードとし、前記処理対象ノードのうち、前記進入リンクの数が前記脱出リンクの数より少ない進入不足ノードを目的地ノードとする追加経路を探索し、
前記追加経路に対応するリンクを前記通過対象リンクに追加することにより、各処理対象ノードについて、前記進入リンクの数と前記脱出リンクの数を等しくし、
前記進入リンクと前記脱出リンクの一対一の組み合わせを決定する、案内経路作成装置。
【請求項9】
請求項1ないし請求項7のいずれかに記載の案内経路作成装置であって、
前記案内経路作成部は、前記進入リンクと前記脱出リンクの組み合わせに従って一筆書き経路を作成し、
一筆書き経路が複数作成された場合には、前記進入リンクと前記脱出リンクの組み合わせのパターンが複数個許容される前記処理対象ノードについて、前記進入リンクと前記脱出リンクの組み合わせのパターンを変更することにより、複数の一筆書き経路を繋いで、最終的に一つの一筆書き経路からなる前記案内経路を作成する、案内経路作成装置。
【請求項10】
請求項9に記載の案内経路作成装置であって、
前記進入リンクと前記脱出リンクの組み合わせのパターンが3以上許容される場合には、通過コストの低下が最も少ないパターンに変更する、案内経路作成装置。
【請求項11】
コンピュータを用いて、案内経路を作成する案内経路作成方法であって、
前記コンピュータは、複数のノードと前記ノード間を接続するリンクを含む道路ネットワークデータを記憶するネットワーク記憶部を備え、
前記案内経路作成方法は、
(a)前記コンピュータの演算手段が、前記道路ネットワークに含まれる前記リンクのうち、通過すべき道に対応するリンクを通過対象リンクとして認識する工程と、
(b)前記コンピュータの演算手段が、前記道路ネットワークに含まれる前記ノードのうち、複数の前記通過対象リンクに接続している全てのノードを処理対象ノードとして認識する工程と、
(c)前記コンピュータの演算手段が、前記処理対象ノードのうちの1つのノードである着目ノードに接続する少なくとも前記通過対象リンクを含む前記リンクについて、前記着目ノードに進入する進入リンクと前記着目ノードから脱出する脱出リンクの一対一の組み合わせを決定することを、全ての前記処理対象ノードを前記着目ノードとして実行する工程と、
(d)決定された前記進入リンクと前記脱出リンクの組み合わせに基づいて、前記通過対象リンクを全て通過する案内経路を作成する工程と、
を備える、案内経路作成方法。
【請求項12】
コンピュータに案内経路を作成させるためのコンピュータプログラムであって、
複数のノードと前記ノード間を接続するリンクを含む道路ネットワークデータを取得するするネットワークデータ取得機能と、
前記道路ネットワークに含まれる前記リンクのうち、通過すべき道に対応するリンクを通過対象リンクとして認識する通過対象リンク認識機能と、
前記道路ネットワークに含まれる前記ノードのうち、複数の前記通過対象リンクに接続している全てのノードを処理対象ノードとして認識する処理対象ノード認識機能と、
前記処理対象ノードのうちの1つのノードである着目ノードに接続する少なくとも前記通過対象リンクを含む前記リンクについて、前記着目ノードに進入する進入リンクと前記着目ノードから脱出する脱出リンクの一対一の組み合わせを決定することを、全ての前記処理対象ノードを前記着目ノードとして実行する進入脱出決定機能と、
決定された前記進入リンクと前記脱出リンクの組み合わせに基づいて、前記通過対象リンクを全て通過する案内経路を作成する案内経路作成機能と、
を前記コンピュータに実現させる、コンピュータプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate


【公開番号】特開2010−230365(P2010−230365A)
【公開日】平成22年10月14日(2010.10.14)
【国際特許分類】
【出願番号】特願2009−76032(P2009−76032)
【出願日】平成21年3月26日(2009.3.26)
【出願人】(597151563)株式会社ゼンリン (155)
【Fターム(参考)】