(57)【要約】【課題】ユーザがイメージするコース形状に近い実際の経路を探索できるようにする。【解決手段】経路探索装置において、記憶部１０１は、道路網のノード及びリンクを含んだ地図データを記憶する。取得部１０２は、ユーザにより地図データに基づく地図上に示された閉曲線状の目標経路図形を取得する。設定部１０３は、目標経路図形を拡大した探索図形を、目標経路図形を包含する位置に設定する。検出部１０４は、探索図形の内側に存在するノードであって、探索図形の内側の他の複数のノードにそれぞれ接続する複数のリンクを有するノードを、対象ノードとして検出する。抽出部１０５は、両端が対象ノードに接続されるリンクからなるリンク群の中から最も外側の輪郭を成すリンクを抽出する。提示部１０６は、抽出部１０５により抽出されたリンクにより構成される経路を提示する。【選択図】図１
2019148605.tif 000002
【特許請求の範囲】
【請求項１】
地図データに基づき、タッチパネル上に地図を表示する表示手段と、
前記地図が表示された前記タッチパネル上でユーザによるなぞり入力によって入力された閉曲線状の目標経路図形と当該目標経路図形に対する周回希望方向とを取得する取得手段と、
前記目標経路図形に基づく経路であって、前記取得手段で取得された前記周回希望方向に適応した走行可能な経路を提示する提示手段と、
を備えることを特徴とする経路探索装置。
【請求項２】
前記目標経路図形に基づいて、経路探索の範囲を前記地図上で特定する探索図形を設定する設定手段と、
前記探索図形の内側に存在するノードであって、前記探索図形の内側の他の複数のノードにそれぞれ接続する複数のリンクを有するノードを、対象ノードとして検出する検出手段と、
両端が前記対象ノードに接続されるリンクからなるリンク群の中から最も外側の輪郭を成すリンクを抽出する抽出手段と、
をさらに備え、
前記提示手段は、前記抽出手段により抽出された前記リンクにより構成される前記経路を提示することを特徴とする請求項１に記載の経路探索装置。
【請求項３】
前記ノードのそれぞれは、自ノードに接続するリンクの進行可能方向の情報を有し、
前記取得手段は、ユーザにより指定された前記目標経路図形の進行方向のベクトル情報を取得し、
前記設定手段は、前記探索図形に前記ベクトル情報を設定し、
前記検出手段は、前記ベクトル情報及び前記進行可能方向の情報に基づいて侵入できないリンクを除外して前記対象ノードを検出することを特徴とする請求項２に記載の経路探索装置。
【請求項４】
経路探索装置が実行する経路探索方法であって、
地図データに基づき、タッチパネル上に地図を表示する表示工程と、
前記地図が表示されたタッチパネル上でユーザによるなぞり入力によって入力された閉曲線状の目標経路図形と当該目標経路図形に対する周回希望方向とを取得する取得工程と、
前記目標経路図形に基づく経路であって、前記周回希望方向に適応した走行可能な経路を提示する提示工程と、
を含むことを特徴とする経路探索方法。
【請求項５】
請求項４に記載の経路探索方法をコンピュータに実行させることを特徴とする経路探索プログラム。
【請求項６】
請求項５に記載の経路探索プログラムを記録したことを特徴とするコンピュータに読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、目標経路に近い実際の経路を探索する経路探索装置、経路探索方法、経路探索プログラム及び記録媒体に関する。ただし、この発明の利用は、経路探索装置、経路探索方法、経路探索プログラム及び記録媒体に限らない。
【背景技術】
【０００２】
従来、ジョギングやウォーキングなどのコースを作成するために、所望の距離や時間を入力すると、現在位置を発着点として条件を満たす経路を探索する技術が提案されている。また、ユーザが移動する方向（たとえば、南）を指定すると、その方向に経由地が存在する経路を探索する技術が提案されている（例えば、下記特許文献１参照。）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−１４５４０８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上述した従来の技術では、例えば、経路の方面を指定することができるにとどまり、ユーザがイメージするコース形状に近い経路を設定させることは困難である、という問題が一例として挙げられる。
【課題を解決するための手段】
【０００５】
上述した課題を解決し、目的を達成するため、請求項１の発明にかかる経路探索装置は、地図データに基づき、タッチパネル上に地図を表示する表示手段と、前記地図が表示された前記タッチパネル上でユーザによるなぞり入力によって入力された閉曲線状の目標経路図形と当該目標経路図形に対する周回希望方向とを取得する取得手段と、前記目標経路図形に基づく経路であって、前記取得手段で取得された前記周回希望方向に適応した走行可能な経路を提示する提示手段と、を備えることを特徴とする。
【０００６】
また、請求項４の発明にかかる経路探索方法は、経路探索装置が実行する経路探索方法であって、地図データに基づき、タッチパネル上に地図を表示する表示工程と、前記地図が表示されたタッチパネル上でユーザによるなぞり入力によって入力された閉曲線状の目標経路図形と当該目標経路図形に対する周回希望方向とを取得する取得工程と、前記目標経路図形に基づく経路であって、前記周回希望方向に適応した走行可能な経路を提示する提示工程と、を含むことを特徴とする。
【０００７】
また、請求項５の発明にかかる経路探索プログラムは、請求項４に記載の経路探索方法をコンピュータに実行させることを特徴とする。
【０００８】
また、請求項６の発明にかかるコンピュータに読み取り可能な記録媒体は、請求項５に記載の経路探索プログラムを記録したことを特徴とする。
【図面の簡単な説明】
【０００９】
【図１】図１は、実施の形態にかかる経路探索装置の機能的構成の一例を示すブロック図である。
【図２】図２は、実施の形態にかかる経路探索装置の経路探索処理手順の一例を示すフローチャートである。
【図３】図３は、ナビゲーション装置のハードウェア構成の一例を示すブロック図である。
【図４】図４は、実施例の経路探索処理内容を示すフローチャートである。
【図５】図５は、実施例のパス選択処理内容を示すフローチャートである。
【図６】図６は、経路探索処理及びパス選択処理の一処理段階における様子を模式的に示す説明図である。
【図７】図７は、経路探索処理及びパス選択処理の一処理段階における様子を模式的に示す説明図である。
【図８】図８は、経路探索処理及びパス選択処理の一処理段階における様子を模式的に示す説明図である。
【図９】図９は、経路探索処理及びパス選択処理の一処理段階における様子を模式的に示す説明図である。
【図１０】図１０は、経路探索処理及びパス選択処理の一処理段階における様子を模式的に示す説明図である。
【図１１】図１１は、経路探索処理及びパス選択処理の一処理段階における様子を模式的に示す説明図である。
【図１２】図１２は、経路探索処理及びパス選択処理の一処理段階における様子を模式的に示す説明図である。
【図１３】図１３は、経路探索処理及びパス選択処理の一処理段階における様子を模式的に示す説明図である。
【図１４】図１４は、経路探索処理及びパス選択処理の一処理段階における様子を模式的に示す説明図である。
【図１５】図１５は、経路探索処理及びパス選択処理の一処理段階における様子を模式的に示す説明図である。
【図１６】図１６は、経路探索処理及びパス選択処理の一処理段階における様子を模式的に示す説明図である。
【図１７】図１７は、経路探索処理及びパス選択処理の一処理段階における様子を模式的に示す説明図である。
【図１８】図１８は、経路探索処理及びパス選択処理の一処理段階における様子を模式的に示す説明図である。
【図１９】図１９は、経路探索処理及びパス選択処理の一処理段階における様子を模式的に示す説明図である。
【図２０】図２０は、経路探索処理及びパス選択処理の一処理段階における様子を模式的に示す説明図である。
【図２１】図２１は、侵入できないリンクを除外する例を示す説明図である。
【図２２】図２２は、探索された周回コースの一部の経路を補正する処理の一段階における様子を示す説明図である。
【図２３】図２３は、探索された周回コースの一部の経路を補正する処理の一段階における様子を示す説明図である。
【図２４】図２４は、探索された周回コースの一部の経路を補正する処理の一段階における様子を示す説明図である。
【図２５】図２５は、探索された周回コースの一部の経路を補正する処理の一段階における様子を示す説明図である。
【図２６】図２６は、探索された周回コースの一部の経路を補正する処理の一段階における様子を示す説明図である。
【図２７】図２７は、探索された周回コースの一部の経路を補正する処理の一段階における様子を示す説明図である。
【図２８】図２８は、探索された周回コースの一部の経路を補正する処理の一段階における様子を示す説明図である。
【発明を実施するための形態】
【００１０】
（実施の形態）
以下に添付図面を参照して、この発明にかかる経路探索装置、経路探索方法、経路探索プログラム及び記録媒体の好適な実施の形態を詳細に説明する。
【００１１】
図１は、実施の形態にかかる経路探索装置の機能的構成の一例を示すブロック図である。図１に示すように、経路探索装置１００は、記憶部１０１、取得部１０２、設定部１０３、検出部１０４、抽出部１０５及び提示部１０６を有する。
【００１２】
記憶部１０１は、道路網のノード及びリンクを含んだ地図データを記憶する。ノードは、例えば三叉路、十字路、五叉路など複数の道路が交差する交差点を示している。リンクは、例えばノード間を連結する道路を示している。各ノードは、自ノードに接続するリンクの進行可能方向の情報を有していてもよい。
【００１３】
取得部１０２は、ユーザにより地図データに基づく地図上に示された閉曲線状の目標経路図形を取得する。目標経路図形は、単純閉曲線の形状が望ましい。例えば、地図データに基づいてタッチパネルに地図が提示される装置の場合、取得部１０２は、ユーザが指やスタイラスペンなどでタッチパネルをなぞった単純閉曲線の形状を取得してもよい。また、ユーザが目標経路図形の進行方向を指定した場合、取得部１０２は、その進行方向のベクトル情報を取得してもよい。
【００１４】
設定部１０３は、目標経路図形を包含する位置に探索図形を設定する。探索図形は、目標経路図形を拡大した図形である。探索図形は、目標経路図形と相似した図形であってもよい。設定部１０３は、探索図形の重心が目標経路図形の重心に一致するような位置に探索図形を設定してもよい。また、取得部１０２が目標経路図形の進行方向のベクトル情報を取得した場合、設定部１０３は、そのベクトル情報を探索図形に設定してもよい。
【００１５】
検出部１０４は、対象ノードを検出する。対象ノードは、探索図形の内側に存在するノードのうち、探索図形の内側の他の複数のノードにそれぞれ接続する複数のリンクを有するノードのことである。従って、探索図形の外側に存在するノードや、探索図形の内側において自ノードに接続するリンクが一つであるノードは、対象ノードとして検出されない。また、各ノードがリンクの進行可能方向の情報を有しており、かつ探索図形に進行方向のベクトル情報が設定されていた場合、検出部１０４は、そのベクトル情報及び進行可能方向の情報に基づいて、侵入できないリンクを有するノードを除外して対象ノードを検出してもよい。
【００１６】
抽出部１０５は、両端が対象ノードに接続されるリンクからなるリンク群の中から最も外側の輪郭を成すリンクを抽出する。つまり、抽出部１０５は、上記リンク群の中から最も探索図形に近いリンクを抽出する。
【００１７】
提示部１０６は、抽出部１０５により抽出されたリンクにより構成される経路を提示する。この経路は、スタート地点から出発してスタート地点に戻ってくる周回コースとなる。
【００１８】
図２は、実施の形態にかかる経路探索装置の経路探索処理手順の一例を示すフローチャートである。図２に示すように、経路探索処理が開始されると、まず、道路網のノード及びリンクを含んだ地図データが記憶部１０１から読み出される。そして、取得部１０２は、記憶部１０１から読み出された地図データに基づく地図上にユーザにより示された閉曲線状の目標経路図形を取得する（ステップＳ２０１）。取得部１０２は、ユーザが指定した目標経路図形の進行方向のベクトル情報を取得してもよい。
【００１９】
次いで、設定部１０３は、目標経路図形を拡大した探索図形を、目標経路図形を包含する位置に設定する（ステップＳ２０２）。設定部１０３は、目標経路図形の進行方向のベクトル情報を探索図形に設定してもよい。
【００２０】
次いで、検出部１０４は、探索図形の内側に存在するノードであって、探索図形の内側の他の複数のノードにそれぞれ接続する複数のリンクを有するノードを、対象ノードとして検出する（ステップＳ２０３）。検出部１０４は、リンクの進行可能方向の情報に基づいて、侵入できないリンクを有するノードを除外して対象ノードを検出してもよい。
【００２１】
次いで、抽出部１０５は、両端が対象ノードに接続されるリンクからなるリンク群の中から最も外側の輪郭を成すリンクを抽出する（ステップＳ２０４）。
【００２２】
次いで、提示部１０６は、抽出部１０５により抽出されたリンクにより構成される経路を提示する（ステップＳ２０５）。そして、一連の経路探索処理が終了する。
【００２３】
以上の実施の形態によれば、ユーザにより地図上に目標経路図形が示されることによって、目標経路図形を拡大した探索図形が、目標経路図形を含むように設定され、その探索図形内で最も外側の輪郭を成すリンクによって経路が構成されるため、ユーザがイメージするコース形状に近い実際の経路を探索することができる。また、ユーザにより指定された目標経路図形の進行方向の情報に基づいて侵入できないリンクが除外されるため、実際の経路に従って移動する場合に侵入できない経路によって移動が妨げられるのを防ぐことができる。
【実施例１】
【００２４】
次に、本発明の実施例１について説明する。実施例１では、例えばユーザに目的地までの経路を案内するナビゲーション装置３００が上記の経路探索装置１００の機能を実行する場合の一例について説明する。
【００２５】
（ナビゲーション装置３００のハードウェア構成）
図３は、ナビゲーション装置のハードウェア構成の一例を示すブロック図である。図３において、ナビゲーション装置３００は、ＣＰＵ３０１、ＲＯＭ３０２、ＲＡＭ３０３、磁気ディスクドライブ３０４、磁気ディスク３０５、光ディスクドライブ３０６、光ディスク３０７、音声Ｉ／Ｆ（インターフェース）３０８、マイク３０９、スピーカ３１０、入力デバイス３１１、映像Ｉ／Ｆ３１２、ディスプレイ３１３、通信Ｉ／Ｆ３１４、ＧＰＳユニット３１５、各種センサ３１６及びカメラ３１７を備えている。各構成部３０１〜３１７は、バス３２０によってそれぞれ接続されている。
【００２６】
ＣＰＵ３０１は、ナビゲーション装置３００の全体の制御を司る。ＲＯＭ３０２は、ブートプログラム、経路探索プログラムを記録している。ＲＡＭ３０３は、ＣＰＵ３０１のワークエリアとして使用される。すなわち、ＣＰＵ３０１は、ＲＡＭ３０３をワークエリアとして使用しながら、ＲＯＭ３０２に記録された各種プログラムを実行することによって、ナビゲーション装置３００の全体の制御を司る。
【００２７】
磁気ディスクドライブ３０４は、ＣＰＵ３０１の制御に従って磁気ディスク３０５に対するデータの読み取り／書き込みを制御する。磁気ディスク３０５は、磁気ディスクドライブ３０４の制御で書き込まれたデータを記録する。磁気ディスク３０５としては、例えば、ＨＤ（ハードディスク）やＦＤ（フレキシブルディスク）を用いることができる。
【００２８】
また、光ディスクドライブ３０６は、ＣＰＵ３０１の制御に従って光ディスク３０７に対するデータの読み取り／書き込みを制御する。光ディスク３０７は、光ディスクドライブ３０６の制御に従ってデータが読み出される着脱自在な記録媒体である。光ディスク３０７は、書き込み可能な記録媒体を利用することもできる。着脱可能な記録媒体として、光ディスク３０７のほか、ＭＯ、メモリカードなどを用いることができる。
【００２９】
磁気ディスク３０５及び光ディスク３０７に記録される情報の一例としては、地図データ、車両情報、道路情報、走行履歴などが挙げられる。地図データは、カーナビゲーションシステムにおいて経路探索するときに用いられ、建物、河川、地表面、エネルギー補給施設などの地物（フィーチャ）を表す背景データ、道路の形状をリンクやノードなどで表す道路形状データなどを含むベクタデータである。磁気ディスク３０５または光ディスク３０７は、記憶部１０１の機能を実現する。
【００３０】
音声Ｉ／Ｆ３０８は、音声入力用のマイク３０９及び音声出力用のスピーカ３１０に接続される。マイク３０９に入力した音声は、音声Ｉ／Ｆ３０８内でＡ／Ｄ変換される。マイク３０９は、例えば、車両のダッシュボード部などに設置され、その数は単数でも複数でもよい。スピーカ３１０からは、所定の音声信号を音声Ｉ／Ｆ３０８内でＤ／Ａ変換した音声が出力される。
【００３１】
入力デバイス３１１は、文字、数値、各種指示などの入力のための複数のキーを備えたリモコン、キーボード、タッチパネルなどが挙げられる。入力デバイス３１１は、リモコン、キーボード、タッチパネルのうちいずれか一つの形態によって実現されてもよいが、複数の形態によって実現することも可能である。タッチパネルは、取得部１０２の機能を実現する。
【００３２】
映像Ｉ／Ｆ３１２は、ディスプレイ３１３に接続される。映像Ｉ／Ｆ３１２は、具体的には、例えば、ディスプレイ３１３全体を制御するグラフィックコントローラと、即時表示可能な画像情報を一時的に記録するＶＲＡＭ（Ｖｉｄｅｏ  ＲＡＭ）などのバッファメモリと、グラフィックコントローラから出力される画像データに基づいてディスプレイ３１３を制御する制御ＩＣなどによって構成される。
【００３３】
ディスプレイ３１３には、アイコン、カーソル、メニュー、ウインドウ、あるいは文字や画像などの各種データが表示される。ディスプレイ３１３としては、例えば、ＴＦＴ液晶ディスプレイ、有機ＥＬディスプレイなどを用いることができる。ディスプレイ３１３は、提示部１０６の機能を実現する。
【００３４】
カメラ３１７は、車両外部の道路を含む映像を撮影する。映像は静止画あるいは動画のどちらでもよく、例えば、カメラ３１７によって車両外部を撮影し、撮影した画像をＣＰＵ３０１において画像解析したり、映像Ｉ／Ｆ３１２を介して磁気ディスク３０５や光ディスク３０７などの記録媒体に出力したりする。
【００３５】
通信Ｉ／Ｆ３１４は、無線を介してネットワークに接続され、ナビゲーション装置３００及びＣＰＵ３０１のインターフェースとして機能する。ネットワークとして機能する通信網には、ＣＡＮやＬＩＮ（Ｌｏｃａｌ  Ｉｎｔｅｒｃｏｎｎｅｃｔ  Ｎｅｔｗｏｒｋ）などの車内通信網や、公衆回線網や携帯電話網、ＤＳＲＣ（Ｄｅｄｉｃａｔｅｄ  Ｓｈｏｒｔ  Ｒａｎｇｅ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ）、ＬＡＮ、ＷＡＮなどがある。通信Ｉ／Ｆ３１４は、例えば、公衆回線用接続モジュールやＥＴＣ（ノンストップ自動料金支払いシステム）ユニット、ＦＭチューナー、ＶＩＣＳ（Ｖｅｈｉｃｌｅ  Ｉｎｆｏｒｍａｔｉｏｎ  ａｎｄ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｓｙｓｔｅｍ：登録商標）／ビーコンレシーバなどである。
【００３６】
ＧＰＳユニット３１５は、ＧＰＳ衛星からの電波を受信し、車両の現在位置を示す情報を出力する。このＧＰＳユニット３１５の出力情報は、後述する各種センサ３１６の出力値とともに、ＣＰＵ３０１による車両の現在位置の算出に際して利用される。現在位置を示す情報は、例えば、緯度・経度、高度などの、地図データ上の１点を特定する情報である。
【００３７】
各種センサ３１６は、車速センサ、加速度センサ、角速度センサ、傾斜センサなどの、車両の位置や挙動を判断するための情報を出力する。各種センサ３１６の出力値は、ＣＰＵ３０１による車両の現在位置の算出や、速度や方位の変化量の算出に用いられる。
【００３８】
（経路探索処理内容）
実施例の経路探索処理及びパス選択処理の内容について、図６〜図２０に示す具体例を参照しながら説明する。図４は、実施例の経路探索処理内容を示すフローチャートである。図５は、実施例のパス選択処理内容を示すフローチャートである。
【００３９】
図６〜図２０は、経路探索処理及びパス選択処理の処理段階における様子を模式的に示す説明図である。目標経路図形及び探索図形は、円形や楕円形、三角形や矩形などの多角形、あるいは卵形状やひょうたん形状など、単純閉曲線であればよい。図６〜図２０において、特に限定しないが、本実施例では目標経路図形及び探索図形を円形として説明する。また、図６〜図２０において、太い実線の円は目標経路図形６０１であり、細い破線の円は探索図形６０２であり、星印はスタート地点６０３であり、白丸はノード６０４であり、ノード６０４間を結ぶ線はリンク６０５である。また、図６〜図２０において、「Ａ」〜「Ｋ」はノードの識別子を表し、「（ａ）」〜「（ｎ）」はリンクの識別子を表す。
【００４０】
図４に示すように、ナビゲーション装置等の経路探索装置１００において、経路探索処理が開始されると、まず、経路探索装置１００は、例えば記憶部１０１から地図データを読み出して、例えばタッチパネルと一体となったディスプレイに地図を表示する。そして、経路探索装置１００は、ユーザにより目標経路図形が入力されたか否かを判定する（ステップＳ４０１）。例えば、目標経路図形は、ユーザにより指やスタイラスペンなどでタッチパネルがなぞられることにより、入力されてもよい。
【００４１】
目標経路図形が入力されない場合（ステップＳ４０１：Ｎｏ）には、経路探索装置１００は、目標経路図形が入力されるまで待機する。目標経路図形が入力されると（ステップＳ４０１：Ｙｅｓ）、取得部１０２は、目標経路図形を取得する。
【００４２】
なお、目標経路図形の入力にあたって、ユーザが指やスタイラスペンなどでタッチパネルをなぞる代わりに、ユーザが周回コースの目標距離と周回コースを探索する方向をリモコンやキーボードなど入力デバイスから入力してもよい。例えば、ユーザが目標距離として「５ｋｍ」、探索方向として「西」を入力すると、経路探索装置１００は、外周が５ｋｍとなる目標経路図形、例えば円形を、その円内にスタート地点を含み、かつ円の中心をスタート地点よりも西にオフセットして設定してもよい。
【００４３】
目標経路図形の入力に続いて、設定部１０３は、目標経路図形を例えば所定の倍率で相似拡大した探索図形を、目標経路図形を包含する位置、例えば探索図形の重心と目標経路図形の重心とが一致するような位置に設定する。あるいは、目標経路図形を相似拡大することなく、そのまま探索図形として設定してもよい。
【００４４】
次いで、検出部１０４は、探索図形内に存在するノードを対象ノードの候補としてリストアップする（ステップＳ４０２）。
【００４５】
図６に示す例では、円形の目標経路図形６０１と、目標経路図形６０１よりも大きい円形の探索図形６０２とが、互いの重心、すなわち中心が一致するような位置に設定される。そして、Ａ〜Ｋのノードがリストアップされる。
【００４６】
そして、検出部１０４は、リストアップされたノードのうち、探索図形内のノードに対して１本しかリンクを持たないノードを対象外のノードとして、対象ノードの候補のリストから除外する（ステップＳ４０３）。
【００４７】
図６に示す例では、Ｋのノード６０６がリストから除外される。図７には、対象外のノード（Ｋのノード６０６）がリストから除外され、対象ノード（Ａ〜Ｊのノード）がリストアップされた状態が示されている。
【００４８】
次いで、抽出部１０５は、探索図形を仮ルートと想定し、探索図形を縮め、それと連動して仮ルートを縮めていく（ステップＳ４０４）。今回は、探索図形が仮ルートであるため、探索図形を縮めることによって仮ルートも縮められる。
【００４９】
次いで、抽出部１０５は、探索図形上の仮ルートと交差するノードが有るか否かを判定する（ステップＳ４０５）。該当するノードがない場合（ステップＳ４０５：Ｎｏ）、該当するノードが見つかるまで、探索図形及び仮ルートをさらに縮めていく（ステップＳ４０４）。該当するノードがある場合（ステップＳ４０５：Ｙｅｓ）、パス選択処理を行う（ステップＳ４０６）。
【００５０】
図５に示すように、パス選択処理が開始されると、抽出部１０５は、探索図形と交差したノードとそのノードに繋がる２本のリンクをそれぞれ待機ノード及び待機パスとしてリストアップする（ステップＳ５０１）。そして、抽出部１０５は、最も仮ルートに近いノードに繋がる待機パスをルート候補として選択する（ステップＳ５０２）。なお、３本以上の待機パスが発見された場合には、仮ルートに近い待機パスがルート候補として選択される。
【００５１】
図８に示す例では、探索図形６０２を縮めると、まずＡのノード８０１が発見される。それに伴って、Ａのノード８０１にそれぞれ繋がるＢのノード８０２及びＩのノード８０３が待機ノードとなり、Ａのノード８０１とＢのノード８０２とを繋ぐ（ａ）のリンク８０４、及びＡのノード８０１とＩのノード８０３とを繋ぐ（ｉ）のリンク８０５がそれぞれ待機パスとなる。そして、（ａ）のリンク８０４及び（ｉ）のリンク８０５がルート候補となる。この時点では、仮ルートはまだ探索図形６０２と一致している。
【００５２】
次いで、抽出部１０５は、ルート候補として選択したパスが既存のＰａｔｈ＿ｃｌａｓｓと接するか否かを判定する（ステップＳ５０３）。Ｐａｔｈ＿ｃｌａｓｓは、ルート候補の集合である。例えば、図８に示す例では、（ａ）のリンク８０４及び（ｉ）のリンク８０５は、ルート候補の一つの集合であるため、一つのＰａｔｈ＿ｃｌａｓｓの構成要素となる。
【００５３】
この時点では、ステップＳ５０２で初めてルート候補が選択されたため、既存のＰａｔｈ＿ｃｌａｓｓは存在しない。従って、初めてルート候補として選択された待機パスは、既存のＰａｔｈ＿ｃｌａｓｓには接しない（ステップＳ５０３：Ｎｏ）。そこで、抽出部１０５は、初めてルート候補として選択したパスを構成するリンクを新たにＰａｔｈ＿ｃｌａｓｓとして保持する。そして、抽出部１０５は、新たにＰａｔｈ＿ｃｌａｓｓとして保持したパスの両端のノードをこのＰａｔｈ＿ｃｌａｓｓの端点に設定する（ステップＳ５０４）。
【００５４】
図９に示す例では、初めてルート候補として選択された（ａ）のリンク８０４及び（ｉ）のリンク８０５は、既存のＰａｔｈ＿ｃｌａｓｓには接しないため、（ａ）のリンク８０４と（ｉ）のリンク８０５とからなるパスがＰａｔｈ＿ｃｌａｓｓＡとして保持される。また、（ａ）のリンク８０４と（ｉ）のリンク８０５とからなるパスの両端のノード、すなわちＢのノード８０２とＩのノード８０３とがＰａｔｈ＿ｃｌａｓｓＡの端点に設定される。なお、図９において、太実線で示すリンク（（ａ）のリンク８０４及び（ｉ）のリンク８０５）は、ルート候補として確定済みのリンクである。
【００５５】
次いで、抽出部１０５は、仮ルート上の、Ｐａｔｈ＿ｃｌａｓｓの両端点の近傍となる２点を連結点として選択する（ステップＳ５０５）。仮ルート上の連結点の選び方については、特に限定しない。一例として、Ｐａｔｈ＿ｃｌａｓｓの両端点とそれぞれ緯度が一致する点を選んでもよいし、経度が一致する点を選んでもよいし、Ｐａｔｈ＿ｃｌａｓｓの端点と連結点との距離が最短になる点を選んでもよい。本実施例では、緯度が一致する点を選ぶものとする。
【００５６】
図９に示す例では、Ｂのノード８０２に対応する連結点として、探索図形６０２上の、Ｂのノード８０２と緯度が一致するＳ１の連結点９０１が選択される。また、Ｉのノード８０３に対応する連結点として、探索図形６０２上の、Ｉのノード８０３と緯度が一致するＳ２の連結点９０２が選択される。「Ｓ１」及び「Ｓ２」は連結点の識別子を表す。
【００５７】
そして、抽出部１０５は、Ｐａｔｈ＿ｃｌａｓｓの両端点と、各端点に対応する連結点とをそれぞれ接続する（ステップＳ５０６）。
【００５８】
図９に示す例では、Ｂのノード８０２とこれに対応するＳ１の連結点９０１とが接続され、Ｉのノード８０３とこれに対応するＳ２の連結点９０２とが接続される。
【００５９】
次いで、抽出部１０５は、ステップＳ５０５で選択した２つの連結点間の仮ルートのうち、ステップＳ５０２で選択したルート候補に並走する部分を、選択したＰａｔｈ＿ｃｌａｓｓで置き換える（ステップＳ５０７）。
【００６０】
図９に示す例では、仮ルート（探索図形６０２）上のＳ１−Ａ−Ｓ２の経路が、Ｐａｔｈ＿ｃｌａｓｓＡのルート候補Ｂ−Ａ−Ｉを含むＳ１−Ｂ−Ａ−Ｉ−Ｓ２の経路に置き換えられる。
【００６１】
そして、図４に示すフローチャートに戻り、抽出部１０５は、仮ルートの全ての部分がルート候補に置き換わったか否かを判定する（ステップＳ４０７）。仮ルートの全ての部分がルート候補に置き換わった場合（ステップＳ４０７：Ｙｅｓ）、ステップＳ４０８のルート候補にスタート地点が含まれているか否かの判定処理へ進む。一方、仮ルートにおいて、ルート候補に置き換わっていない部分が残っている場合（ステップＳ４０７：Ｎｏ）、仮ルートの全ての部分がルート候補に置き換わるまで上述したステップＳ４０４〜ステップＳ４０７の処理を繰り返す。
【００６２】
図９に示す例では、仮ルート上の、Ｓ１−Ｂ−Ａ−Ｉ−Ｓ２を除く部分は、未だルート候補に置き換わっていない。そのため、さらに探索図形６０２が縮められ、それと連動して仮ルート、及びルート候補で置き換えられていない探索図形６０２上のＳ１−Ｓ２の部分も縮められる（ステップＳ４０４）。それによって、探索図形６０２上の仮ルートと交差するノードが新たに発見される（ステップＳ４０５：Ｙｅｓ）。そして、パス選択処理が行われる（ステップＳ４０６）。
【００６３】
パス選択処理が開始されると、まず、上述したステップＳ５０１〜ステップＳ５０２の処理が行われる。
【００６４】
図１０に示す例では、Ｉのノード８０３が新たに発見される。それに伴って、Ｉのノード８０３にそれぞれ繋がるＡのノード８０１及びＨのノード１００１が待機ノードとしてリストアップされ、Ｉのノード８０３とＨのノード１００１とを繋ぐ（ｈ）のリンク１００２が待機パスとしてリストアップされる（ステップＳ５０１）。Ｉのノード８０３とＡのノード８０１とを繋ぐ（ｉ）のリンク８０５は、既にルート候補として確定済みである。
【００６５】
（ｈ）のリンク１００２は、最も仮ルートに近いノードに繋がる待機パスであるため、ルート候補として選択される（ステップＳ５０２）。ルート候補として選択されたパス、すなわち（ｈ）のリンク１００２は、既存のＰａｔｈ＿ｃｌａｓｓ、ここではＰａｔｈ＿ｃｌａｓｓＡに接する。
【００６６】
ルート候補として選択されたパスが既存のＰａｔｈ＿ｃｌａｓｓに接する場合（ステップＳ５０３：Ｙｅｓ）、抽出部１０５は、その選択したパスと、そのパスが接する既存のＰａｔｈ＿ｃｌａｓｓとを連結する。また、抽出部１０５は、この更新されたＰａｔｈ＿ｃｌａｓｓの端点を、ルート候補として選択したパスの端点に更新する（ステップＳ５０８）。
【００６７】
図１０に示す例では、（ａ）のリンク８０４と（ｉ）のリンク８０５とからなる既存のＰａｔｈ＿ｃｌａｓｓＡに（ｈ）のリンク１００２が連結されて新たなＰａｔｈ＿ｃｌａｓｓＡとなる。また、既存のＰａｔｈ＿ｃｌａｓｓＡの端点であるＩのノード８０３の代わりに、Ｈのノード１００１が新たなＰａｔｈ＿ｃｌａｓｓＡの端点となる。
【００６８】
次いで、抽出部１０５は、ステップＳ５０８で更新した新たな端点が別のＰａｔｈ＿ｃｌａｓｓに接するか否かを判定する（ステップＳ５０９）。別のＰａｔｈ＿ｃｌａｓｓに接する場合（ステップＳ５０９：Ｙｅｓ）、ステップＳ５１２のＰａｔｈ＿ｃｌａｓｓ同士の統合処理へ進む。一方、別のＰａｔｈ＿ｃｌａｓｓに接しない場合（ステップＳ５０９：Ｎｏ）、抽出部１０５は、仮ルート上の、ルート候補との連結点を、ステップＳ５０８で更新した新たなＰａｔｈ＿ｃｌａｓｓの端点の近傍までシフトする（ステップＳ５１０）。
【００６９】
図１１に示す例では、Ｐａｔｈ＿ｃｌａｓｓＡしか存在しないため、新たなＰａｔｈ＿ｃｌａｓｓＡの新たな端点であるＨのノード１００１は、別のＰａｔｈ＿ｃｌａｓｓに接しない。従って、Ｓ２の連結点９０２は、探索図形６０２の仮ルート上の、Ｈのノード１００１と緯度が一致する点までシフトされる。
【００７０】
次いで、抽出部１０５は、ステップＳ５０８で更新した新たな端点と、ステップＳ５１０でこの新たな端点の近傍にシフトされた連結点とを接続する。そして、抽出部１０５は、仮ルートのうち、ステップＳ５１０でシフトされた連結点のシフト分に対応する部分を、今回のステップＳ５０２で選択されたルート候補で置き換える（ステップＳ５１１）。
【００７１】
図１１に示す例では、Ｈのノード１００１とこれに対応するＳ２の連結点９０２とが接続される。そして、仮ルート上のＩ−Ｓ２の経路が、Ｐａｔｈ＿ｃｌａｓｓＡのルート候補Ｉ−Ｈを含むＩ−Ｈ−Ｓ２の経路に置き換えられる。以上により、仮ルート上のＳ１−Ｉ−Ｓ２の経路が、Ｓ１−Ｂ−Ａ−Ｉ−Ｈ−Ｓ２の経路に置き換えられたことになる。
【００７２】
そして、図４に示すフローチャートに戻り、抽出部１０５は、仮ルートの全ての部分がルート候補に置き換わったか否かを判定する（ステップＳ４０７）。
【００７３】
図１１に示す例では、仮ルート上の、Ｓ１−Ｂ−Ａ−Ｉ−Ｈ−Ｓ２を除く部分は、未だルート候補に置き換わっていない。そのため、さらに探索図形６０２が縮められ、それと連動して仮ルート、及びルート候補で置き換えられていない探索図形６０２上のＳ１−Ｓ２の部分も縮められる（ステップＳ４０４）。それによって、探索図形６０２上の仮ルートと交差するノードが新たに発見され（ステップＳ４０５：Ｙｅｓ）、パス選択処理が行われる（ステップＳ４０６）。
【００７４】
パス選択処理が開始されると、まず、上述したステップＳ５０１〜ステップＳ５０２の処理が行われる。
【００７５】
図１２に示す例では、Ｄのノード１２０１が新たに発見される。それに伴って、Ｄのノード１２０１にそれぞれ繋がるＣのノード１２０２及びＥのノード１２０３が待機ノードとしてリストアップされる。また、Ｄのノード１２０１とＣのノード１２０２とを繋ぐ（ｃ）のリンク１２０４、及びＤのノード１２０１とＥのノード１２０３とを繋ぐ（ｄ）のリンク１２０５が待機パスとしてリストアップされる（ステップＳ５０１）。
【００７６】
（ｃ）のリンク１２０４及び（ｄ）のリンク１２０５は、最も仮ルートに近いノードに繋がる待機パスであるため、ルート候補として選択される（ステップＳ５０２）。ルート候補として選択されたパス、すなわち（ｃ）のリンク１２０４及び（ｄ）のリンク１２０５は、ともに既存のＰａｔｈ＿ｃｌａｓｓ、ここではＰａｔｈ＿ｃｌａｓｓＡに接しない。
【００７７】
ルート候補として選択されたパスが既存のＰａｔｈ＿ｃｌａｓｓに接しないため（ステップＳ５０３：Ｎｏ）、抽出部１０５は、今回のステップＳ５０２でルート候補として選択したパスを構成するリンクを新たなＰａｔｈ＿ｃｌａｓｓとして保持する。そして、抽出部１０５は、新たなＰａｔｈ＿ｃｌａｓｓとして保持したパスの両端のノードをこのＰａｔｈ＿ｃｌａｓｓの端点に設定する（ステップＳ５０４）。
【００７８】
次いで、抽出部１０５は、仮ルート上の、新たなＰａｔｈ＿ｃｌａｓｓの両端点の近傍となる２点を連結点として選択し（ステップＳ５０５）、新たなＰａｔｈ＿ｃｌａｓｓの両端点と、各端点に対応する連結点とをそれぞれ接続する（ステップＳ５０６）。次いで、抽出部１０５は、今回のステップＳ５０５で選択した２つの連結点間の仮ルートのうち、今回のステップＳ５０２で選択したルート候補に並走する部分を、新たなＰａｔｈ＿ｃｌａｓｓで置き換える（ステップＳ５０７）。
【００７９】
図１３に示す例では、今回、ルート候補として選択された（ｃ）のリンク１２０４及び（ｄ）のリンク１２０５は、既存のＰａｔｈ＿ｃｌａｓｓＡには接しないため、（ｃ）のリンク１２０４と（ｄ）のリンク１２０５とからなるパスがＰａｔｈ＿ｃｌａｓｓＢとして保持される。また、（ｃ）のリンク１２０４と（ｄ）のリンク１２０５とからなるパスの両端のノード、すなわちＣのノード１２０２とＥのノード１２０３とがＰａｔｈ＿ｃｌａｓｓＢの端点に設定される。
【００８０】
そして、Ｃのノード１２０２に対応する連結点として、探索図形６０２上の、Ｃのノード１２０２と緯度が一致するＳ３の連結点１３０１が選択される。また、Ｅのノード１２０３に対応する連結点として、探索図形６０２上の、Ｅのノード１２０３と緯度が一致するＳ４の連結点１３０２が選択される。「Ｓ３」及び「Ｓ４」は連結点の識別子を表す。
【００８１】
そして、Ｃのノード１２０２とこれに対応するＳ３の連結点１３０１とが接続され、Ｅのノード１２０３とこれに対応するＳ４の連結点１３０２とが接続される。そして、仮ルート（探索図形６０２）上のＳ３−Ｄ−Ｓ４の経路が、Ｐａｔｈ＿ｃｌａｓｓＢのルート候補Ｃ−Ｄ−Ｅを含むＳ３−Ｃ−Ｄ−Ｅ−Ｓ４の経路に置き換えられる。ここまでで、仮ルート上のＳ１−Ｓ２及びＳ３−Ｄ−Ｓ４の経路が、それぞれＳ１−Ｂ−Ａ−Ｉ−Ｈ−Ｓ２及びＳ３−Ｃ−Ｄ−Ｅ−Ｓ４の経路に置き換えられたことになる。
【００８２】
次いで、図４に示すフローチャートに戻り、抽出部１０５は、仮ルートの全ての部分がルート候補に置き換わったか否かを判定する（ステップＳ４０７）。
【００８３】
図１３に示す例では、仮ルート上の、Ｓ１−Ｂ−Ａ−Ｉ−Ｈ−Ｓ２とＳ３−Ｃ−Ｄ−Ｅ−Ｓ４とを除く部分は、未だルート候補に置き換わっていない。そのため、さらに探索図形６０２が縮められ、それと連動して仮ルート、及びルート候補で置き換えられていない探索図形６０２上のＳ１−Ｓ３及びＳ２−Ｓ４の部分も縮められる（ステップＳ４０４）。それによって、探索図形６０２上の仮ルートと交差するノードが新たに発見され（ステップＳ４０５：Ｙｅｓ）、パス選択処理が行われる（ステップＳ４０６）。
【００８４】
パス選択処理が開始されると、まず、上述したステップＳ５０１〜ステップＳ５０３の処理が行われる。
【００８５】
図１４に示す例では、Ｅのノード１２０３が新たに発見される。それに伴って、Ｅのノード１２０３に繋がるＦのノード１４０１が待機ノードとしてリストアップされ、Ｅのノード１２０３とＦのノード１４０１とを繋ぐ（ｅ）のリンク１４０２が待機パスとしてリストアップされる（ステップＳ５０１）。
【００８６】
（ｅ）のリンク１４０２は、最も仮ルートに近いノードに繋がる待機パスであるため、ルート候補として選択される（ステップＳ５０２）。（ｅ）のリンク１４０２は、既存のＰａｔｈ＿ｃｌａｓｓ、ここではＰａｔｈ＿ｃｌａｓｓＢに接する（ステップＳ５０３：Ｙｅｓ）。そのため、上述したステップＳ５０８以降の処理が行われる。
【００８７】
従って、既存のＰａｔｈ＿ｃｌａｓｓＢに（ｅ）のリンク１４０２が連結されて新たなＰａｔｈ＿ｃｌａｓｓＢとなる。また、既存のＰａｔｈ＿ｃｌａｓｓＢの端点であるＥのノード１２０３の代わりに、Ｆのノード１４０１が新たなＰａｔｈ＿ｃｌａｓｓＢの端点となる（ステップＳ５０８）。
【００８８】
図１５に示す例では、Ｐａｔｈ＿ｃｌａｓｓＡ及びＰａｔｈ＿ｃｌａｓｓＢが存在する。新たなＰａｔｈ＿ｃｌａｓｓＢの新たな端点であるＦのノード１４０１は、別のＰａｔｈ＿ｃｌａｓｓ、すなわちＰａｔｈ＿ｃｌａｓｓＡに接しない（ステップＳ５０９：Ｎｏ）。従って、Ｓ４の連結点１３０２は、探索図形６０２の仮ルート上の、Ｆのノード１４０１と緯度が一致する点までシフトされる（ステップＳ５１０）。
【００８９】
そして、Ｆのノード１４０１とこれに対応するＳ４の連結点１３０２とが接続され、仮ルート上のＥ−Ｓ４の経路が、Ｐａｔｈ＿ｃｌａｓｓＢのルート候補Ｅ−Ｆを含むＥ−Ｆ−Ｓ４の経路に置き換えられる（ステップＳ５１１）。ここまでで、仮ルート上のＳ１−Ｓ２及びＳ３−Ｅ−Ｓ４の経路が、それぞれＳ１−Ｂ−Ａ−Ｉ−Ｈ−Ｓ２及びＳ３−Ｃ−Ｄ−Ｅ−Ｆ−Ｓ４の経路に置き換えられたことになる。
【００９０】
次いで、図４に示すフローチャートに戻り、抽出部１０５は、仮ルートの全ての部分がルート候補に置き換わったか否かを判定する（ステップＳ４０７）。
【００９１】
図１５に示す例では、仮ルート上の、Ｓ１−Ｂ−Ａ−Ｉ−Ｈ−Ｓ２とＳ３−Ｃ−Ｄ−Ｅ−Ｆ−Ｓ４とを除く部分は、未だルート候補に置き換わっていない。そのため、さらに探索図形６０２が縮められ、それと連動して仮ルート、及びルート候補で置き換えられていない探索図形６０２上のＳ１−Ｓ３及びＳ２−Ｓ４の部分も縮められる（ステップＳ４０４）。それによって、探索図形６０２上の仮ルートと交差するノードが新たに発見され（ステップＳ４０５：Ｙｅｓ）、パス選択処理が行われる（ステップＳ４０６）。
【００９２】
パス選択処理が開始されると、まず、上述したステップＳ５０１〜ステップＳ５０３の処理が行われる。
【００９３】
図１６に示す例では、Ｇのノード１６０１が新たに発見される。それに伴って、Ｇのノード１６０１にそれぞれ繋がるＦのノード１４０１、Ｃのノード１２０２及びＨのノード１００１が待機ノードとしてリストアップされる。また、Ｇのノード１６０１とＦのノード１４０１とを繋ぐ（ｆ）のリンク１６０２、Ｇのノード１６０１とＣのノード１２０２とを繋ぐ（ｌ）のリンク１６０３、及びＧのノード１６０１とＨのノード１００１とを繋ぐ（ｇ）のリンク１６０４が待機パスとしてリストアップされる（ステップＳ５０１）。
【００９４】
（ｆ）のリンク１６０２及び（ｇ）のリンク１６０４は、ルート候補に置き換えられた部分を含む仮ルートに最も近いノードに繋がる待機パスであるため、ルート候補として選択される（ステップＳ５０２）。Ｃのノード１２０２は待機ノードを解除され、（ｌ）のリンク１６０３は待機パスを解除される。（ｇ）のリンク１６０４は既存のＰａｔｈ＿ｃｌａｓｓＡに接し、（ｆ）のリンク１６０２は既存のＰａｔｈ＿ｃｌａｓｓＢに接する（ステップＳ５０３：Ｙｅｓ）。そのため、上述したステップＳ５０８以降の処理が行われる。
【００９５】
従って、既存のＰａｔｈ＿ｃｌａｓｓＡに（ｇ）のリンク１６０４が連結されて新たなＰａｔｈ＿ｃｌａｓｓＡとなり、既存のＰａｔｈ＿ｃｌａｓｓＢに（ｆ）のリンク１６０２が連結されて新たなＰａｔｈ＿ｃｌａｓｓＢとなる。また、既存のＰａｔｈ＿ｃｌａｓｓＡの端点であるＨのノード１００１の代わりに、Ｇのノード１６０１が新たなＰａｔｈ＿ｃｌａｓｓＡの端点となり、既存のＰａｔｈ＿ｃｌａｓｓＢの端点であるＦのノード１４０１の代わりに、Ｇのノード１６０１が新たなＰａｔｈ＿ｃｌａｓｓＢの端点となる（ステップＳ５０８）。
【００９６】
Ｐａｔｈ＿ｃｌａｓｓの新たな端点が別のＰａｔｈ＿ｃｌａｓｓに接する場合（ステップＳ５０９：Ｙｅｓ）、抽出部１０５は、互いに接するＰａｔｈ＿ｃｌａｓｓ同士を統合し、統合されて一つとなったＰａｔｈ＿ｃｌａｓｓの両端点をそれぞれ新しいＰａｔｈ＿ｃｌａｓｓの端点とする（ステップＳ５１２）。また、抽出部１０５は、Ｐａｔｈ＿ｃｌａｓｓ同士の統合によって端点ではなくなったノード、すなわち互いに接するＰａｔｈ＿ｃｌａｓｓ同士の接続点となったノードに対応する連結点を消滅させる。
【００９７】
図１７に示す例では、新たなＰａｔｈ＿ｃｌａｓｓＡ（Ｂ−Ａ−Ｉ−Ｈ−Ｇ）と新たなＰａｔｈ＿ｃｌａｓｓＢ（Ｃ−Ｄ−Ｅ−Ｆ−Ｇ）とがＧのノード１６０１において接する。そこで、（ｆ）のリンク１６０２がＰａｔｈ＿ｃｌａｓｓＡに接続され、（ｇ）のリンク１６０４がＰａｔｈ＿ｃｌａｓｓＢに接続されることによって、Ｐａｔｈ＿ｃｌａｓｓＡとＰａｔｈ＿ｃｌａｓｓＢとが統合される。
【００９８】
統合後のＰａｔｈ＿ｃｌａｓｓを新たなＰａｔｈ＿ｃｌａｓｓＡとし、Ｐａｔｈ＿ｃｌａｓｓＢが消滅してもよい。新たなＰａｔｈ＿ｃｌａｓｓＡの両端点は、Ｂのノード８０２及びＣのノード１２０２となる。また、図１６に示すＳ２の連結点９０２及びＳ４の連結点１３０２は消滅する。ここまでで、仮ルート上のＳ１−Ｇ−Ｓ３の経路が、Ｓ１−Ｂ−Ａ−Ｉ−Ｈ−Ｇ−Ｆ−Ｅ−Ｄ−Ｃ−Ｓ３の経路に置き換えられたことになる。
【００９９】
次いで、図４に示すフローチャートに戻り、抽出部１０５は、仮ルートの全ての部分がルート候補に置き換わったか否かを判定する（ステップＳ４０７）。
【０１００】
図１７に示す例では、仮ルート上の、Ｓ１−Ｂ−Ａ−Ｉ−Ｈ−Ｇ−Ｆ−Ｅ−Ｄ−Ｃ−Ｓ３を除く部分は、未だルート候補に置き換わっていない。そのため、さらに探索図形６０２が縮められ、それと連動して仮ルート、及びルート候補で置き換えられていない探索図形６０２上のＳ１−Ｓ３の部分も縮められる（ステップＳ４０４）。それによって、探索図形６０２上の仮ルートと交差するノードが新たに発見され（ステップＳ４０５：Ｙｅｓ）、パス選択処理が行われる（ステップＳ４０６）。
【０１０１】
パス選択処理が開始されると、まず、上述したステップＳ５０１〜ステップＳ５０３の処理が行われる。
【０１０２】
図１８に示す例では、Ｂのノード８０２が新たに発見される。それに伴って、Ｂのノード８０２にそれぞれ繋がるＡのノード８０１、Ｊのノード１８０１及びＣのノード１２０２が待機ノードとしてリストアップされる。また、Ｂのノード８０２とＡのノード８０１とを繋ぐ（ａ）のリンク８０４、Ｂのノード８０２とＪのノード１８０１とを繋ぐ（ｋ）のリンク１８０２、及びＢのノード８０２とＣのノード１２０２とを繋ぐ（ｂ）のリンク１８０３が待機パスとしてリストアップされる（ステップＳ５０１）。（ａ）のリンク８０４は、既にルート候補として確定済みである。
【０１０３】
（ｂ）のリンク１８０３は、ルート候補に置き換えられた部分を含む仮ルートに最も近いノードに繋がる待機パスであるため、ルート候補として選択される（ステップＳ５０２）。（ｂ）のリンク１８０３はＰａｔｈ＿ｃｌａｓｓＡに接する（ステップＳ５０３：Ｙｅｓ）。そのため、上述したステップＳ５０８以降の処理が行われる。
【０１０４】
従って、Ｐａｔｈ＿ｃｌａｓｓＡに（ｂ）のリンク１８０３が連結される。また、Ｐａｔｈ＿ｃｌａｓｓＡの端点がＢのノード８０２からＣのノード１２０２に置き換えられる（ステップＳ５０８）。
【０１０５】
図１８に示す例では、Ｃのノード１２０２は、Ｐａｔｈ＿ｃｌａｓｓＡのもう一方の端点である。従って、図１８に示す仮ルート上のＳ１−Ｓ３の経路が、図１９に示すように、（ｂ）のリンク１８０３で置き換えられてルート候補が完成する。ルート候補が完成したため、図１８に示すＳ１の連結点９０１及びＳ３の連結点１３０１は消滅する。そして、パス選択処理を抜けて、図４に示すフローチャートに戻る。
【０１０６】
図４に示すフローチャートに戻ると、抽出部１０５は、仮ルートの全ての部分がルート候補に置き換わったか否かを判定する（ステップＳ４０７）。全てルート候補に置き換わっている場合（ステップＳ４０７：Ｙｅｓ）、抽出部１０５は、ルート候補にスタート地点が含まれるか否かを判定する（ステップＳ４０８）。
【０１０７】
スタート地点が含まれない場合（ステップＳ４０８：Ｎｏ）、見つかったルート候補を除外し（ステップＳ４０９）、ステップＳ４０４へ戻る。そして、完成したルート候補にスタート地点が含まれるようになるまで、ステップＳ４０４〜ステップＳ４０９の処理を繰り返す。一方、スタート地点が含まれる場合（ステップＳ４０８：Ｙｅｓ）、例えば提示部１０６に完成した周回コースを提示して、一連の経路探索処理を終了する。
【０１０８】
図２０には、Ｇ−Ｈ−Ｉ−Ａ−Ｂ−Ｃ−Ｄ−Ｅ−Ｆ−Ｇ（逆回りでもよい）という周回コースのルート候補２００１が完成した様子が示されている。図２０に示す例では、スタート地点６０３であるＧのノードが含まれている。
【０１０９】
なお、提示部１０６に完成した周回コースを提示する際に、完成した周回コースのパス長を集計してユーザに提示してもよい。また、目標とした距離と探索された周回コースの距離との差分があれば、その差分をユーザに提示するようにしてもよい。例えば、完成した周回コース上で、スタート地点から目標とした距離だけ周回コース上を進んだ位置までの経路の表示色を変えることによって、差分を提示するようにしてもよい。
【０１１０】
実施例１によれば、ユーザにより入力された目標経路図形６０１を相似拡大した探索図形６０２を、相似の関係を維持しながら縮めていきながら、探索図形６０２内で最も外側の輪郭を成すリンクをルート候補としていくことによって、ユーザがイメージするコース形状に近い実際の経路を探索することができる。
【実施例２】
【０１１１】
次に、本発明の実施例２について説明する。実施例２は、ユーザにより指定された目標経路図形の進行方向の情報に基づいて、侵入できないリンクを除外する構成である。実施例２についても実施例１（図１）と同様の構成を用いることができる。
【０１１２】
図２１は、侵入できないリンクを除外する例を示す説明図である。図２１には、ディスプレイに表示された地図が示されている。図２１において、実線の小さい白丸及び黒丸はノード２１０１であり、実線の曲線または折れ線はルート候補のパス２１０２であり、点線の曲線または折れ線はルート候補以外のパス２１０３であり、破線の大きい円は探索図形６０２である。
【０１１３】
各ノード２１０１は、自ノードに接続するリンクの進行可能方向の情報を有している。この進行可能方向の情報は、記憶部１０１に各ノード２１０１と関連付けられて記憶されていてもよい。リンクの進行可能方向の情報は、例えばリンクの一方通行の情報である。ユーザは、目標経路図形を入力する際に、例えば目標経路図形に沿ってタッチパネルを時計回りまたは反時計回りになぞることによって、目標経路図形における進行方向を指定する。
【０１１４】
目標経路図形の進行方向が指定されると、取得部１０２は、指定された目標経路図形の進行方向のベクトル情報を取得する。そして、設定部１０３は、探索図形６０２にベクトル情報を設定する。
【０１１５】
検出部１０４は、対象ノードを検出する際に、探索図形６０２に設定された目標経路図形のベクトル情報と、各ノード２１０１が有するリンクの進行可能方向の情報に基づいて、侵入できないリンクを有するノードを除外して対象ノードを検出する。抽出部１０５は、侵入できないリンクを有するノードが除外された対象ノードに基づいて、ルート候補を選択する。従って、ルート候補として、侵入できるリンクが選択される。
【０１１６】
図２１に示す例では、探索図形６０２に設定された目標経路図形の進行方向のベクトル情報２１０４が反時計回りの矢印で示されている。探索図形６０２を縮めた際に、探索図形６０２と交差するＬのノード２１０５が見つかり、このＬのノード２１０５が、Ｌのノード２１０５と、Ｌのノード２１０５に繋がるＭのノード２１０６とを繋ぐ（ｏ）のリンク２１０７の進行可能方向の情報を有している。「Ｌ」及び「Ｍ」はノードの識別子を表し、「（ｏ）」はリンクの識別子を表す。
【０１１７】
図２１には、（ｏ）のリンク２１０７の進行可能方向の情報２１０８が（ｏ）のリンク２１０７に沿って矢印で示されている。目標経路図形の進行方向のベクトル情報２１０４に従えば、（ｏ）のリンク２１０７には、Ｌのノード２１０５から侵入し、Ｍのノード２１０６へ向かって進むことになる。この進行方向は、目標経路図形の進行方向のベクトル情報２１０４による進行方向とは逆になるため、（ｏ）のリンク２１０７には侵入することができない。従って、（ｏ）のリンク２１０７はルート候補から除外される。
【０１１８】
Ｌのノード２１０５に（ｏ）のリンク２１０７の代わりとなる侵入可能なリンクが存在する場合には、Ｌのノード２１０５を対象ノードから除外せずに、（ｏ）のリンク２１０７の代わりとなるリンクがルート候補に選択されてもよい。Ｌのノード２１０５に（ｏ）のリンク２１０７の代わりとなる侵入可能なリンクが存在しない場合には、Ｌのノード２１０５が対象ノードから除外される。
【０１１９】
なお、検出部１０４は、各リンクの進行可能方向の情報を考慮せずに対象ノードを検出してもよい。その場合には、抽出部１０５が、対象ノードにつながる各リンクの進行可能方向の情報に基づいて、侵入できないリンクを除外してもよい。
【０１２０】
実施例２によれば、ユーザにより指定された目標経路図形の進行方向の情報に基づいて侵入できないリンクが除外されるため、実際の経路に従って移動する場合に侵入できない経路によって移動が妨げられるのを防ぐことができる。例えば、実際の経路に従ってジョギング等によって移動する人に車両により伴奏する場合、一歩通行道路などの逆向きに侵入できない経路が除外されるため、周回コース上の一方通行道路を逆向きに走らずに済む。
【実施例３】
【０１２１】
次に、本発明の実施例３について説明する。実施例３は、探索された周回コースの一部の経路を補正する処理の例である。実施例３についても実施例１（図１）と同様の構成を用いることができる。
【０１２２】
図２２〜図２８は、探索された周回コースの一部の経路を補正する処理の各段階における様子を示す説明図である。図２２〜図２８には、ディスプレイに表示された地図が示されている。これらの図において、小さい丸はノード２２０１であり、実線の曲線または折れ線は、探索された周回コース２２０２であり、点線の曲線または折れ線は周回コース以外のパス２２０３である。
【０１２３】
例えば、図２２に示すように、周回コース２２０２において、（ｐ）のパス２２０４を（ｑ）のパス２２０５に移したいとする。「（ｐ）」及び「（ｑ）」はパスの識別子を表す。
【０１２４】
この場合、まず、図２３に示すように、ユーザは、（ｐ）のパス２２０４の、（ｑ）のパス２２０５に属さない側の端点であるＬのノード２１０５（ドラッグを表す手の表示２３０１に隠れて見えない）をドラッグする。そして、ユーザは、ドラッグしていたポインタをＮのノード２３０２を挟んでＬのノード２１０５の反対側まで移動させ、ドラッグしていたポインタをリリースする。それによって、設定部１０３は、ポインタがリリースされた地点と、この地点に隣接する２つのノード、図２３に示す例ではＯのノード２３０３及びＰのノード２３０４とを通る探索図形６０２、例えば円を設定する。「Ｎ」〜「Ｐ」はノードの識別子を表す。
【０１２５】
ドラッグしていたポインタがリリースされると、抽出部１０５によって、探索図形６０２を用いた探索が開始される。図２４に示すように、探索図形６０２は、ポインタ２４０１がリリースされた地点に隣接する２つのノード、すなわちＯのノード２３０３とＰのノード２３０４とを通る線を中心線として、ポインタ２４０１のある方の例えば半円２４０２が、ポインタ２４０１のない方の例えば半円２４０３に向かうようにして、縮められる。
【０１２６】
図２５には、ポインタのある方の例えば半円２４０２が縮められた様子が示されている。図２６には、ポインタのある方の例えば半円２４０２が、図２５の状態よりも縮められた様子が示されている。図２７には、ポインタのある方の例えば半円２４０２が、図２６の状態よりも縮められた様子が示されている。
【０１２７】
そして、図２８に示すように、探索図形６０２がノードと交差すると、抽出部１０５は、探索図形６０２が交差したノード、図２８に示す例ではＮのノード２３０２を持つパス、すなわち（ｑ）のパス２２０５をルート候補として確定する。
【０１２８】
以上のように、この発明によれば、ユーザがイメージするコース形状に近い実際の経路を、簡単なユーザインタフェースで探索することができる。とりわけ、単純な往復コースではなく、周回するコースを探索することが簡単に実現できる。そして、ノードとパスをつなぎ合わせて最適な経路を比較評価していく探索方法にくらべて、探索結果が発散することなく所望のコースを発見することができる。また、侵入できないリンクを除外して実際の経路を探索することができる。さらに、経路探索のアルゴリズムが単純であるため、ダイクストラ法、Ａ＊アルゴリズムなどの方法と比較して、迅速に経路探索を行うことができる。
【０１２９】
実施例では、経路探索装置１００としてナビゲーション装置を用いる構成としたが、例えば徒歩用ナビゲーション装置のような可搬型のポータブルナビゲーション装置、あるいはスマートフォンやタブレットなどの他の装置を用いることもできる。
【０１３０】
なお、本実施の形態で説明した経路探索方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーションなどのコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、このプログラムは、インターネットなどのネットワークを介して配布することが可能な伝送媒体であってもよい。
【符号の説明】
【０１３１】
１００  経路探索装置
１０１  記憶部
１０２  取得部
１０３  設定部
１０４  検出部
１０５  抽出部
１０６  提示部
６０１  目標経路図形
６０２  探索図形
６０４  ノード
６０５  リンク
【図１】
2019148605.tif 000003
【図２】
2019148605.tif 000004
【図３】
2019148605.tif 000005
【図４】
2019148605.tif 000006
【図５】
2019148605.tif 000007
【図６】
2019148605.tif 000008
【図７】
2019148605.tif 000009
【図８】
2019148605.tif 000010
【図９】
2019148605.tif 000011
【図１０】
2019148605.tif 000012
【図１１】
2019148605.tif 000013
【図１２】
2019148605.tif 000014
【図１３】
2019148605.tif 000015
【図１４】
2019148605.tif 000016
【図１５】
2019148605.tif 000017
【図１６】
2019148605.tif 000018
【図１７】
2019148605.tif 000019
【図１８】
2019148605.tif 000020
【図１９】
2019148605.tif 000021
【図２０】
2019148605.tif 000022
【図２１】
2019148605.tif 000023
【図２２】
2019148605.tif 000024
【図２３】
2019148605.tif 000025
【図２４】
2019148605.tif 000026
【図２５】
2019148605.tif 000027
【図２６】
2019148605.tif 000028
【図２７】
2019148605.tif 000029
【図２８】
2019148605.tif 000030