(57)【要約】【課題】カーブ多発区間に関する情報を地図情報のデータベースに格納することなく、経路上のカーブ多発区間を検出することが可能となるナビゲーション装置、ナビゲーション方法及びプログラムを提供する。【解決手段】ＣＰＵ４１は、探索した推奨経路の出発地から目的地まで、道なり距離が所定距離Ｌ毎に、当該推奨経路上に測定地点を設定する。そして、ＣＰＵ４１は、各測定地点の隣り合う２点間の区間のそれぞれについて、各区間の両端点間の道なり距離に対する直線距離の割合が所定割合以下の場合に、カーブ多発区間であると判定して、各区間に割り当てられるカーブ多発フラグをＯＮに設定する。【選択図】図３
2009222608.tif 000002
【特許請求の範囲】
【請求項１】
地図情報を記憶する地図情報記憶手段と、
目的地を入力する目的地入力手段と、
現在の自車位置から前記目的地までの経路を前記地図情報に基づいて探索する経路探索手段と、
前記経路上に複数個の点を設定し、隣り合う２点間の道なり距離と該２点間の直線距離とに基づいて当該２点間の区間がカーブが多いカーブ多発区間であるか否かを判定する区間判定手段と、
を備えたことを特徴とするナビゲーション装置。
【請求項２】
前記複数個の点のうちの隣り合う各２点間の経路上に追加点を設定し、隣り合う２個の追加点間の道なり距離と該２個の追加点間の直線距離とに基づいて当該２個の追加点間の区間が前記カーブ多発区間であるか否かを判定する追加区間判定手段と、
前記隣り合う２点間と前記隣り合う２個の追加点間が重なった重複区間部分において、前記区間判定手段による判定結果と前記追加区間判定手段による判定結果とが異なった場合には、該重複区間部分の両端点間の道なり距離と該両端点間の直線距離とに基づいて当該重複区間部分が前記カーブ多発区間であるか否かを判定する重複区間判定手段と、
を備えたことを特徴とする請求項１に記載のナビゲーション装置。
【請求項３】
前記経路上に前記カーブ多発区間があると判定された場合には、前記経路上にカーブ多発区間がある旨を該経路の走行開始前に運転者に報知する報知手段を備えたことを特徴とする請求項１又は請求項２に記載のナビゲーション装置。
【請求項４】
目的地を取得する目的地取得工程と、
現在の自車位置から前記目的地までの経路を地図情報に基づいて探索する経路探索工程と、
前記経路探索工程で探索された経路上に複数個の点を設定し、隣り合う２点間の道なり距離と該２点間の直線距離とに基づいて当該２点間の区間がカーブが多いカーブ多発区間であるか否かを判定する区間判定工程と、
を備えたことを特徴とするナビゲーション方法。
【請求項５】
コンピュータに、
目的地を取得する目的地取得工程と、
現在の自車位置から前記目的地までの経路を地図情報に基づいて探索する経路探索工程と、
前記経路探索工程で探索された経路上に複数個の点を設定し、隣り合う２点間の道なり距離と該２点間の直線距離とに基づいて当該２点間の区間がカーブが多いカーブ多発区間であるか否かを判定する区間判定工程と、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、目的地までの経路を探索するナビゲーション装置、ナビゲーション方法及びプログラムに関するものである。
【背景技術】
【０００２】
従来より、自車位置から目的地までの経路を探索する技術に関して種々提案されている。
例えば、地図情報が格納されるデータベースに、カーブが連続している道路区間である多旋回区間毎に、多旋回区間を識別する区間番号、区間標準進行方向、区間幅、区間中央線、及び多旋回区間を構成するリンクのリンク番号のリストから構成された多旋回区間情報が格納されている。そして、自車位置が多旋回区間のリンク上に進入した場合には、地図表示範囲を変更して当該多旋回区間の全体を案内表示するナビゲーション装置がある（例えば、特許文献１参照。）。
【特許文献１】特開２００６−００３０８９号公報（段落（００１７）〜（００４０）、図２〜図５）
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、前記した特許文献１に記載されたナビゲーション装置では、地図情報が格納されるデータベースに、カーブが連続している道路区間である多旋回区間毎に、多旋回区間情報を格納する必要があるという問題がある。
【０００４】
そこで、本発明は、上述した問題点を解決するためになされたものであり、カーブが多発するカーブ多発区間に関する情報を地図情報のデータベースに格納することなく、経路上のカーブ多発区間を検出することが可能となるナビゲーション装置、ナビゲーション方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００５】
前記目的を達成するため請求項１に係るナビゲーション装置は、地図情報を記憶する地図情報記憶手段（２５）と、目的地を入力する目的地入力手段（１４）と、現在の自車位置から前記目的地までの経路を前記地図情報に基づいて探索する経路探索手段（１３）と、前記経路上に複数個の点を設定し、隣り合う２点間の道なり距離と該２点間の直線距離とに基づいて当該２点間の区間がカーブが多いカーブ多発区間であるか否かを判定する区間判定手段（１３）と、を備えたことを特徴とする。
【０００６】
また、請求項２に係るナビゲーション装置は、請求項１に記載のナビゲーション装置（１）において、前記複数個の点のうちの隣り合う各２点間の経路上に追加点を設定し、隣り合う２個の追加点間の道なり距離と該２個の追加点間の直線距離とに基づいて当該２個の追加点間の区間が前記カーブ多発区間であるか否かを判定する追加区間判定手段（１３）と、前記隣り合う２点間と前記隣り合う２個の追加点間が重なった重複区間部分において、前記区間判定手段による判定結果と前記追加区間判定手段による判定結果とが異なった場合には、該重複区間部分の両端点間の道なり距離と該両端点間の直線距離とに基づいて当該重複区間部分が前記カーブ多発区間であるか否かを判定する重複区間判定手段（１３）と、を備えたことを特徴とする。
【０００７】
また、請求項３に係るナビゲーション装置は、請求項１又は請求項２に記載のナビゲーション装置（１）において、前記経路上に前記カーブ多発区間があると判定された場合には、前記経路上にカーブ多発区間がある旨を該経路の走行開始前に運転者に報知する報知手段（１５、１６）を備えたことを特徴とする。
【０００８】
また、請求項４に係るナビゲーション方法は、目的地を取得する目的地取得工程と、現在の自車位置から前記目的地までの経路を地図情報に基づいて探索する経路探索工程と、前記経路探索工程で探索された経路上に複数個の点を設定し、隣り合う２点間の道なり距離と該２点間の直線距離とに基づいて当該２点間の区間がカーブが多いカーブ多発区間であるか否かを判定する区間判定工程と、を備えたことを特徴とする。
【０００９】
更に、請求項５に係るプログラムは、コンピュータに、目的地を取得する目的地取得工程と、現在の自車位置から前記目的地までの経路を地図情報に基づいて探索する経路探索工程と、前記経路探索工程で探索された経路上に複数個の点を設定し、隣り合う２点間の道なり距離と該２点間の直線距離とに基づいて当該２点間の区間がカーブが多いカーブ多発区間であるか否かを判定する区間判定工程と、を実行させるためのプログラムである。
【発明の効果】
【００１０】
前記構成を有する請求項１に係るナビゲーション装置では、探索した経路上に複数の点を設定し、各隣り合う２点間について、２点間の道なり距離と直線距離とに基づいて当該２点間の区間がカーブが多いカーブ多発区間であるか否かを判定するため、地図情報として予めカーブ多発区間に関する情報を格納することなく、経路上のカーブ多発区間を検出することが可能となる。
【００１１】
また、請求項２に係るナビゲーション装置では、隣り合う各２点間の経路上に追加点を設定し、この隣り合う２個の追加点間の道なり距離と該２個の追加点間の直線距離とに基づいて当該２個の追加点間の区間がカーブ多発区間であるか否かを判定するため、地図情報として予めカーブ多発区間に関する詳細な情報を格納することなく、経路上のカーブ多発区間を更に精度よく検出することが可能となる。
また、隣り合う２点間と隣り合う２個の追加点間が重なった重複区間部分において、区間判定手段による判定結果と追加区間判定手段による判定結果とが異なった場合には、当該重複区間部分の両端点間の道なり距離と該両端点間の直線距離とに基づいて当該重複区間部分がカーブ多発区間であるか否かを判定するため、地図情報として予めカーブ多発区間に関する詳細な情報を格納することなく、経路上のカーブ多発区間を更に精度よく検出することが可能となる。
【００１２】
また、請求項３に係るナビゲーション装置では、運転者は、走行開始前に経路上のカーブ多発区間を知ることが可能となるため、安全に走行することが可能となる。また、例えば、運転者は、走行開始前に経路変更をすることも可能となる。
【００１３】
また、請求項４に係るナビゲーション方法では、探索した経路上に複数の点を設定し、各隣り合う２点間について、２点間の道なり距離と直線距離とに基づいて当該２点間の区間がカーブが多いカーブ多発区間であるか否かを判定するため、地図情報として予めカーブ多発区間に関する情報を格納することなく、経路上のカーブ多発区間を検出することが可能となる。
【００１４】
更に、請求項５に係るプログラムでは、コンピュータは当該プログラムを読み込むことによって、該コンピュータは、探索した経路上に複数の点を設定し、各隣り合う２点間について、２点間の道なり距離と直線距離とに基づいて当該２点間の区間がカーブが多いカーブ多発区間であるか否かを判定するため、地図情報として予めカーブ多発区間に関する情報を格納することなく、経路上のカーブ多発区間を検出することが可能となる。
【発明を実施するための最良の形態】
【００１５】
以下、本発明に係るナビゲーション装置、ナビゲーション方法及びプログラムを具体化した一実施例に基づき図面を参照しつつ詳細に説明する。
【実施例】
【００１６】
［ナビゲーション装置の概略構成］
先ず、本実施例に係るナビゲーション装置の概略構成について図１に基づいて説明する。図１は本実施例に係るナビゲーション装置１を示したブロック図である。
図１に示すように、本実施例に係るナビゲーション装置１は、自車の現在位置を検出する現在地検出処理部１１と、各種のデータが記録されたデータ記録部１２と、入力された情報に基づいて、各種の演算処理を行うナビゲーション制御部１３と、操作者からの操作を受け付ける操作部１４と、操作者に対して地図等の情報を表示する液晶ディスプレイ１５と、経路案内等に関する音声ガイダンスを出力するスピーカ１６と、不図示の道路交通情報センタや地図情報配信センタ等との間で携帯電話網等を介して通信を行う通信装置１７とから構成されている。また、ナビゲーション制御部１３には自車の走行速度を検出する車速センサ２１が接続されている。
【００１７】
以下に、ナビゲーション装置１を構成する各構成要素について説明すると、現在地検出処理部１１は、ＧＰＳ３１、方位センサ３２、距離センサ３３等からなり、現在の自車の位置、方位、走行距離等を検出することが可能となっている。
【００１８】
また、データ記録部１２は、外部記憶装置及び記録媒体としてのハードディスク（図示せず）と、ハードディスクに記憶された地図情報データベース（地図情報ＤＢ）２５及び所定のプログラム等を読み出すとともにハードディスクに所定のデータを書き込む為のドライバである記録ヘッド（図示せず）とを備えている。
【００１９】
また、地図情報ＤＢ２５には、ナビゲーション装置１の走行案内や経路探索に使用されるナビ地図情報２６が格納されている。ここで、ナビ地図情報２６は、経路案内及び地図表示に必要な各種情報から構成されており、例えば、各新設道路を特定するための新設道路情報、地図を表示するための地図表示データ、各交差点に関する交差点データ、ノード点に関するノードデータ、道路（リンク）に関するリンクデータ、経路を探索するための探索データ、施設の一種である店舗等のＰＯＩ（Pointof Interest）に関する店舗データ、地点を検索するための検索データ等から構成されている。また、店舗データとしては、各地域のホテル、病院、ガソリンスタンド、駐車場、駅、空港、フェリー乗り場等のＰＯＩに関するデータがＰＯＩを特定するＩＤとともに記憶されている。
また、地図情報ＤＢ２５の内容は、不図示の地図情報配信センタから通信装置１７を介して配信された更新情報をダウンロードすることによって更新される。
【００２０】
ここで、特に地図表示データとしては、約１０ｋｍ×１０ｋｍで区画された２次メッシュをベースに４分割（長さ１／２）、１６分割（１／４）、６４分割（１／８）されたユニットで構成されており、各ユニットのデータ量が略同レベルになるように、各地のユニットが設定されている。最も小さい６４分割サイズのユニットは、約１．２５ｋｍ四方の大きさである。また、約１０ｋｍ×１０ｋｍで区画された各２次メッシュ（以下、「メッシュ」という。）には、各メッシュを識別するメッシュＩＤがそれぞれ付されている。
【００２１】
また、図１に示すように、ナビゲーション装置１を構成するナビゲーション制御部１３は、ナビゲーション装置１の全体の制御を行う演算装置及び制御装置としてのＣＰＵ４１、並びにＣＰＵ４１が各種の演算処理を行うに当たってワーキングメモリとして使用されるとともに、経路が探索されたときの経路データ等が記憶されるＲＡＭ４２、制御用のプログラムのほか、後述の推奨経路上におけるカーブ多発区間の案内を行うカーブ多発区間案内処理のプログラム（図２参照）等が記憶されたＲＯＭ４３、ＲＯＭ４３から読み出したプログラムを記憶するフラッシュメモリ４４等の内部記憶装置や、時間を計測するタイマ４５等を備えている。
【００２２】
更に、前記ナビゲーション制御部１３には、操作部１４、液晶ディスプレイ１５、スピーカ１６、通信装置１７の各周辺装置（アクチュエータ）が電気的に接続されている。
【００２３】
この操作部１４は、走行開始時の現在地を修正し、案内開始地点としての出発地及び案内終了地点としての目的地を入力する際や施設に関する情報の検索を行う場合等に操作され、各種のキーや複数の操作スイッチから構成される。そして、ナビゲーション制御部１３は、各スイッチの押下等により出力されるスイッチ信号に基づき、対応する各種の動作を実行すべく制御を行う。更に、液晶ディスプレイ１５の前面部には、タッチパネルが設けられ、画面に表示されたボタンや地図上を押下することによって各種指示コマンドを入力することが可能に構成されている。
【００２４】
また、液晶ディスプレイ１５には、現在走行中の地図情報、操作案内、操作メニュー、キーの案内、現在地から目的地までの推奨経路、推奨経路に沿った案内情報、交通情報、ニュース、天気予報、時刻、メール、テレビ番組等が表示される。
【００２５】
また、スピーカ１６は、ナビゲーション制御部１３からの指示に基づいて、推奨経路に沿った走行を案内する音声ガイダンス等を出力する。ここで、案内される音声ガイダンスとしては、例えば、「２００ｍ先、○○交差点を右方向です。」等がある。
【００２６】
また、通信装置１７は、地図情報配信センタと通信を行う携帯電話網等による通信手段であり、地図情報配信センタとの間で最もバージョンの新しい更新地図情報等の送受信を行う。また、通信装置１７は地図情報配信センタに加えて、道路交通情報センタ等から送信された渋滞情報やサービスエリアの混雑状況等の各情報から成る交通情報を受信する。
【００２７】
［カーブ多発区間案内処理］
次に、上記のように構成されたナビゲーション装置１のＣＰＵ４１が実行する処理であって、目的地までの推奨経路上におけるカーブ多発区間の案内を行う「カーブ多発区間案内処理」について図２に基づいて説明する。
【００２８】
図２は本実施例に係るナビゲーション装置１のＣＰＵ４１が実行する処理であって、目的地までの推奨経路上におけるカーブ多発区間の案内を行うカーブ多発区間案内処理を示すメインフローチャートである。
尚、図２にフローチャートで示されるプログラムはナビゲーション装置１のナビゲーション制御部１３が備えているＲＯＭ４３に記憶されており、ＣＰＵ４１により所定時間毎に（例えば、約１０ミリ秒毎乃至１００ミリ秒毎である。）実行される。
【００２９】
図２に示すように、先ず、ステップ（以下、Ｓと略記する。）１１において、ＣＰＵ４１は、タッチパネル、操作スイッチ等の操作部１４の入力操作等によって、目的地が設定されたか否かを判定する判定処理を実行する。
そして、目的地が設定されていない場合には（Ｓ１１：ＮＯ）、ＣＰＵ４１は、当該処理を終了する。
【００３０】
一方、目的地が設定された場合には（Ｓ１１：ＹＥＳ）、ＣＰＵ４１は、その目的地の座標等をＲＡＭ４２に一時格納後、Ｓ１２の処理に移行する。Ｓ１２において、ＣＰＵ４１は、現在地検出処理部１１の検出結果に基づいて自車の現在位置（以下、「自車位置」という。）を検出してＲＡＭ４２に記憶する。そして、ＣＰＵ４１は、自車位置を出発地として、当該出発地からＲＡＭ４２に記憶された目的地への経路探索をデータ記録部１２のナビ地図情報２６に基づいて、例えばダイクストラ法等によって行う。そして、ＣＰＵ４１は、出発地から目的地まで探索した経路を推奨経路としてＲＡＭ４２に記憶する。
【００３１】
続いて、Ｓ１３において、ＣＰＵ４１は、後述のカーブ多発区間の検出を行う「カーブ多発区間判定処理」のサブ処理（図３参照）を実行後、Ｓ１４の処理に移行する。
Ｓ１４において、ＣＰＵ４１は、後述の推奨経路上のカーブ多発区間を強調表示する「推奨経路表示処理」のサブ処理（図８参照）を実行後、当該処理を終了する。
【００３２】
［カーブ多発区間判定処理］
次に、ＣＰＵ４１が上記Ｓ１３において実行する「カーブ多発区間判定処理」のサブ処理について図３乃至図７に基づいて説明する。
【００３３】
図３は図２の「カーブ多発区間判定処理」のサブ処理を示すサブフローチャートである。図４は図３の「区間判定処理」のサブ処理を示すサブフローチャートである。図５は推奨経路５１上のカーブ多発区間６１の一例を示す図である。図６は図５に示す各２点間の判定結果の一例を示す図である。図７は図６に示す判定結果が異なる重複区間の判定結果の一例を示す図である。
【００３４】
図３に示すように、Ｓ１１１において、ＣＰＵ４１は、上記Ｓ１２で探索した推奨経路の出発地から目的地まで、道なり距離（推奨経路上の距離である。）が所定距離Ｌ（例えば、Ｌ＝約５ｋｍである。）になる毎に、当該推奨経路上に測定地点を設定してＲＡＭ４２に記憶する。
【００３５】
そして、Ｓ１１２において、ＣＰＵ４１は、各測定地点の隣り合う２点間のそれぞれについて、カーブ多発区間か否かを判定する「区間判定処理」のサブ処理を実行する。
【００３６】
［区間判定処理］
ここで、上記Ｓ１１２においてＣＰＵ４１が実行する「区間判定処理」について図４に基づいて説明する。
図４に示すように、Ｓ２１１において、ＣＰＵ４１は、ＲＡＭ４２に記憶した各測定地点に基づいて、各測定地点の隣り合う２点間の全区間を出発地から順次抽出してＲＡＭ４２に記憶する。また、ＣＰＵ４１は、この抽出した全区間のそれぞれについて、ＯＦＦに設定されたカーブ多発フラグを割り当てて、ＲＡＭ４２に記憶する。
【００３７】
そして、Ｓ２１２において、ＣＰＵ４１は、ＲＡＭ４２に記憶した各測定地点の隣り合う２点間の全区間から、一番目に抽出した区間、つまり、出発地と次の測定地点間について、この区間の両端点間の道なり距離に対する両端点間の直線距離（地図上の直線距離である。）の割合を算出する。
続いて、Ｓ２１３において、ＣＰＵ４１は、この両端点間の道なり距離に対する両端点間の直線距離の割合が所定割合以下（例えば、９０％以下である。）か否かを判定する判定処理を実行する。
【００３８】
そして、この両端点間の道なり距離に対する両端点間の直線距離の割合が所定割合以下であると判定した場合には（Ｓ２１３：ＹＥＳ）、ＣＰＵ４１は、Ｓ２１４の処理に移行する。Ｓ２１４において、ＣＰＵ４１は、当該両端点間からなる区間をカーブ多発区間であると判定して、当該両端点間からなる区間に割り当てられたカーブ多発フラグをＲＡＭ４２から読み出し、このカーブ多発フラグをＯＮに設定して、再度ＲＡＭ４２に記憶する。
【００３９】
一方、この両端点間の道なり距離に対する両端点間の直線距離の割合が所定割合より大きいと判定した場合には（Ｓ２１３：ＮＯ）、ＣＰＵ４１は、Ｓ２１５の処理に移行する。Ｓ２１５において、ＣＰＵ４１は、当該両端点間からなる区間をカーブ多発区間でない、つまり、通常区間であると判定する。
【００４０】
続いて、上記Ｓ２１４又はＳ２１５の処理を実行後、ＣＰＵ４１は、上記Ｓ２１１で抽出した次の隣り合う測定地点間の区間があるか否かを判定する判定処理を実行する。そして、Ｓ２１１で抽出した次の隣り合う測定地点間の区間が無い場合には、ＣＰＵ４１は、全区間について当該サブ処理を実行したと判定して、ループを終了して「カーブ多発区間判定処理」のサブ処理に戻り、Ｓ１１３の処理に移行する。
一方、Ｓ２１１で抽出した次の隣り合う測定地点間の区間がある場合には、ＣＰＵ４１は、次の隣り合う測定地点間の区間についてＳ２１２以降のループを実行する。
【００４１】
続いて、図３に示すように、Ｓ１１３において、ＣＰＵ４１は、上記Ｓ１２で探索した推奨経路の出発地から道なり距離が上記所定距離Ｌの約半分の距離の推奨経路上に追加測定地点を設定する。そして、ＣＰＵ４１は、この追加測定地点から道なり距離が所定距離Ｌ（例えば、Ｌ＝約５ｋｍである。）になる毎に、当該推奨経路上に追加測定地点を設定してＲＡＭ４２に記憶する。つまり、ＣＰＵ４１は、上記Ｓ１１１で推奨経路上に設定した各測定地点の隣り合う２点間の中間地点の位置に各追加測定地点を設定する。
【００４２】
そして、Ｓ１１４において、ＣＰＵ４１は、各追加測定地点の隣り合う２点間のそれぞれについて、上記Ｓ１１２の処理で実行したカーブ多発区間か否かを判定する「区間判定処理」のサブ処理と同様の処理を実行後、Ｓ１１５の処理に移行する。
【００４３】
ここで、上記Ｓ１１１〜Ｓ１１４において、ＣＰＵ４１が抽出した各区間ついてカーブ多発区間であるか否かの判定を実行した一例について図５及び図６に基づいて説明する。
例えば、図５に示すように、先ず、ＣＰＵ４１は、推奨経路５１上に、各測定地点Ａ１、Ｂ１、Ｃ１、Ｄ１、Ｅ１、Ｆ１を道なり距離が約５ｋｍになる毎に設定する（Ｓ１１１）。そして、ＣＰＵ４１は、各測定地点Ａ１〜Ｆ１の隣り合う２点間の全区間を順次抽出して、各区間について両端点間の道なり距離に対する直線距離の割合を算出し、９０％以下の場合に、カーブ多発区間であると判定する（Ｓ１１２）。
【００４４】
例えば、図６に示すように、各測定地点Ａ１、Ｂ１間の区間Ａ１〜Ｂ１は、両端点間の道なり距離に対する直線距離の割合が９４％であるため、ＣＰＵ４１は、通常区間であると判定する。
また、各測定地点Ｂ１、Ｃ１間の区間Ｂ１〜Ｃ１は、両端点間の道なり距離に対する直線距離の割合が７６％であるため、ＣＰＵ４１は、カーブ多発区間であると判定して、この区間に対応するカーブ多発フラグを読み出してＯＮに設定後、再度ＲＡＭ４２に記憶する。
【００４５】
続いて、図５に示すように、ＣＰＵ４１は、推奨経路５１上に設定した各測定地点Ａ１〜Ｆ１の隣り合う２点間の中間地点の位置に各追加測定地点Ａ２、Ｂ２、Ｃ２、Ｄ２、Ｅ２を設定する（Ｓ１１３）。そして、ＣＰＵ４１は、各追加測定地点Ａ２〜Ｅ２の隣り合う２点間の全区間を順次抽出して、各区間について道なり距離に対する直線距離の割合を算出し、９０％以下の場合に、カーブ多発区間であると判定する（Ｓ１１４）。
【００４６】
例えば、図６に示すように、各追加測定地点Ａ２、Ｂ２間の区間Ａ２〜Ｂ２は、道なり距離に対する直線距離の割合が８４％であるため、ＣＰＵ４１は、カーブ多発区間であると判定して、この区間に対応するカーブ多発フラグを読み出してＯＮに設定後、再度ＲＡＭ４２に記憶する。
また、各測定地点Ｄ２、Ｅ２間の区間Ｄ２〜Ｅ２は、道なり距離に対する直線距離の割合が９６％であるため、ＣＰＵ４１は、通常区間であると判定する。
【００４７】
続いて、図３に示すように、Ｓ１１５において、ＣＰＵ４１は、ＲＡＭ４２に記憶した各測定地点と各追加測定地点に基づいて、各測定地点の隣り合う２点間の区間と、この２点間の区間に重なった各追加測定地点の隣り合う２点間の区間との、それぞれのカーブ多発フラグを順次読み出し、設定が異なっているか否かを判定する判定処理を実行する。つまり、各測定地点の隣り合う２点間の区間と、この２点間の区間に重なった各追加測定地点の隣り合う２点間の区間とにおいて、一方がカーブ多発区間であると判定され、他方が通常区間であると判定された重複区間があるか否かを判定する判定処理を実行する。
【００４８】
そして、各測定地点の隣り合う２点間の区間と、この２点間の区間に重なった各追加測定地点の隣り合う２点間の区間とにおいて、一方がカーブ多発区間であると判定され、他方が通常区間であると判定された重複区間が無い場合には（Ｓ１１５：ＮＯ）、ＣＰＵ４１は、Ｓ１２２の処理に移行する。
【００４９】
一方、各測定地点の隣り合う２点間の区間と、この２点間の区間に重なった各追加測定地点の隣り合う２点間の区間とにおいて、一方がカーブ多発区間であると判定され、他方が通常区間であると判定された重複区間がある場合には（Ｓ１１５：ＹＥＳ）、ＣＰＵ４１は、Ｓ１１６の処理に移行する。
【００５０】
Ｓ１１６において、ＣＰＵ４１は、各測定地点の隣り合う２点間の区間と、この２点間の区間に重なった各追加測定地点の隣り合う２点間の区間とにおいて、一方がカーブ多発区間であると判定され、他方が通常区間であると判定された重複区間を、推奨経路の出発地から順番に全て抽出して、ＲＡＭ４２に記憶する。また、ＣＰＵ４１は、この抽出した全重複区間のそれぞれについて、ＯＦＦに設定された重複カーブ多発フラグを割り当てて、ＲＡＭ４２に記憶する。
【００５１】
そして、Ｓ１１７において、ＣＰＵ４１は、ＲＡＭ４２に記憶した全重複区間から、一番目に抽出した重複区間、つまり、出発地に最も近い重複区間の両端点間について、この重複区間の両端点間の道なり距離に対する両端点間の直線距離（地図上の直線距離である。）の割合を算出する。
続いて、Ｓ１１８において、ＣＰＵ４１は、この両端点間の道なり距離に対する両端点間の直線距離の割合が所定割合以下（例えば、９０％以下である。）か否かを判定する判定処理を実行する。
【００５２】
そして、この両端点間の道なり距離に対する両端点間の直線距離の割合が所定割合以下であると判定した場合には（Ｓ１１８：ＹＥＳ）、ＣＰＵ４１は、Ｓ１１９の処理に移行する。Ｓ１１９において、ＣＰＵ４１は、当該両端点間の重複区間をカーブ多発区間であると判定して、当該両端点間の重複区間に割り当てられた重複カーブ多発フラグをＲＡＭ４２から読み出し、この重複カーブ多発フラグをＯＮに設定して、再度ＲＡＭ４２に記憶する。
【００５３】
一方、この両端点間の道なり距離に対する両端点間の直線距離の割合が所定割合より大きいと判定した場合には（Ｓ１１８：ＮＯ）、ＣＰＵ４１は、Ｓ１２０の処理に移行する。Ｓ１２０において、ＣＰＵ４１は、当該両端点間の重複区間をカーブ多発区間でない、つまり、通常区間であると判定する。
【００５４】
続いて、上記Ｓ１１９又はＳ１２０の処理を実行後、ＣＰＵ４１は、上記Ｓ１１６で抽出した次の重複区間があるか否かを判定する判定処理を実行する。そして、Ｓ１１６で抽出した次の重複区間が無い場合には、ＣＰＵ４１は、全重複区間について、カーブ多発区間であるか否かの判定を実行したと判断して、当該ループを終了して、Ｓ１２１の処理に移行する。
一方、Ｓ１１６で抽出した次の重複区間がある場合には、ＣＰＵ４１は、次の重複区間についてＳ１１７以降のループを実行する。
【００５５】
ここで、上記Ｓ１１６〜Ｓ１２０において、ＣＰＵ４１が抽出した重複区間についてカーブ多発区間であるか否かの判定を実行した一例について図５乃至図７に基づいて説明する。
【００５６】
図５及び図６に示すように、ＣＰＵ４１は、通常区間であると判定された区間Ａ１〜Ｂ１と、カーブ多発区間であると判定された区間Ａ２〜Ｂ２とが重なっているため、追加測定地点Ａ２と測定地点Ｂ１との間を判定が異なる重複区間Ａ２〜Ｂ１として抽出し、ＲＡＭ４２に記憶する。また、ＣＰＵ４１は、カーブ多発区間であると判定された区間Ｄ１〜Ｅ１と、通常区間であると判定された区間Ｄ２〜Ｅ２とが重なっているため、追加測定地点Ｄ２と測定地点Ｅ１との間を判定が異なる重複区間Ｄ２〜Ｅ１として抽出し、ＲＡＭ４２に記憶する。また、各重複区間Ａ２〜Ｂ１、Ｄ２〜Ｅ１のそれぞれについて、ＯＦＦに設定された重複カーブ多発フラグを割り当てて、ＲＡＭ４２に記憶する。
【００５７】
そして、図７に示すように、追加測定地点Ａ２と測定地点Ｂ１との間の重複区間Ａ２〜Ｂ１は、両端点間の道なり距離に対する直線距離の割合が９２％であるため、ＣＰＵ４１は、通常区間であると判定する。
【００５８】
また、追加測定地点Ｄ２と測定地点Ｅ１との間の重複区間Ｄ２〜Ｅ１は、両端点間の道なり距離に対する直線距離の割合が９６％であるため、ＣＰＵ４１は、通常区間であると判定する。尚、ＣＰＵ４１は、重複区間の両端点間の道なり距離に対する直線距離の割合が９０％以下の場合には、カーブ多発区間であると判定し、この重複区間に対応する重複カーブ多発フラグを読み出してＯＮに設定後、再度ＲＡＭ４２に記憶する。
【００５９】
続いて、図３に示すように、Ｓ１２１において、ＣＰＵ４１は、ＲＡＭ４２に記憶したカーブ多発フラグがＯＮに設定されている各測定地点の隣り合う２点間の全区間と、カーブ多発フラグがＯＮに設定されている各追加測定地点の隣り合う２点間の全区間とを出発地から順次抽出する。そして、ＣＰＵ４１は、この抽出した各区間について、出発地から順次連続する区間、つまり、繋がった区間を順番に抽出して、再度、カーブ多発区間として順次ＲＡＭ４２に記憶する。例えば、測定地点の隣り合う２点からなる区間と追加測定地点の隣り合う２点からなる区間とが、重なって連続している場合には、出発地に最も近い端点から出発地から最も遠い端点までの区間をカーブ多発区間としてＲＡＭ４２に記憶とする。
【００６０】
そして、ＣＰＵ４１は、ＲＡＭ４２に記憶した重複カーブ多発フラグがＯＦＦに設定されている全重複区間を出発地から順次抽出し、ＲＡＭ４２に記憶した各カーブ多発区間から、この抽出した全重複区間を除いた後、出発地から順次連続する区間、つまり、繋がった区間を順番に抽出して、当該推奨経路上のカーブ多発区間であるとして、ＲＡＭ４２に記憶後、当該サブ処理を終了して、メインフローチャートに戻る。
【００６１】
例えば、図５及び図６に示すように、ＣＰＵ４１は、ＲＡＭ４２に記憶したカーブ多発フラグがＯＮに設定されている各測定地点の隣り合う２点間の全区間Ｂ１〜Ｅ１と、カーブ多発フラグがＯＮに設定されている各追加測定地点の隣り合う２点間の全区間Ａ２〜Ｄ２を順次抽出する。そして、ＣＰＵ４１は、この抽出した各区間Ｂ１〜Ｅ１、Ａ２〜Ｄ２について、連続して繋がった区間Ａ２〜Ｅ１をカーブ多発区間Ａ２〜Ｅ１としてＲＡＭ４２に記憶する。
【００６２】
続いて、図５及び図７に示すように、ＣＰＵ４１は、上記Ｓ１２０において、重複カーブ多発フラグがＯＦＦに設定された各重複区間Ａ２〜Ｂ１、Ｄ２〜Ｅ１を順次抽出する。そして、ＣＰＵ４１は、ＲＡＭ４２に記憶したカーブ多発区間Ａ２〜Ｅ１から、この抽出した各重複区間Ａ２〜Ｂ１、Ｄ２〜Ｅ１を削除した後、連続する区間Ｂ１〜Ｄ２、つまり、繋がった区間Ｂ１〜Ｄ２を推奨経路５１上のカーブ多発区間６１であるとして、ＲＡＭ４２に記憶後、当該サブ処理を終了して、メインフローチャートに戻る。
【００６３】
［推奨経路表示処理］
次に、ＣＰＵ４１が上記Ｓ１４において実行する「推奨経路表示処理」のサブ処理について図８及び図９に基づいて説明する。
図８は図２の「推奨経路表示処理」のサブ処理を示すサブフローチャートである。図９は推奨経路上のカーブ多発区間を液晶ディスプレイ１５に強調表示した一例を示す図である。
【００６４】
図８に示すように、Ｓ３１１において、ＣＰＵ４１は、液晶ディスプレイ１５に表示している地図上に、上記Ｓ１２の処理で探索した推奨経路の出発地から目的地までの全経路を表示する。
続いて、Ｓ３１２において、ＣＰＵ４１は、上記Ｓ１３において、ＲＡＭ４２に記憶された当該推奨経路上のカーブ多発区間があるか否かを判定する判定処理を実行する。
【００６５】
そして、当該推奨経路上のカーブ多発区間がＲＡＭ４２に記憶されていない場合には（Ｓ３１２：ＮＯ）、ＣＰＵ４１は、Ｓ３１３の処理に移行する。Ｓ３１３において、ＣＰＵ４１は、当該推奨経路に基づいた経路案内を開始して、当該サブ処理を終了して、メインフローチャートに戻る。
【００６６】
一方、当該推奨経路上のカーブ多発区間がＲＡＭ４２に記憶されている場合には（Ｓ３１２：ＹＥＳ）、ＣＰＵ４１は、Ｓ３１４の処理に移行する。Ｓ３１４において、ＣＰＵ４１は、液晶ディスプレイ１５に表示している推奨経路上の当該カーブ多発区間を強調表示して、運転者に推奨経路上に当該カーブ多発区間がある旨を報知する。
【００６７】
例えば、図９に示すように、ＣＰＵ４１は、液晶ディスプレイ１５に表示している地図上に、出発地５１Ａから目的地５１Ｂまでの推奨経路５１の全経路を表示する。また、ＣＰＵ４１は、この推奨経路５１のカーブ多発区間６１に該当する部分を赤い破線で囲むと共に、「カーブ多発区間」である旨を表示して、運転者に推奨経路５１上に当該カーブ多発区間６１がある旨を報知する。
【００６８】
続いて、図８に示すように、Ｓ３１５において、ＣＰＵ４１は、当該カーブ多発区間を強調表示した液晶ディスプレイ１５の表示部分が押下されたか否か、つまり、強調表示したカーブ多発区間が選択されたか否かを判定する判定処理を実行する。
そして、所定時間内（例えば、表示から約３０秒以内である。）に当該強調表示したカーブ多発区間が選択されない場合には（Ｓ３１５：ＮＯ）、ＣＰＵ４１は、上記Ｓ３１３の処理に移行する。
【００６９】
一方、所定時間内（例えば、約３０秒以内である。）に当該強調表示したカーブ多発区間が選択された場合には（Ｓ３１５：ＹＥＳ）、ＣＰＵ４１は、このカーブ多発区間部分の縮尺を拡大した詳細縮尺の道路地図を表示後、当該サブ処理を終了して、メインフローチャートに戻る。
【００７０】
例えば、図９に示すように、液晶ディスプレイ１５に表示される推奨経路５１上のカーブ多発区間６１が押下された場合には（Ｓ３１５：ＹＥＳ）、ＣＰＵ４１は、当該カーブ多発区間６１の縮尺を拡大した詳細縮尺の道路地図を表示する。例えば、ＣＰＵ４１は、図５に示す、推奨経路５１上の区間Ｂ１〜Ｄ２の詳細縮尺の道路地図を液晶ディスプレイ１５に表示する。
【００７１】
［注意喚起処理］
次に、上記Ｓ１２の処理で探索した推奨経路に基づいた経路案内中に、自車位置が上記Ｓ１３でＲＡＭ４２に記憶された当該推奨経路上のカーブ多発区間に進入した場合に、ＣＰＵ４１が実行する「注意喚起処理」の一例について図１０に基づいて説明する。
【００７２】
図１０はカーブ多発区間に進入した場合に、ＣＰＵ４１が実行する注意喚起処理の一例を示すフローチャートである。
尚、図１０にフローチャートで示されるプログラムはナビゲーション装置１のナビゲーション制御部１３が備えているＲＯＭ４３に記憶されており、ＣＰＵ４１により所定時間毎に（例えば、約１０ミリ秒毎乃至１００ミリ秒毎である。）実行される。
【００７３】
図１０に示すように、先ず、Ｓ４１１において、ＣＰＵ４１は、現在地検出処理部１１により自車位置及び自車方位を検出して、自車位置を表す座標データ（例えば、緯度と経度のデータである。）をＲＡＭ４２に記憶する。そして、ＣＰＵ４１は、推奨経路上における、自車位置から進行方向前方のカーブ多発区間をＲＡＭ４２から読み出し、自車位置が当該カーブ多発区間の進入側端点に位置するか否か、つまり、自車位置がカーブ多発区間に進入したか否かを判定する判定処理を実行する。
【００７４】
そして、自車位置がカーブ多発区間に進入していない場合には（Ｓ４１１：ＮＯ）、ＣＰＵ４１は、当該処理を終了する。
一方、自車位置がカーブ多発区間に進入した場合には（Ｓ４１１：ＹＥＳ）、ＣＰＵ４１は、Ｓ４１２の処理に移行する。Ｓ４１２において、ＣＰＵ４１は、カーブ多発区間に進入した旨をスピーカ１６を介して報知する。例えば、ＣＰＵ４１は、スピーカ１６を介して、「カーブが連続します。」等の音声ガイダンスを出力する。
【００７５】
続いて、Ｓ４１３において、ＣＰＵ４１は、このカーブ多発区間部分の縮尺を拡大した詳細縮尺の道路地図表示に切り替えて、経路案内を続行する。
そして、ＣＰＵ４１は、現在地検出処理部１１により自車位置を検出して、自車位置が当該カーブ多発区間から退出するのを待つ。そして、ＣＰＵ４１は、自車位置が当該カーブ多発区間を退出した場合には、通常縮尺の道路地図表示に切り替えて、当該処理を終了する。
【００７６】
［上記実施例の効果］
以上詳細に説明した通り、本実施例に係るナビゲーション装置１では、ＣＰＵ４１は、探索した推奨経路の出発地から目的地まで、道なり距離が所定距離Ｌ毎に、当該推奨経路上に測定地点を設定する。また、ＣＰＵ４１は、各測定地点の隣り合う２点間の中間地点の位置に各追加測定地点を設定する。そして、ＣＰＵ４１は、各測定地点の隣り合う２点間の区間のそれぞれと、各追加測定地点の隣り合う２点間の区間のそれぞれとについて、各区間の両端点間の道なり距離に対する直線距離の割合が所定割合以下の場合に、カーブ多発区間であると判定して、各区間に割り当てられるカーブ多発フラグをＯＮに設定する（Ｓ１１１〜Ｓ１１４）。
【００７７】
これにより、ＣＰＵ４１は、ナビ地図情報２６として予めカーブ多発区間に関する詳細な情報（例えば、各カーブ多発区間毎に、当該各カーブ多発区間を構成する全リンクのリンクＩＤ等のデータベースである。）を格納することなく、カーブ多発フラグがＯＮに設定された全区間を抽出して繋げるだけの簡単な処理で推奨経路上のカーブ多発区間を精度よく抽出することが可能となる。
【００７８】
また、ＣＰＵ４１は、各測定地点の隣り合う２点間の区間と、各追加測定地点の隣り合う２点間の区間とにおいて、一方がカーブ多発区間であると判定され、他方が通常区間であると判定された重複区間を全て抽出して、各重複区間の両端点間の道なり距離に対する直線距離の割合が所定割合より大きい場合に、当該重複区間を通常区間であると判定して、各重複区間に割り当てられる重複カーブ多発フラグをＯＦＦに設定した状態に維持する。（Ｓ１１５：ＹＥＳ〜Ｓ１２０）。
【００７９】
これにより、ＣＰＵ４１は、ナビ地図情報２６として予めカーブ多発区間に関する詳細な情報（例えば、カーブ多発区間を構成する全リンクのリンクＩＤ等である。）を格納することなく、カーブ多発フラグがＯＮに設定に設定された全区間を繋げたカーブ多発区間から、当該重複カーブ多発フラグがＯＦＦに設定された重複区間を除くことによって、推奨経路上のカーブ多発区間を更に高精度に抽出することが可能となる。
【００８０】
また、ＣＰＵ４１は、探索した推奨経路上にカーブ多発区間がある場合には、液晶ディスプレイに表示している推奨経路の出発地から目的地までの全経路上に、当該カーブ多発区間を強調表示する。また、ＣＰＵ４１は、この強調表示部分が押下された場合には、当該カーブ多発区間部分の縮尺を拡大した詳細縮尺の道路地図を表示する（Ｓ３１１〜Ｓ３１６）。
【００８１】
これにより、運転者は、走行開始前に推奨経路上のカーブ多発区間を知ることが可能となるため、安全に走行することが可能となる。また、例えば、運転者は、走行開始前に経路変更をすることも可能となる。
【００８２】
尚、本発明は前記実施例に限定されるものではなく、本発明の要旨を逸脱しない範囲内で種々の改良、変形が可能であることは勿論である。例えば、以下のようにしてもよい。
【００８３】
（Ａ）上記Ｓ１３のサブ処理において、ＣＰＵ４１は、上記Ｓ１１１〜Ｓ１１２の処理を実行後、Ｓ１２１の処理に移行して、Ｓ１１３〜Ｓ１２０の処理を実行しないようにしてもよい。そして、Ｓ１２１において、ＣＰＵ４１は、ＲＡＭ４２に記憶したカーブ多発フラグがＯＮに設定されている各測定地点の隣り合う２点間の全区間を出発地から順次抽出する。そして、ＣＰＵ４１は、この抽出した各区間について、出発地から順次連続する区間、つまり、繋がった区間を順番に抽出して、カーブ多発区間として順次ＲＡＭ４２に記憶後、当該サブ処理を終了して、メインフローチャートに戻るようにしてもよい。
【００８４】
例えば、上記図５において推奨経路５１上に、道なり距離が約５ｋｍになる毎に設定した各測定地点Ａ１〜Ｆ１の隣り合う２点間の全区間を順次抽出して、各区間について両端点間の道なり距離に対する直線距離の割合を算出し、９０％以下の場合に、カーブ多発区間であると判定する。
【００８５】
そして、上記図６に示すように、ＣＰＵ４１は、各区間Ａ１〜Ｂ１、Ｅ１〜Ｆ１を通常区間であると判定し、カーブ多発フラグをＯＦＦに設定した状態に維持する。また、ＣＰＵ４１は、各区間Ｂ１〜Ｃ１、Ｃ１〜Ｄ１、Ｄ１〜Ｅ１をカーブ多発区間として判定し、カーブ多発フラグをＯＮに設定する（Ｓ１１１〜Ｓ１１２）。
【００８６】
続いて、図１１に示すように、ＣＰＵ４１は、ＲＡＭ４２に記憶したカーブ多発フラグがＯＮに設定されている各区間Ｂ１〜Ｃ１、Ｃ１〜Ｄ１、Ｄ１〜Ｅ１抽出し、この抽出した各区間Ｂ１〜Ｃ１、Ｃ１〜Ｄ１、Ｄ１〜Ｅ１を繋げた区間Ｂ１〜Ｅ１をカーブ多発区間６２としてＲＡＭ４２に記憶後、メインフローチャートに戻るようにしてもよい（Ｓ１２１）。
【００８７】
そして、ＣＰＵ４１は、上記図９に示す液晶ディスプレイ１５に強調表示された推奨経路５１上のカーブ多発区間６１に替えて、上記カーブ多発区間６２を強調表示するようにしてもよい。
これにより、上記Ｓ１３において、ＣＰＵ４１が実行する「カーブ多発区間判定処理」のサブ処理の迅速化を図ることができる。また、運転者は、液晶ディスプレイ１５上に強調表示された推奨経路５１上のカーブ多発区間６２によって、走行開始前に推奨経路５１上のカーブ多発区間６２を知ることが可能となるため、安全に走行することが可能となる。また、例えば、運転者は、走行開始前に経路変更をすることも可能となる。
【００８８】
（Ｂ）また、上記Ｓ１１１において、ＣＰＵ４１は、上記Ｓ１２で探索した推奨経路の出発地から目的地まで、当該推奨経路上に設定する測定地点間の道なり距離を道路種別毎に異なるようにしてもよい。例えば、高速自動車国道、都市高速道路、自動車専用道路等の高規格道路では、道なり距離が約１０ｋｍになる毎に、国道、県道等の一般道路では、道なり距離が約５ｋｍになる毎に、細街路では、道なり距離が約３ｋｍになる毎に、測定地点を設定するようにしてもよい。これにより、ＣＰＵ４１は、推奨経路上のカーブ多発区間を道路種別毎に高精度に抽出することが可能となる。
【図面の簡単な説明】
【００８９】
【図１】本実施例に係るナビゲーション装置を示したブロック図である。
【図２】ナビゲーション装置のＣＰＵが実行する処理である、目的地までの推奨経路上におけるカーブ多発区間の案内を行うカーブ多発区間案内処理を示すメインフローチャートである。
【図３】図２の「カーブ多発区間判定処理」のサブ処理を示すサブフローチャートである。
【図４】図３の「区間判定処理」のサブ処理を示すサブフローチャートである。
【図５】推奨経路上のカーブ多発区間の一例を示す図である。
【図６】図５に示す各２点間の判定結果の一例を示す図である。
【図７】図６に示す判定結果が異なる重複区間の判定結果の一例を示す図である。
【図８】図２の「推奨経路表示処理」のサブ処理を示すサブフローチャートである。
【図９】推奨経路上のカーブ多発区間を液晶ディスプレイに強調表示した一例を示す図である。
【図１０】カーブ多発区間に進入した場合に、ＣＰＵが実行する注意喚起処理の一例を示すフローチャートである。
【図１１】他の実施例の推奨経路上のカーブ多発区間の一例を示す図である。
【符号の説明】
【００９０】
１              ナビゲーション装置
１１            現在地検出処理部
１２            データ記録部
１３            ナビゲーション制御部
１４            操作部
１５            液晶ディスプレイ
２５            地図情報ＤＢ
２６            ナビ地図情報
４１            ＣＰＵ
４２            ＲＡＭ
４３            ＲＯＭ
５１            推奨経路
５１Ａ          出発地
５１Ｂ          目的地
６１、６２      カーブ多発区間
Ａ１、Ｂ１、Ｃ１、Ｄ１、Ｅ１、Ｆ１      測定地点
Ａ２、Ｂ２、Ｃ２、Ｄ２、Ｅ２            追加測定地点
【図１】
2009222608.tif 000003
【図２】
2009222608.tif 000004
【図３】
2009222608.tif 000005
【図４】
2009222608.tif 000006
【図５】
2009222608.tif 000007
【図６】
2009222608.tif 000008
【図７】
2009222608.tif 000009
【図８】
2009222608.tif 000010
【図９】
2009222608.tif 000011
【図１０】
2009222608.tif 000012
【図１１】
2009222608.tif 000013