ナビゲーション装置、地図データ配信装置、地図データ配信システム
【課題】要約地図において道路形状が簡略化された複数の互いに重複している経路について、その重複部分で各経路が判別できるように表示できるナビゲーション装置を提供する。
【解決手段】現在地61から目的地62までの複数の経路R1、R2およびR3を探索し、各経路の道路形状を簡略化して表示する。このとき、(a)のように2以上の経路が同一の道路を重複して通っている場合には、経路シフト処理を実行することにより、各経路の全体を所定のシフト幅ずつずらす。こうして重複部分をずらし、(b)のような要約地図を表示する。
【解決手段】現在地61から目的地62までの複数の経路R1、R2およびR3を探索し、各経路の道路形状を簡略化して表示する。このとき、(a)のように2以上の経路が同一の道路を重複して通っている場合には、経路シフト処理を実行することにより、各経路の全体を所定のシフト幅ずつずらす。こうして重複部分をずらし、(b)のような要約地図を表示する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、出発地から目的地までの複数の経路の地図を表示する技術に関する。
【背景技術】
【0002】
地図を表すための地図データに基づいて、道路形状を簡略化する方法が知られている。たとえば、特許文献1に開示される装置では、地図データにおいて道路形状を表している各リンクに対して直線化や直交化などの処理を行い、さらに、マスクで規定した範囲内のランドマーク情報のみを表示することにより、道路形状を簡略化する。このようにして簡略化された道路形状を用いて地図を表示することで、見やすい地図を提供する。
【0003】
【特許文献1】特開平11−202762号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
特許文献1に開示される装置により、複数の経路の道路形状をそれぞれ簡略化して同時に表示すると、経路同士が重なっている場合にはその重複部分が見えづらい場合がある。そのため、要約地図において道路形状が簡略化され複数の互いに重複している経路について、その重複部分で各経路が判別できるように表示できる装置が求められている。
【課題を解決するための手段】
【0005】
請求項1の発明によるナビゲーション装置は、出発地から目的地まで複数の経路を探索する経路探索手段と、経路探索手段により探索された複数の経路の地図を表示モニタに表示する地図表示制御手段とを備え、地図表示制御手段は、複数の経路のうちいずれか2以上の経路が同一の道路を重複して通っている場合、その重複部分をずらして表示するものである。
請求項2の発明は、請求項1のナビゲーション装置において、地図表示制御手段は、重複部分をずらして表示するとき、元の形状を維持したままで、重複している各経路の全体をずらすものである。
請求項3の発明は、請求項2のナビゲーション装置において、地図表示制御手段は、重複している各経路の重心座標に基づいて、その各経路に対するずらし幅をそれぞれ設定するものである。
請求項4の発明は、請求項1のナビゲーション装置において、地図表示制御手段は、重複部分をずらして表示するとき、その重複部分以外をずらさないで、重複している各経路の一部分のみをずらすものである。
請求項5の発明は、請求項4のナビゲーション装置において、地図表示制御手段は、重複している各経路における重複部分からの流出角度または重複部分への流入角度に基づいて、その各経路に対するずらし幅をそれぞれ設定するものである。
請求項6の発明は、請求項1〜5のいずれかのナビゲーション装置において、地図表示制御手段は、重複部分をずらして表示するとき、予め定められた所定幅単位で各経路をずらすものである。
請求項7の発明による地図データ配信装置は、出発地から目的地まで複数の経路を探索する経路探索手段と、経路探索手段により探索された複数の経路の地図を表示するための表示用データを作成するデータ作成手段と、データ作成手段により作成された表示用データを外部へ配信するデータ配信手段とを備え、データ作成手段は、複数の経路のうちいずれか2以上の経路が同一の道路を重複して通っている場合、その重複部分をずらして表示用データを作成するものである。
請求項8の発明は、請求項7の地図データ配信装置において、データ作成手段は、重複部分をずらして表示用データを作成するとき、元の形状を維持したままで、重複している各経路の全体をずらすものである。
請求項9の発明は、請求項8の地図データ配信装置において、データ作成手段は、重複している各経路の重心座標に基づいて、その各経路に対するずらし幅をそれぞれ設定するものである。
請求項10の発明は、請求項7の地図データ配信装置において、データ作成手段は、重複部分をずらして表示用データを作成するとき、その重複部分以外をずらさないで、重複している各経路の一部分のみをずらすものである。
請求項11の発明は、請求項10の地図データ配信装置において、データ作成手段は、重複している各経路における重複部分からの流出角度または重複部分への流入角度に基づいて、その各経路に対するずらし幅をそれぞれ設定するものである。
請求項12の発明は、請求項7〜11のいずれかの地図データ配信装置において、データ作成手段は、重複部分をずらして表示するとき、予め定められた所定幅単位で各経路をずらすものである。
請求項13の発明による地図データ配信システムは、請求項7〜12のいずれかの地図データ配信装置と、表示用データを受信して複数の経路の地図を表示する地図表示装置とを有するものである。
【発明の効果】
【0006】
本発明によれば、探索された複数の経路のうちいずれか2以上の経路が同一の道路を重複して通っている場合、その重複部分をずらして表示することとした。このようにしたので、要約地図において道路形状が簡略化された複数の互いに重複している経路について、その重複部分で各経路が判別できるように表示することができる。
【発明を実施するための最良の形態】
【0007】
−第1の実施形態−
本発明の一実施形態によるナビゲーション装置の構成を図1に示す。このナビゲーション装置は車両に搭載されており、設定された目的地までの経路を複数探索して、各経路の全体について通常の地図を基に道路形状などを簡略化することにより、通常の地図を要約した地図(以下、要約地図という)を作成して表示する。そして、表示した複数の経路のうち1つをユーザに選択させ、その経路を推奨経路として自車両を目的地まで案内する。図1に示すナビゲーション装置1は、制御回路11、ROM12、RAM13、現在地検出装置14、画像メモリ15、表示モニタ16、入力装置17、およびディスクドライブ18を有している。ディスクドライブ18には、地図データが記録されたDVD−ROM19が装填される。
【0008】
制御回路11は、マイクロプロセッサおよびその周辺回路からなり、RAM13を作業エリアとしてROM12に格納された制御プログラムを実行することにより、各種の処理や制御を行う。この制御回路11において後で説明するような処理を実行することによって、設定された目的地に対してDVD−ROM19に記録された地図データに基づいて複数の経路が探索され、各経路の全体について要約地図が作成されて、それぞれ表示モニタ16に表示される。
【0009】
現在地検出装置14は、自車両の現在地を検出する装置であり、たとえば、自車両の進行方位を検出する振動ジャイロ14a、車速を検出する車速センサ14b、GPS衛星からのGPS信号を検出するGPSセンサ14c等からなる。ナビゲーション装置1は、この現在地検出装置14により検出された自車両の現在地に基づいて、推奨経路を探索するときの経路探索開始点を決定することができる。
【0010】
画像メモリ15は、表示モニタ16に表示するための画像データを一時的に格納する。この画像データは、要約地図を画像表示するための道路地図描画用データや各種の図形データ等からなり、制御回路11において、DVD−ROM19に記録されている地図データに基づいて作成される。この画像メモリ15に格納された画像データを用いて、各経路の全体の要約地図が表示モニタ16に表示される。
【0011】
入力装置17は、ユーザが目的地の設定などを行うための各種入力スイッチを有し、これは操作パネルやリモコンなどによって実現される。ユーザは、表示モニタ16に表示される画面指示に従って入力装置17を操作することにより、地名や地図上の位置を指定して目的地を設定し、その目的地までの経路探索をナビゲーション装置1に開始させることができる。
【0012】
ディスクドライブ18は、要約地図を作成するために用いられる地図データを、装填されたDVD−ROM19より読み出す。なお、ここではDVD−ROMを用いた例について説明しているが、DVD−ROM以外の他の記録メディア、たとえばCD−ROMやハードディスクなどより、地図データを読み出すこととしてもよい。この地図データには、複数の経路を演算するために用いられる経路計算データや、交差点名称、道路名称など、ユーザに選択された推奨経路に従って自車両を目的地まで案内するために用いられる経路誘導データ、道路を表す道路データ、さらには海岸線や河川、鉄道、地図上の各種施設(ランドマーク)など、道路以外の地図形状を表す背景データなどが含まれている。
【0013】
道路データにおいて、道路区間を表す最小単位はリンクと呼ばれている。すなわち、各道路は所定の道路区間ごとに設定された複数のリンクによって構成されている。なお、リンクによって設定される道路区間の長さは異なっており、リンクの長さは一定ではない。リンク同士を接続している点はノードと呼ばれ、このノードはそれぞれに位置情報(座標情報)を有している。また、リンク内にはノードとノードの間に形状補間点と呼ばれる点が設定されていることもある。形状補間点もノードと同じく、それぞれに位置情報(座標情報)を有している。このノードと形状補間点の位置情報によって、リンク形状、すなわち道路の形状が決定される。経路計算データには、上記の各リンクに対応して、自車両の通過所要時間を表すためのリンクコストと呼ばれる値が設定されている。
【0014】
前述のように入力装置17におけるユーザの操作によって目的地が設定されると、制御回路11において図2に示すフローチャートが実行される。これにより、現在地検出装置14により検出された現在地を経路探索開始点として、設定された目的地までの経路演算が経路計算データに基づいて所定のアルゴリズムにより行われ、目的地までの複数の経路が求められる。そして、こうして求められた各経路の全体の要約地図が道路データに基づいて作成され、表示モニタ16に表示される。
【0015】
図2のフローチャートについて以下に説明する。ステップS100では、ユーザに入力された目的地により、経路探索の目的地を設定する。ステップS200では、経路探索開始点である自車両の現在地から、ステップS100において設定された目的地まで、複数の経路を探索する。このとき、前述したように経路計算データに基づいて所定のアルゴリズムにより経路演算が行われる。なお、自車両の現在地は現在地検出装置14によって一定時間ごとに求められる。
【0016】
なお、ステップS200では複数の経路を探索するために、様々な経路探索条件によって経路探索を行う。たとえば、有料道路優先や一般道路優先、距離優先などの経路探索条件によって経路探索を行い、それぞれの条件で最適な経路を求めることにより、複数の経路を探索する。あるいは、1つの経路探索条件によって最適経路以外の経路も探索することで、複数の経路を探索するようにしてもよい。たとえば、目的地までのリンクコストの合計が最も小さいものを最適経路とし、さらにその最適経路とリンクコストの合計の差が所定値以内である経路も含めて経路探索結果を求めることにより、1つの経路探索条件で複数の経路を探索することができる。
【0017】
ステップS300では、ステップS200で探索された各経路に対して、要約地図作成処理を実行する。このときの処理内容については、後で詳しく説明する。この要約地図作成処理によって、各経路の全体、すなわち現在地から目的地までを表す要約地図が作成される。
【0018】
ステップS400では、経路シフト処理を実行する。ここでは、ステップS300で作成された要約地図において、探索された複数の経路のうちいずれか2以上の経路が同一の道路を重複して通っている場合に、その重複部分をそれぞれの経路が判別できるような表示形態で描画する処理を行う。具体的には、その重複部分の描画位置をずらす(シフトする)ことにより、各経路を判別できるようにする。なお、この経路シフト処理の具体的な内容は後で詳しく説明する。
【0019】
ステップS500では、ステップS300において作成され、さらにステップS400において重複部分の描画位置がずらされた各経路の要約地図を、表示モニタ16に表示する。このとき、出発地と目的地にはそれぞれ出発地マークと目的地マークを表示する。ステップS500を実行した後は、図2のフローチャートを終了する。以上説明したようにして、目的地までの複数の経路が探索され、各経路の全体の要約地図が表示モニタ16に重複部分をずらして表示される。
【0020】
図2のフローチャートの処理を実行して各経路の全体の要約地図を表示モニタ16に表示したら、その後ナビゲーション装置1は、各経路のうち1つをユーザに選択するように指示する。ユーザが入力装置17を操作することによっていずれかの経路を選択すると、選択された経路を推奨経路に設定して、現在地の周辺の道路地図上を表示してその上に推奨経路を示す。そして、この推奨経路に従って自車両を誘導し、目的地まで案内する。なお、このとき現在地周辺の道路地図として、通常の地図と要約地図のどちらを表示してもよい。このときの要約地図も、図2のフローチャートと同様の処理によって作成することができる。
【0021】
図3は、通常の要約前の地図と、図2のフローチャートの処理を実行することによって表示された要約地図とを示したものである。(a)に示す要約前の地図には、現在地61から目的地62までをつなぐ3つの経路R1、R2およびR3が示されている。この経路R1〜R3に対して図2のフローチャートの処理を実行することにより、(b)の要約地図が表示される。この要約地図では、経路R1〜R3の道路形状がそれぞれ簡略化されていることが分かる。こうして各経路の要約地図を表示した後、いずれか選択された経路を推奨経路として、現在地61から目的地62まで自車両を案内する。
【0022】
次に、ステップS300において実行される要約地図作成処理の内容について説明する。要約地図作成処理では、方向量子化処理と呼ばれる処理を実行することによって各経路の道路形状を簡略化することにより、各経路の要約地図を作成する。この方向量子化処理について、以下に説明する。
【0023】
方向量子化処理では、各経路のリンクをそれぞれ所定の分割数で分割した上で、道路形状の簡略化を行う。図4および図5は、いずれもこの方向量子化処理の内容を説明するための詳細説明図であり、図4ではリンク分割数が2(2分割)の場合について、また図5ではリンク分割数が4(4分割)の場合について、それぞれの方向量子化処理の内容を図示している。以下、図4に示す2分割の場合より先に説明を行う。
【0024】
図4(a)の符号30は、探索された経路に含まれているリンクの1つを例示している。このリンク30に対して、(b)に示すように、その両端点の間を結ぶ線分31から最も遠くにあるリンク30上の点32を選択する。なお、ここで選択される点32は前述の形状補間点に相当し、両端点はノードに相当する。
【0025】
上記のような点32が求められたら、次に(c)に示すように、リンク30の両端点のそれぞれと点32とを結ぶ線分33および34を設定する。この線分33と34がそれぞれの基準線に対してなす角度をθ1およびθ2と表す。なお、ここでいう基準線とは、リンク30の両端点から予め決められた所定の方向(たとえば、真北方向)に向かって、それぞれ延びている線のことである。(c)に示すように、一方の端点からの基準線と線分33によって挟まれている部分の角度が、θ1と表される。また、もう一方の端点からの基準線と線分34によって挟まれている部分の角度が、θ2と表される。
【0026】
上記のようにして点32とリンク30の両端点とをそれぞれ結ぶ線分33、34が設定されたら、次に(d)に示すように、この線分33と34の方向をそれぞれ量子化する。ここでいう方向の量子化とは、前述の角度θ1およびθ2が予め設定された単位角度の整数倍にそれぞれなるように、線分33と34を各端点を中心にしてそれぞれ回転させることをいう。すなわち、θ1=m・Δθ、θ2=n・Δθ(n、mは整数)となるように、線分33と34をそれぞれ回転させてθ1とθ2の値を補正する。上記の式においてmとnの値は、この式によって計算される補正後のθ1とθ2がそれぞれ元の値に最も近くなるように設定される。
【0027】
以上説明したように線分33と34の方向をそれぞれ量子化すると、線分33と34が基準線となす角度θ1およびθ2が、単位角度Δθ刻みで補正される。なお図4(d)では、Δθ=15°としている。そして、θ1についてはm=6と設定して補正後の角度を90°にし、θ2についてはn=0と設定して補正後の角度を0°にした例を図示している。
【0028】
こうして線分33と34の方向をそれぞれ量子化したら、次に線分33と34をそれぞれ延長したときの交点を求める。そして、その交点と各端点とを結ぶようにして、(d)に示すように、線分33と34の長さをそれぞれ補正する。
【0029】
以上説明したようにして、線分33と34を求め、これらの方向を量子化すると共に長さを補正することによって、リンク30に対する2分割の場合の方向量子化処理が行われる。この線分33と34をリンク30の代わりに用いることで、リンク30の形状を簡略化して表すことができる。このとき、リンク30の両端点の位置が固定された状態でリンク30の形状が簡略化されるため、隣接するリンクの位置には影響を及ぼさない。したがって、方向量子化処理を用いて経路の各リンク形状をそれぞれ簡略化することにより、経路の全体的な位置関係を保ちつつ、その道路形状を容易に簡略化することができる。
【0030】
次に、4分割の場合の方向量子化処理について説明する。図5(a)の符号40は、図4(a)と同様に、探索された経路に含まれているリンクの1つを例示している。このリンク40に対して、(b)に示すように、まずその両端点の間を結ぶ線分41aから最も遠くにあるリンク40上の点42aを選択する。次に、その点42aとリンク40の各端点とをそれぞれ結ぶ線分41bおよび41cを設定し、この線分41bと41cからそれぞれ最も遠く離れた位置にあるリンク40上の点42bおよび42cを選択する。なお、ここで選択される点42a〜42cは、いずれも2分割の場合と同様に前述のノードまたは形状補間点に相当する。
【0031】
上記のような点42a〜42cが求められたら、次に(c)に示すように、2分割の場合と同様にして、リンク40の各端点と点42a〜42cとをそれぞれ順に結ぶ線分43、44、45および46を設定する。この線分43〜46がそれぞれの基準線に対してなす角度を、θ3、θ4、θ5およびθ6と表す。なお、このときの基準線はリンク40の両端点に対して定められるだけでなく、点42a〜42cのうち真ん中に位置する最初に選択された点42aに対しても定められる。
【0032】
上記のようにして線分43〜46が設定されたら、次に(d)に示すように、各線分の方向をそれぞれ量子化する。このとき、点42aを保存点として、線分44と45はこの保存点42aを中心にそれぞれ回転させる。なお、線分43と46については、2分割の場合と同様に各端点を中心にそれぞれ回転させる。ここでは、Δθ=15°と予め設定し、θ3〜θ6の補正後の角度をそれぞれ60°、45°、180°および60°とした例を図示している。
【0033】
こうして線分43〜46の方向をそれぞれ量子化したら、次に線分43と44をそれぞれ延長したときの交点と、線分45と46をそれぞれ延長したときの交点とを求める。そして、各交点と各端点または保存点42aとを結ぶようにして、(d)に示すように、線分43〜46の長さをそれぞれ補正する。
【0034】
以上説明したようにして、線分43〜46を求め、これらの方向を量子化すると共に長さを補正することによって、リンク40に対する4分割の場合の方向量子化処理が行われる。この線分43〜46をリンク40の代わりに用いることで、リンク40の形状を簡略化して表すことができる。このとき、リンク40の両端点の位置に加えて、さらに保存点42aの位置も固定された状態で、リンク40の形状が簡略化される。したがって、複雑な形状のリンクによって構成されている経路に対しても、その全体的な位置関係を保ちつつ適切に道路形状を簡略化することができる。
【0035】
なお、上記では2分割と4分割の場合の方向量子化処理について説明したが、これ以外の分割数についても同様にして方向量子化処理を実行することができる。たとえば8分割の場合には、まず4分割の場合と同様に、リンクの両端点の間を結ぶ線分から最も遠い1点と、その点と両端点とを結ぶ2つの線分からそれぞれ最も遠い2点を選択する。その後、さらにこれらの3点に両端点を加えた各点間を結ぶ4つの線分からそれぞれ最も遠い4点を選択する。こうして選択された合計7点と両端点とを順に結ぶ8つの線分を求め、これらの線分に対して前述したような方向の量子化と長さの補正を行うことによって、8分割の方向量子化処理を行うことができる。
【0036】
方向量子化処理の分割数をいくつにするかは、予め設定しておいてもよいし、あるいはリンクの形状によって判断してもよい。たとえば、上記のようにして両端点またはそれまでに選択された点の間を結ぶ各線分から最も遠い点を順次選択していくとき、すなわち図4および5の(b)で説明した処理を繰り返していくときに、各線分から最も遠い点までの距離が所定値以下となるまで処理を繰り返して、その処理回数に応じた数の点を順次選択していく。このようにすれば、リンクの形状によって方向量子化処理の分割数を決めることができる。
【0037】
図4で説明した2分割の方向量子化処理において、方向を量子化した後に線分33と34をそれぞれ延長しても、適切な交点がない場合がある。すなわち、方向を量子化した後の線分33と34が平行となっている場合には、これらの線分を延長すると両者が一体化してリンク33の両端点を結ぶ1つの線分となるため、交点が存在しないこととなる。このような場合には、その両端点を直接結ぶ線分、すなわち線分31を用いて、リンク30の形状を簡略化して表すようにすればよい。また、図5で説明した4分割の方向量子化処理や、それ以上の分割数の方向量子化処理において、同様に方向を量子化した後に各線分を延長すると適切な交点がない場合には、それよりも分割数が少ない方向量子化処理を行うようにすればよい。
【0038】
以上説明したような方向量子化処理を各経路の全てのリンクに対して順次実行していくことにより、各経路の道路形状を簡略化して要約地図を作成することができる。なお、リンク単位ではなく、リンクを複数連ねて構成されるリンク列ごとに上記のような方向量子化処理を実行するようにしてもよい。この場合、図4の点32や図5の点42a〜42cとして選択される点には、形状補間点だけでなくノードも含まれることになる。
【0039】
または、ステップS300の要約地図作成処理において、上記の方向量子化処理を実行せずに各経路の道路形状を簡略化することもできる。ここでは、各リンク形状を曲線で近似することによって各経路の道路形状を簡略化する方法を、図6を参照して説明する。
【0040】
図6(a)には、探索された経路に含まれるリンクの一部として、リンク50、51および52を例示している。これらのリンク50〜52に対して、まず(b)に示すように各リンクの両端点において量子化したリンク方向を求める。ここでは、前述の方向量子化処理において各線分の方向の量子化を行ったのと同様にして、元の角度に最も近くて単位角度の整数倍となるようなリンク方向を求める。その結果、(b)において矢印で示されているようなリンク方向が各端点に対して求められる。
【0041】
次に、(c)に示すように各端点の間を結ぶ曲線53、54および55を求めることにより、各リンクの形状を曲線近似する。このとき、各曲線の端点付近における接線の方向が上記の量子化したリンク方向と一致するように、曲線53〜55の形状がそれぞれ決定される。なお、このような曲線を求める方法としては、たとえばスプライン関数を用いたスプライン近似などがあるが、ここでは詳細な説明は省略する。
【0042】
以上説明したような処理を各経路の全てのリンクに対して順次実行していき、求められた曲線を用いて道路形状を表すことにより、各経路の道路形状を簡略化して要約地図を作成することができる。このときも方向量子化処理の場合と同様に、各リンクの両端点の位置が固定された状態で各リンクの形状が簡略化される。したがってこの場合にも、経路の全体的な位置関係を保ちつつ、その道路形状を容易に簡略化することができる。
【0043】
上記の方向量子化処理によって経路ネットワークデータを変更する様子を図7に示す。ここでいう経路ネットワークデータとは、図2のステップS200で探索された経路を表すために、地図データに基づいて作成されるデータである。方向量子化処理では、この経路ネットワークデータの内容を変更することによって、道路形状を簡略化する。
【0044】
図7(a)は入力データ、すなわち要約前の経路ネットワークデータにより表される経路R1、R2およびR3を示している。図中の四角形はノードを、黒丸は補間点(形状補間点)を、実線はリンクをそれぞれ表している。また、矢印は経路の進行方向を表している。なお、破線は非経路リンクを表しており、これは方向量子化処理において入力対象とされない。このような入力データに基づいて、要約前にまず(b)に示すような内部データを設定する。この内部データを設定する際には、各経路のリンクを統合して分岐点をノードとする。すなわち、分岐点以外にあるノード(始点と終点を除く)を補間点に置き換える。
【0045】
(b)の内部データに対して上記の方向量子化処理を実行することにより、(c)に示すような出力データが要約地図として得られる。この出力データでは、ノードの位置は変化せず、補間点の位置のみが変化している。なお、リンク形状が変化しない部分にある余分な補間点は間引きされている。このようにして、方向量子化処理によって経路ネットワークデータが変更される。
【0046】
図8は、経路ネットワークデータの表現形式の例を示している。経路ネットワークデータでは、ノードデータ、リンクデータ、および経路データによって各経路を表している。(a)は、経路中の各ノードに対してそれぞれ設定されているノードデータの表現形式の例である。このノードデータには、ノードIDと座標が含まれている。ノードIDは、各ノードに固有に割り振られており、これによってそのノードが特定される。座標は、そのノードの地図上の位置を示している。(a)には例として、ノードIDがN1であり、座標値が(X1,Y1)であるノードデータを示している。
【0047】
(b)は、経路中の各リンクに対してそれぞれ設定されているリンクデータの表現形式の例である。このリンクデータには、リンクID、始点ノードID、終点ノードID、補間点数および補間点情報が含まれている。リンクIDは、各リンクに固有に割り振られており、これによってそのリンクが特定される。始点ノードIDと終点ノードIDは、そのリンクの始点と終点のノードIDを表しており、前述のノードデータにおいて同じノードIDのものを参照することで、始点と終点の座標を特定することができる。補間点数は、そのリンクに含まれる補間点の合計数を表しており、補間点情報は、そのリンクに含まれる各補間点の座標を表している。(b)には例として、リンクIDがL1、始点ノードIDがN1、終点ノードIDがN2、補間点数がpであり、合計p個の補間点に対して、その補間点情報として座標値(x1,y1)から(xp,yp)までが設定されたリンクデータを示している。なお、補間点数と補間点情報は、上記の方向量子化処理の結果によってその内容が変更される。
【0048】
(c)は、各経路に対してそれぞれ設定されている経路データの表現形式の例である。この経路データには、経路ID、経路リンク数および経路リンク情報が含まれている。経路IDは、各経路に固有に割り振られており、これによってその経路が特定される。経路リンク数は、その経路に含まれるリンクの合計数を表しており、経路リンク情報は、その経路に含まれる各リンクのリンクIDを表している。前述のリンクデータから同じリンクIDのものを参照することで、経路中のリンクの位置や形状を特定することができる。なお、経路リンク情報には、各リンクIDに対して経路の進行方向との関係を示すための方向フラグも設定される。この方向フラグは、リンクIDの登録順序を経路の進行方向に一致させることで省略してもよい。(c)には例として、経路IDがR1、経路リンク数がnであり、合計n個の経路リンクに対する経路リンク情報として、リンクIDがL1からLnまで設定された経路データを示している。
【0049】
次に、ステップS400において実行される経路シフト処理について説明する。ここでは、ステップS300の要約地図作成処理によって道路形状が簡略化された各経路について、図9に示すフローチャートを実行することで、元の形状を維持したままで重複している各経路の全体をずらす。以下、図9のフローチャートについて説明する。
【0050】
ステップS401では、ステップS300で作成された要約地図の各経路について、それぞれの重心の座標を求める。たとえば、いずれかの経路の重心座標を(xg,yg)と表すこととすると、その座標値は以下の式(1)によって算出することができる。
【0051】
【数1】
【0052】
式(1)において、(xi,yi)はその経路を構成する各点の座標値を表しており、nはその点の数を表している。iは1からnまでの整数値のいずれかである。すなわち、式(1)によって経路を構成する各点の座標値の平均値が計算され、その平均値によって経路の重心座標(xg,yg)が表される。このように、各点の位置に応じて重み付けを行って、経路の重心の座標値を求める。
【0053】
式(1)により経路の重心座標を求める様子を、図10に示す例を用いて説明する。経路R1は、始点(x1,y1)から終点(x10,y10)までの間に計8個の補間点を有している。これらの補間点の座標値を、始点に近いほうから順に(x2,y2)、(x3,y3)、・・・、(x9,y9)とすると、重心G1の座標値(xg,yg)は式(1)を用いて次のように計算される。
xg=(x1+x2+x3+x4+x5+x6+x7+x8+x9+x10)/10
yg=(y1+y2+y3+y4+y5+y6+y7+y8+y9+y10)/10
【0054】
あるいは、上記の式(1)に替えて、以下の式(2)により経路の重心の座標値を求めてもよい。
【0055】
【数2】
【0056】
式(2)において、liはその経路を構成する各点間をそれぞれ結ぶ線分の長さを表しており、Lは経路全体の長さを表している。すなわち、式(2)によって経路を構成する各線分の中点の座標値がそれぞれ計算され、その中点の座標値に対して当該線分の経路全体に対する長さの割合を乗じたものを合計した値によって、経路の重心座標(xg,yg)が表される。このように、各線分の長さに応じて重み付けを行って、経路の重心の座標値を求める。
【0057】
図10の例において、経路R1の各点(始点、終点および補間点)の間をそれぞれ結ぶ線分の長さを、始点に近いほうから順にl1、l2、・・・l9とすると、このときの重心G1の座標値(xg,yg)は式(2)を用いて次のように計算される。なお、L=l1+l2+l3+l4+l5+l6+l7+l8+l9+l10である。
xg={l1(x1+x2)+l2(x2+x3)+・・・+l9(x9+x10)}/2L
yg={l1(y1+y2)+l2(y2+y3)+・・・+l9(y9+y10)}/2L
【0058】
以上説明したのと同様にして、全ての経路について、その重心の座標値をステップS401において算出する。
【0059】
次のステップS402では、ステップS401で求められた各経路の重心のx座標値とy座標値を、その大きさの順にそれぞれ並べる。ステップS403では、ステップS402で並べられた大きさの順にしたがって、重心のx座標値の小さい経路から順に、その経路に対するx座標のシフト量を設定する。重心のx座標値が最も小さい経路に対しては、x座標のシフト量を0とし、次に小さい経路に対しては、x座標のシフト量を所定値dxとし、その次に小さい経路に対しては、x座標のシフト量を2dxとする。ここでdxの大きさは予め定められており、たとえば経路の表示線幅をwとすると、dx=w/2と定めることができる。同様にして全ての経路に対して、その重心のx座標値が小さい経路から順に、dxずつ大きなx座標のシフト量を設定していく。
【0060】
ステップS404では、ステップS403と同様の処理をy座標のシフト量に対して行う。すなわち、ステップS402で並べられた大きさの順にしたがって、重心のy座標値の小さい経路から順に、その経路に対するy座標のシフト量を0、dy、2dy、・・・と順に、所定値dyずつ大きな値で設定する。なお、dyの大きさは予め定められており、前述のdxと同様に、たとえば経路の表示線幅をwとすると、dy=w/2と定めることができる。以上説明したようにして、重複している各経路の重心座標に基づいて、各経路に対するずらし幅をそれぞれ設定する。
【0061】
ステップS405では、ステップS403およびS404において設定されたx座標とy座標のシフト量に従って、各経路をそれぞれ構成する各点の位置を移動する。これにより、元の形状を維持したままで、各経路の全体の描画位置をシフトする。
【0062】
図11は、設定されたシフト量に従って各経路の描画位置を画面上でシフトする様子を示した図である。たとえば図11の例に示すように、経路R3の重心G3よりも、経路R2の重心G2の方がそのx座標値とy座標値がともに大きく、さらにこれらの重心よりも、経路R1の重心G1の方がそのx座標値とy座標値がともに大きいとする。この場合、重心のx座標値およびy座標値がともに最も小さい経路R3に対しては、ステップS403およびS404において、x座標とy座標のシフト量にともに0が設定される。したがって、ステップS405において経路R3の描画位置は移動されない。
【0063】
重心のx座標値およびy座標値が経路R3の次に小さい経路R2に対しては、ステップS403およびS404において、x座標のシフト量dxとy座標のシフト量dyがそれぞれ設定される。また、重心のx座標値およびy座標値が最も大きい経路R1に対しては、ステップS403およびS404において、x座標のシフト量2dxとy座標のシフト量2dyがそれぞれ設定される。そしてステップS405において、これらのシフト量の分だけ、経路R1とR2の描画位置がx方向すなわち画面横方向と、y方向すなわち画面縦方向とにそれぞれ移動される。こうして各経路の重心位置に応じてシフト量を設定することで、元々ずれている経路が近づく方向にはシフトしないようにすることができる。
【0064】
以上説明したようにしてステップS405を実行したら、図9の処理フローを終了する。これにより、図2のステップS400の経路シフト処理が完了する。
【0065】
図12は、経路シフト処理の前後における各経路の描画位置の変化の様子を表した図である。(a)は経路シフト処理前、すなわちステップS300の要約地図作成処理後の各経路を表しており、(b)は経路シフト処理後の各経路を表している。(a)に対して(b)では、経路R1と経路R2が前述の経路シフト処理によって設定されたシフト量に応じて、それぞれ描画位置がシフトされている。経路の表示線幅wに対してdx=dy=w/2と定められており、経路R2は、dxすなわち経路の表示線幅の半分だけx方向とy方向にそれぞれシフトされ、経路R1は、2dxすなわち経路の表示線幅分だけx方向とy方向にそれぞれシフトされている。このようにして、予め定められた所定幅単位で各経路をずらす。なお、経路R3についてはシフト量が0に設定されているため、描画位置がシフトされていない。
【0066】
以上説明した第1の実施の形態によれば、次の作用効果が得られる。
(1)探索された複数の経路のうちいずれか2以上の経路が同一の道路を重複して通っている場合、その重複部分をずらして表示することとした。このようにしたので、複数の経路を地図上に同時に表示する際に、重複している部分を見やすく表示することができる。特に、要約地図において道路形状が簡略化された複数の互いに重複している経路について、その重複部分で各経路が判別できるように表示することができる。
【0067】
(2)重複部分をずらして表示するとき、元の形状を維持したままで各経路の全体をずらすこととした。このようにしたので、簡単な処理により重複部分をずらして表示することができる。
【0068】
(3)重複している各経路の重心座標に基づいて、その各経路に対するずらし幅をそれぞれ設定することとした。このようにしたので、簡単な処理により、重複部分をずらして表示するときのずらし幅を設定することができる。
【0069】
(4)予め定められた所定幅単位で各経路をずらすこととしたので、三つ以上の経路が重複している場合でも、各経路をそれぞれ見やすく表示することができる。
【0070】
−第2の実施形態−
本発明の第2の実施の形態について説明する。本実施形態によるナビゲーション装置では、上記の第1の実施形態で説明したのとは異なる方法で経路シフト処理を行い、各経路の描画位置をシフトする。これにより、作成された要約地図に対して、2つ以上の経路が重なっている部分をそれぞれの経路が判別できるような表示形態で描画する。なお、本実施形態によるナビゲーション装置の構成は、図1に示す第1の実施の形態のものと同じである。また、本実施形態によるナビゲーション装置において目的地設定の際に実行される処理のフローチャートは、図2に示す第1の実施の形態のものと同じである。
【0071】
図13は、第1の実施形態における経路シフト処理の方法を用いたときの問題点を説明するための図である。たとえば、経路シフト処理前の各経路が(a)に示すような状態であったとすると、上述した第1の実施形態における経路シフト処理方法によって、(b)に示すように各経路の描画位置が画面上でシフトされる。このとき、異なる経路の符号66に示す部分と符号67に示す部分は、(a)では互いに離れていたものが(b)では近づいている。したがってこの部分については、実際は互いに離れた別の道路を通っているにも関わらず、元々は重なっていたのが経路シフト処理によってシフトされたものであるように見えてしまう。第1の実施形態における経路シフト処理方法では、このような問題が生じる可能性がある。
【0072】
以上説明したような問題を回避するため、本実施形態における経路シフト処理では、図2のステップS400において、既に第1の実施の形態で説明した図9のフローチャートに替えて、図14に示すフローチャートを実行する。これにより、ステップS300の要約地図作成処理によって道路形状が簡略化された各経路について、その重複部分以外をずらさないで、重複している各経路の一部分のみをずらすようにする。以下、図14のフローチャートについて説明する。
【0073】
ステップS410では、経路ネットワークデータの初期化を行う。ここで初期化する経路ネットワークデータは、要約地図作成処理によって道路形状が簡略化された後のものである。この要約後の経路ネットワークデータについて、ステップS410では各経路上の補間点を全てノードとして扱う。そして、その各ノード間をつなぐリンクのそれぞれに対して、いくつの経路が重なっているかをあらわすリンク重複度を設定する。このようにして、経路ネットワークデータの初期化を行う。
【0074】
ステップS410における経路ネットワークデータの初期化の様子を、図18に示す例を用いて説明する。(a)には入力データ、すなわちステップS300の要約地図作成処理において作成された経路ネットワークデータにより表される経路R1、R2およびR3を示している。この入力データでは、各経路の図示する位置にノードn1〜n6と補間点s1〜s6がそれぞれ配置されているものとする。ノードn1は出発地(現在地)に該当し、ここからノードn2を経由して、ノードn3、n5またはn6まで各経路が続いている。ノードn1とn2の間をつなぐリンクは、経路R1、R2およびR3に共通に用いられている。また、ノードn2とn4の間をつなぐリンクは、経路R2とR3に共通に用いられている。
【0075】
(b)は、(a)の入力データにおける補間点をノードへ置換した様子を示している。これにより、補間点s1〜s6がノードn11〜n16にそれぞれ置換される。(c)は、(b)における各ノード、すなわち元のノードn1〜n6に、補間点から置換されたノードn11〜n16を加えた各ノードの間を互いにつなぐリンクのそれぞれに対して、リンク重複度を設定した様子を示している。たとえばノードn1とn11の間のリンクに対しては、経路R1、R2およびR3が重複しているため、リンク重複度に3を設定する。このようにして各リンクに対してリンク重複度を設定することで、経路ネットワークデータの初期化を行う。
【0076】
上記のようにして経路ネットワークデータの初期化を行った後には、初期化前とは異なる表現形式が用いられる。図19は、初期化した後の経路ネットワークデータの表現形式の例を示している。(a)のノードデータと(c)の経路データについては、図8に示す初期化前の表現形式と同じである。
【0077】
(b)のリンクデータには、初期化前と同じリンクID、始点ノードIDおよび終点ノードIDに加えて、リンクIDの初期値と、重複度が含まれている。リンクIDの初期値は、初期化した直後のリンクIDを表している。これは、後で説明するように、ステップS440のリンクシフト処理において新たにコピーリンクが生成された場合、その元になったリンクを判別できるようにするために設定されている。なお、新たに生成されたコピーリンクに対しては、新たなリンクIDが設定されるとともに、元となったリンクのリンクIDが初期値として設定される。重複度は、前述したリンク重複度を表している。
【0078】
なお、図18で説明したように、初期化後の経路ネットワークデータでは補間点が全てノードに置き換えられている。そのため(b)のリンクデータには、図8に示す初期化前の表現形式とは異なり、補間点数と補間点情報が含まれていない。その代わりに、経路リンク参照情報が含まれている。これは、そのリンクが含まれている経路の経路IDと、その経路において当該リンクが始点から何番目のリンクに当たるかを示す経路リンク番号とを表している。重複度がmであれば、経路リンク参照情報にはm組の経路IDと経路リンク番号が含まれている。
【0079】
図14のステップS420では、ステップS410で初期化した経路ネットワークデータに対して、先頭のリンク、すなわち出発地に近い側のリンクから順に選択する。図18の例では、ノードn1とn11の間のリンクから順に選択する。ステップS430では、ステップS420で選択したリンクについて、設定されているリンク重複度の値が1より大きいか否かを判定する。1より大きい場合はステップS440へ進む。1より大きくない場合、すなわちリンク重複度の値が1である場合は、ステップS460へ進む。
【0080】
ステップS440では、ステップS430においてリンク重複度が1より大きいと判定したリンクについて、図15のフローチャートに示すリンクシフト処理を実行する。このリンクシフト処理により、当該リンクにおいて互いに重なっている複数の経路について、その重複部分の描画位置がそれぞれ画面上でシフトされる。なお、リンクシフト処理の内容の詳細については後で説明する。
【0081】
ステップS450では、ステップS440でリンクシフト処理を行った結果を反映して経路ネットワークデータの再構成を行う。すなわち、描画位置がシフトされた重複部分をそれぞれ別個のリンクとして表す。ステップS450を実行したらステップS420へ戻り、再構成後の経路ネットワークデータにおいて再び先頭のリンクから順に選択して、上記に説明したような処理を繰り返す。
【0082】
一方、ステップS430においてリンク重複度の値が1より大きくないと判定されてステップS460へ進んだ場合は、ステップS460において、現在選択しているリンクの次のリンクがあるか否かを判定する。次のリンクがある場合はステップS420へ戻り、そのリンクを選択して上記のような処理を繰り返す。次のリンクがない場合、すなわちステップS420において全てのリンクを選択済みである場合は、図14のフローチャートを終了する。以上説明したようにして、本実施形態における経路シフト処理を実行し、各経路の描画位置を画面上でシフトする。
【0083】
次に、ステップS440において実行されるリンクシフト処理について、図15に示すフローチャートにより説明する。ステップS441では、現在選択しているリンクが最後尾、すなわち目的地へと至るリンクであるか否かを判定する。最後尾のリンクであればステップS445へ進み、そうでなければステップS442へ進む。以下、ステップS442へ進んだ場合から先に説明する。
【0084】
ステップS442では、選択しているリンクに対する流出リンク数が1より大きいか否かを判定する。ここでいう流出リンクとは、出発地から目的地へ向かって経路を進むときに、対象とするリンクから先につながっているリンクの数を表している。すなわち、流出リンク数が1であれば、2つのリンクが一対一につながっていることになり、流出リンク数が2以上であれば、1つのリンクから複数のリンクが分岐していることになる。流出リンク数が1より大きい場合はステップS443へ進み、1より大きくない場合、すなわち流出リンク数が1である場合は、ステップS444へ進む。
【0085】
ステップS443では、選択しているリンクに対して、図16に示す分岐リンクシフト処理を実行する。この内容については後で説明する。ステップS443を実行したら図15のフローチャートを終了する。これにより、図14のステップS440においてリンクシフト処理が実行される。
【0086】
一方、ステップS444では、次の流出リンクを選択する。このとき、直前のステップS442で流出リンク数が1であると判定されているため、その1つの流出リンクが選択される。ステップS444において次の流出リンクを選択したら、ステップS441へ戻り、その流出リンクに対して前述したような処理を繰り返す。
【0087】
次に、ステップS442からステップS445へ進んだ場合について説明する。ステップS445では、選択しているリンクに対する流入リンク数が1より大きいか否かを判定する。ここでいう流入リンクとは、出発地から目的地へ向かって経路を進むときに、対象とするリンクの前につながっているリンクの数を表している。すなわち、流入リンク数が1であれば、2つのリンクが一対一につながっていることになり、流入リンク数が2以上であれば、複数のリンクから1つのリンクに合流していることになる。流入リンク数が1より大きい場合はステップS446へ進み、1より大きくない場合、すなわち流入リンク数が1である場合は、ステップS447へ進む。
【0088】
ステップS446では、選択しているリンクに対して、図17に示す合流リンクシフト処理を実行する。この内容については後で説明する。ステップS446を実行したら図15のフローチャートを終了する。これにより、図14のステップS440のリンクシフト処理が実行される。
【0089】
一方、ステップS447では、前の流入リンクを選択する。このとき、直前のステップS445で流入リンク数が1であると判定されているため、その1つの流入リンクが選択される。ステップS447において前の流入リンクを選択したら、次のステップS448ではその流入リンクが先頭のリンクであるか否かを判定する。先頭のリンクであればステップS449へ進み、そうでなければステップS445へ戻って、そのリンクに対して前述したような処理を繰り返す。
【0090】
ステップS449へ進んだ場合は、先頭から最後尾まで全てのリンクについて、流入リンク数および流出リンク数が1であることになる。言い換えると、複数の経路が出発地から目的地まで完全に重複していることになる。このような場合は、ステップS449において単純シフト処理を実行する。ここでいう単純シフト処理とは、第1の実施の形態において説明したような経路シフト処理の方法である。なお、ステップS449は省略してもよい。この場合には、出発地から目的地まで完全に重複している複数の経路は、要約地図において重複したまま表示されることになる。
【0091】
次に、ステップS443の分岐リンクシフト処理について、図16のフローチャートを用いて説明する。ステップS4431では、そのとき選択しているリンクの直進方向が各流出リンクとなす角度をそれぞれ求める。ステップS4432では、選択しているリンクの直進方向に最も近い経路、すなわち、ステップS4431で算出した角度が最も小さい流出リンクに対応する経路を、基準経路に設定する。
【0092】
ステップS4433では、選択しているリンクの進行方向に対して右折方向につながっている各流出リンクを、ステップS4431で算出した角度が小さい順に並べる。そして、後のステップS4435において各流出リンクに対応してそれぞれ生成される各コピーリンクのシフト幅を、dw、2dw・・・のようにdw刻みで設定する。なお、dwの大きさは予め定められており、たとえば経路の表示線幅をwとすると、dw=w/2と定めることができる。
【0093】
ステップS4434では、選択しているリンクの進行方向に対して左折方向につながっている各流出リンクについて、ステップS4433と同様の処理を行う。すなわち、各流出リンクをステップS4431で算出した角度が小さい順に並べ、ステップS4435において各流出リンクに対応してそれぞれ生成される各コピーリンクのシフト幅を、dw、2dw・・・のようにdw刻みで設定する。このようにして、ステップS4433およびS4434の処理により、重複している各経路における重複部分からの流出角度に基づいて、その各経路に対するずらし幅をそれぞれ設定する。
【0094】
ステップS4435では、選択しているリンクについて、流出リンクの数に応じて各流出リンクにそれぞれ対応するノード・リンクのコピーを生成する。このとき、流出リンク数よりも1つ少ない数だけコピーを生成する。これにより、選択しているリンクと同一のコピーリンクが、重複する経路の数に応じた分だけ生成される。そして、生成されたコピーリンクを各流出リンクにそれぞれ1つずつ対応付ける。この対応付けの情報は経路ネットワークデータに反映され、リンク同士の参照関係が更新される。
【0095】
ステップS4436では、ステップS4435において各流出リンクに対応付けられたコピーリンクのそれぞれの描画位置を、ステップS4433およびS4434で設定されたシフト幅に従って画面上でシフトする。ステップS4436を実行したら、図16のフローチャートを終了する。これにより、図15のステップS443において分岐リンクシフト処理が実行される。
【0096】
以上説明した分岐リンクシフト処理について、図20に具体例を示す。たとえば(a)に示すようなリンクL0、L1、L2およびL3が存在しているとする。リンクL0にはリンク重複度に3が設定されており、リンクL1〜L3にはリンク重複度に1が設定されている。各リンクの矢印は進行方向を表しており、リンクL1〜L3は、リンクL0の流出リンクに該当している。このときリンクL0が、分岐リンクシフト処理の対象として選択されたとする。
【0097】
初めに、図16のステップS4431において、リンクL0に対する流出リンクL1〜L3について角度計算を行う。このときリンクL0の矢印に示す進行方向を角度基準位置として、そこからの角度θ1、θ2およびθ3を(b)に示すように求める。するとθ2が一番小さいため、ステップS4432においてリンクL2に対応する経路が基準とされる。
【0098】
次に、ステップS4433において、リンクL3に対応付けられるコピーリンク、すなわち後述のコピーリンクL0’に対して、シフト幅dwを設定する。その次のステップS4434において、リンクL1に対応付けられるコピーリンク、すなわち後述のコピーリンクL0’’に対して、シフト幅dwを設定する。そしてステップS4435において、リンクL0のコピーリンクL0’とL0’’を生成する。そして、コピーリンクL0’をリンクL3へ、コピーリンクL0’’をリンクL1へそれぞれ対応付ける。
【0099】
次に、ステップS4436において、コピーリンクL0’とL0’’を、(c)に示すように設定されたシフト幅dwだけ左右にそれぞれシフトする。そして、シフト後の接続位置において、コピーリンクL0’とリンクL3を接続し、コピーリンクL0’’とリンクL1を接続する。なお、リンクL0はリンクL2に接続されている。このようにして、分岐リンクシフト処理を実行する。
【0100】
図15のステップS446の合流リンクシフト処理について説明する。図17に示すフローチャートは、合流リンクシフト処理において実行される処理内容を表すものである。このフローチャートに示すように合流リンクシフト処理では、図16の分岐リンクシフト処理と同様の内容を各流入リンクに対して実行する。そのため、図17のフローチャートについての具体的な説明は省略する。このフローチャートのステップS4463およびS4464の処理により、図16のステップS4433およびS4434の場合と同様に、重複している各経路における重複部分への流入角度に基づいて、その各経路に対するずらし幅をそれぞれ設定する。
【0101】
以上説明したような経路シフト処理を実行したときの具体例を図21に示す。各経路を構成するリンクが(a)のような状態であったとすると、上記の処理により、最初の分岐点の手前にあるリンクL0が最初に選択される。このリンクL0に対して図16の分岐リンクシフト処理が実行され、(b)のように3つに分割される。
【0102】
次に(b)の状態において、最初の分岐点の手前にあるリンクL1が選択される。このリンクL1について分割リンクシフト処理が実行されることで、リンクL1が分割されて(c)のように変化する。同様に、(c)ではリンクL2が選択され、これが分割リンクシフト処理によって分割されることで、(d)のように変化する。さらに(d)ではリンクL3が選択され、これが分割リンクシフト処理によって分割されることで、(e)のように変化する。このようにして全ての重複部分が分割され、重なり合った経路がそれぞれ位置をずらして表示される。
【0103】
図22は、経路シフト処理の前後における各経路の描画位置の変化の様子を表した図である。(a)は経路シフト処理前、すなわちステップS300の要約地図作成処理後の各経路を表しており、(b)は経路シフト処理後の各経路を表している。(a)に対して(b)では、各経路の重複部分の描画位置がそれぞれリンク単位でシフトされているため、図11のように離れた位置にある符号66に示す部分と符号67に示す部分が近づくようなことはない。
【0104】
以上説明した第2の実施の形態によれば、次の作用効果が得られる。
(1)重複部分をずらして表示するとき、その重複部分以外をずらさないで、重複している各経路の一部分のみをずらすこととした。このようにしたので、互いに離れている経路が近づいて表示されてしまって重複部分との見分けがつかなくなることを回避し、より適切に重複部分をずらして表示することができる。
【0105】
(2)重複している各経路における重複部分からの流出角度または重複部分への流入角度に基づいて、その各経路に対するずらし幅をそれぞれ設定することとした。このようにしたので、経路の形状に合わせてより適切なずらし幅を設定することができる。
【0106】
なお、上記の各実施形態では、探索された複数の経路を要約地図において表示する例を説明しているが、要約しない通常の地図上に探索された複数の経路を表示するナビゲーション装置に本発明を適用してもよい。
【0107】
上記の各実施形態では、ナビゲーション装置において、DVD−ROMなどの記憶メディアより地図データを読み出して探索された要約地図を作成する例について説明しているが、本発明はこの内容には限定されない。たとえば、携帯電話などによる無線通信を用いて、地図データを情報配信センターからダウンロードする通信ナビゲーション装置などにおいても、本発明を適用できる。この場合、上記に説明したような要約地図の作成処理を情報配信センターにおいて行い、その結果を情報配信センターから信号出力してナビゲーション装置へ配信するようにしてもよい。
【0108】
すなわち、情報配信センターは、出発地から目的地まで複数の経路を探索する装置と、その複数の経路の地図を表示するための表示用データを作成する装置と、その表示用データを外部へ配信する装置によって構成される。そして、ナビゲーション装置においてこの情報配信センターから配信される表示用データを受信して、出発地から目的地までの複数の経路の地図を表示する。このような地図データ配信システムにおいて、上記に説明したような様々な処理を実行することにより、各経路の重複部分をずらして見やすく表示することができる。
【0109】
本発明は、上記各実施の形態に限定されるものではない。本発明の技術的思想の範囲内で考えられるその他の態様も、本発明の範囲内に含まれる。
【図面の簡単な説明】
【0110】
【図1】本発明の一実施形態によるナビゲーション装置の構成を示すブロック図である。
【図2】設定された目的地まで複数の経路を探索して各経路の要約地図を表示するときに実行される処理のフローチャートである。
【図3】要約前の地図と要約後の地図を示した図である。
【図4】要約地図を作成するときに利用される2分割の場合の方向量子化処理の内容を説明するための図である。
【図5】同じく4分割の場合の方向量子化処理の内容を説明するための図である。
【図6】各リンク形状を曲線で近似することによって各経路の道路形状を簡略化する方法を説明するための図である。
【図7】方向量子化処理によって経路ネットワークデータを変更する様子を示す図である。
【図8】経路ネットワークデータの表現形式の例を示す図である。
【図9】第1の実施の形態において実行される経路シフト処理のフローチャートである。
【図10】経路の重心座標を求める様子を説明するための図である。
【図11】設定されたシフト量に従って各経路の描画位置をシフトする様子を示した図である。
【図12】第1の実施の形態において経路シフト処理の前後における各経路の描画位置の変化の様子を表した図である。
【図13】第1の実施形態における経路シフト処理の方法を用いたときの問題点を説明するための図である。
【図14】第2の実施の形態において実行される経路シフト処理のフローチャートである。
【図15】経路シフト処理において実行されるリンクシフト処理のフローチャートである。
【図16】リンクシフト処理において実行される分岐リンクシフト処理のフローチャートである。
【図17】リンクシフト処理において実行される合流リンクシフト処理のフローチャートである。
【図18】経路ネットワークデータの初期化の様子を説明するための図である。
【図19】初期化後の経路ネットワークデータの表現形式の例を示す図である。
【図20】分岐リンクシフト処理の具体例を示す図である。
【図21】経路シフト処理を各経路に対して実行したときの具体例を示す図である。
【図22】第2の実施の形態において経路シフト処理の前後における各経路の描画位置の変化の様子を表した図である。
【符号の説明】
【0111】
1 ナビゲーション装置
11 制御回路
12 ROM
13 RAM
14 現在地検出装置
15 画像メモリ
16 表示モニタ
17 入力装置
18 ディスクドライブ
19 DVD−ROM
30,40 リンク
61 現在地
62 目的地
【技術分野】
【0001】
本発明は、出発地から目的地までの複数の経路の地図を表示する技術に関する。
【背景技術】
【0002】
地図を表すための地図データに基づいて、道路形状を簡略化する方法が知られている。たとえば、特許文献1に開示される装置では、地図データにおいて道路形状を表している各リンクに対して直線化や直交化などの処理を行い、さらに、マスクで規定した範囲内のランドマーク情報のみを表示することにより、道路形状を簡略化する。このようにして簡略化された道路形状を用いて地図を表示することで、見やすい地図を提供する。
【0003】
【特許文献1】特開平11−202762号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
特許文献1に開示される装置により、複数の経路の道路形状をそれぞれ簡略化して同時に表示すると、経路同士が重なっている場合にはその重複部分が見えづらい場合がある。そのため、要約地図において道路形状が簡略化され複数の互いに重複している経路について、その重複部分で各経路が判別できるように表示できる装置が求められている。
【課題を解決するための手段】
【0005】
請求項1の発明によるナビゲーション装置は、出発地から目的地まで複数の経路を探索する経路探索手段と、経路探索手段により探索された複数の経路の地図を表示モニタに表示する地図表示制御手段とを備え、地図表示制御手段は、複数の経路のうちいずれか2以上の経路が同一の道路を重複して通っている場合、その重複部分をずらして表示するものである。
請求項2の発明は、請求項1のナビゲーション装置において、地図表示制御手段は、重複部分をずらして表示するとき、元の形状を維持したままで、重複している各経路の全体をずらすものである。
請求項3の発明は、請求項2のナビゲーション装置において、地図表示制御手段は、重複している各経路の重心座標に基づいて、その各経路に対するずらし幅をそれぞれ設定するものである。
請求項4の発明は、請求項1のナビゲーション装置において、地図表示制御手段は、重複部分をずらして表示するとき、その重複部分以外をずらさないで、重複している各経路の一部分のみをずらすものである。
請求項5の発明は、請求項4のナビゲーション装置において、地図表示制御手段は、重複している各経路における重複部分からの流出角度または重複部分への流入角度に基づいて、その各経路に対するずらし幅をそれぞれ設定するものである。
請求項6の発明は、請求項1〜5のいずれかのナビゲーション装置において、地図表示制御手段は、重複部分をずらして表示するとき、予め定められた所定幅単位で各経路をずらすものである。
請求項7の発明による地図データ配信装置は、出発地から目的地まで複数の経路を探索する経路探索手段と、経路探索手段により探索された複数の経路の地図を表示するための表示用データを作成するデータ作成手段と、データ作成手段により作成された表示用データを外部へ配信するデータ配信手段とを備え、データ作成手段は、複数の経路のうちいずれか2以上の経路が同一の道路を重複して通っている場合、その重複部分をずらして表示用データを作成するものである。
請求項8の発明は、請求項7の地図データ配信装置において、データ作成手段は、重複部分をずらして表示用データを作成するとき、元の形状を維持したままで、重複している各経路の全体をずらすものである。
請求項9の発明は、請求項8の地図データ配信装置において、データ作成手段は、重複している各経路の重心座標に基づいて、その各経路に対するずらし幅をそれぞれ設定するものである。
請求項10の発明は、請求項7の地図データ配信装置において、データ作成手段は、重複部分をずらして表示用データを作成するとき、その重複部分以外をずらさないで、重複している各経路の一部分のみをずらすものである。
請求項11の発明は、請求項10の地図データ配信装置において、データ作成手段は、重複している各経路における重複部分からの流出角度または重複部分への流入角度に基づいて、その各経路に対するずらし幅をそれぞれ設定するものである。
請求項12の発明は、請求項7〜11のいずれかの地図データ配信装置において、データ作成手段は、重複部分をずらして表示するとき、予め定められた所定幅単位で各経路をずらすものである。
請求項13の発明による地図データ配信システムは、請求項7〜12のいずれかの地図データ配信装置と、表示用データを受信して複数の経路の地図を表示する地図表示装置とを有するものである。
【発明の効果】
【0006】
本発明によれば、探索された複数の経路のうちいずれか2以上の経路が同一の道路を重複して通っている場合、その重複部分をずらして表示することとした。このようにしたので、要約地図において道路形状が簡略化された複数の互いに重複している経路について、その重複部分で各経路が判別できるように表示することができる。
【発明を実施するための最良の形態】
【0007】
−第1の実施形態−
本発明の一実施形態によるナビゲーション装置の構成を図1に示す。このナビゲーション装置は車両に搭載されており、設定された目的地までの経路を複数探索して、各経路の全体について通常の地図を基に道路形状などを簡略化することにより、通常の地図を要約した地図(以下、要約地図という)を作成して表示する。そして、表示した複数の経路のうち1つをユーザに選択させ、その経路を推奨経路として自車両を目的地まで案内する。図1に示すナビゲーション装置1は、制御回路11、ROM12、RAM13、現在地検出装置14、画像メモリ15、表示モニタ16、入力装置17、およびディスクドライブ18を有している。ディスクドライブ18には、地図データが記録されたDVD−ROM19が装填される。
【0008】
制御回路11は、マイクロプロセッサおよびその周辺回路からなり、RAM13を作業エリアとしてROM12に格納された制御プログラムを実行することにより、各種の処理や制御を行う。この制御回路11において後で説明するような処理を実行することによって、設定された目的地に対してDVD−ROM19に記録された地図データに基づいて複数の経路が探索され、各経路の全体について要約地図が作成されて、それぞれ表示モニタ16に表示される。
【0009】
現在地検出装置14は、自車両の現在地を検出する装置であり、たとえば、自車両の進行方位を検出する振動ジャイロ14a、車速を検出する車速センサ14b、GPS衛星からのGPS信号を検出するGPSセンサ14c等からなる。ナビゲーション装置1は、この現在地検出装置14により検出された自車両の現在地に基づいて、推奨経路を探索するときの経路探索開始点を決定することができる。
【0010】
画像メモリ15は、表示モニタ16に表示するための画像データを一時的に格納する。この画像データは、要約地図を画像表示するための道路地図描画用データや各種の図形データ等からなり、制御回路11において、DVD−ROM19に記録されている地図データに基づいて作成される。この画像メモリ15に格納された画像データを用いて、各経路の全体の要約地図が表示モニタ16に表示される。
【0011】
入力装置17は、ユーザが目的地の設定などを行うための各種入力スイッチを有し、これは操作パネルやリモコンなどによって実現される。ユーザは、表示モニタ16に表示される画面指示に従って入力装置17を操作することにより、地名や地図上の位置を指定して目的地を設定し、その目的地までの経路探索をナビゲーション装置1に開始させることができる。
【0012】
ディスクドライブ18は、要約地図を作成するために用いられる地図データを、装填されたDVD−ROM19より読み出す。なお、ここではDVD−ROMを用いた例について説明しているが、DVD−ROM以外の他の記録メディア、たとえばCD−ROMやハードディスクなどより、地図データを読み出すこととしてもよい。この地図データには、複数の経路を演算するために用いられる経路計算データや、交差点名称、道路名称など、ユーザに選択された推奨経路に従って自車両を目的地まで案内するために用いられる経路誘導データ、道路を表す道路データ、さらには海岸線や河川、鉄道、地図上の各種施設(ランドマーク)など、道路以外の地図形状を表す背景データなどが含まれている。
【0013】
道路データにおいて、道路区間を表す最小単位はリンクと呼ばれている。すなわち、各道路は所定の道路区間ごとに設定された複数のリンクによって構成されている。なお、リンクによって設定される道路区間の長さは異なっており、リンクの長さは一定ではない。リンク同士を接続している点はノードと呼ばれ、このノードはそれぞれに位置情報(座標情報)を有している。また、リンク内にはノードとノードの間に形状補間点と呼ばれる点が設定されていることもある。形状補間点もノードと同じく、それぞれに位置情報(座標情報)を有している。このノードと形状補間点の位置情報によって、リンク形状、すなわち道路の形状が決定される。経路計算データには、上記の各リンクに対応して、自車両の通過所要時間を表すためのリンクコストと呼ばれる値が設定されている。
【0014】
前述のように入力装置17におけるユーザの操作によって目的地が設定されると、制御回路11において図2に示すフローチャートが実行される。これにより、現在地検出装置14により検出された現在地を経路探索開始点として、設定された目的地までの経路演算が経路計算データに基づいて所定のアルゴリズムにより行われ、目的地までの複数の経路が求められる。そして、こうして求められた各経路の全体の要約地図が道路データに基づいて作成され、表示モニタ16に表示される。
【0015】
図2のフローチャートについて以下に説明する。ステップS100では、ユーザに入力された目的地により、経路探索の目的地を設定する。ステップS200では、経路探索開始点である自車両の現在地から、ステップS100において設定された目的地まで、複数の経路を探索する。このとき、前述したように経路計算データに基づいて所定のアルゴリズムにより経路演算が行われる。なお、自車両の現在地は現在地検出装置14によって一定時間ごとに求められる。
【0016】
なお、ステップS200では複数の経路を探索するために、様々な経路探索条件によって経路探索を行う。たとえば、有料道路優先や一般道路優先、距離優先などの経路探索条件によって経路探索を行い、それぞれの条件で最適な経路を求めることにより、複数の経路を探索する。あるいは、1つの経路探索条件によって最適経路以外の経路も探索することで、複数の経路を探索するようにしてもよい。たとえば、目的地までのリンクコストの合計が最も小さいものを最適経路とし、さらにその最適経路とリンクコストの合計の差が所定値以内である経路も含めて経路探索結果を求めることにより、1つの経路探索条件で複数の経路を探索することができる。
【0017】
ステップS300では、ステップS200で探索された各経路に対して、要約地図作成処理を実行する。このときの処理内容については、後で詳しく説明する。この要約地図作成処理によって、各経路の全体、すなわち現在地から目的地までを表す要約地図が作成される。
【0018】
ステップS400では、経路シフト処理を実行する。ここでは、ステップS300で作成された要約地図において、探索された複数の経路のうちいずれか2以上の経路が同一の道路を重複して通っている場合に、その重複部分をそれぞれの経路が判別できるような表示形態で描画する処理を行う。具体的には、その重複部分の描画位置をずらす(シフトする)ことにより、各経路を判別できるようにする。なお、この経路シフト処理の具体的な内容は後で詳しく説明する。
【0019】
ステップS500では、ステップS300において作成され、さらにステップS400において重複部分の描画位置がずらされた各経路の要約地図を、表示モニタ16に表示する。このとき、出発地と目的地にはそれぞれ出発地マークと目的地マークを表示する。ステップS500を実行した後は、図2のフローチャートを終了する。以上説明したようにして、目的地までの複数の経路が探索され、各経路の全体の要約地図が表示モニタ16に重複部分をずらして表示される。
【0020】
図2のフローチャートの処理を実行して各経路の全体の要約地図を表示モニタ16に表示したら、その後ナビゲーション装置1は、各経路のうち1つをユーザに選択するように指示する。ユーザが入力装置17を操作することによっていずれかの経路を選択すると、選択された経路を推奨経路に設定して、現在地の周辺の道路地図上を表示してその上に推奨経路を示す。そして、この推奨経路に従って自車両を誘導し、目的地まで案内する。なお、このとき現在地周辺の道路地図として、通常の地図と要約地図のどちらを表示してもよい。このときの要約地図も、図2のフローチャートと同様の処理によって作成することができる。
【0021】
図3は、通常の要約前の地図と、図2のフローチャートの処理を実行することによって表示された要約地図とを示したものである。(a)に示す要約前の地図には、現在地61から目的地62までをつなぐ3つの経路R1、R2およびR3が示されている。この経路R1〜R3に対して図2のフローチャートの処理を実行することにより、(b)の要約地図が表示される。この要約地図では、経路R1〜R3の道路形状がそれぞれ簡略化されていることが分かる。こうして各経路の要約地図を表示した後、いずれか選択された経路を推奨経路として、現在地61から目的地62まで自車両を案内する。
【0022】
次に、ステップS300において実行される要約地図作成処理の内容について説明する。要約地図作成処理では、方向量子化処理と呼ばれる処理を実行することによって各経路の道路形状を簡略化することにより、各経路の要約地図を作成する。この方向量子化処理について、以下に説明する。
【0023】
方向量子化処理では、各経路のリンクをそれぞれ所定の分割数で分割した上で、道路形状の簡略化を行う。図4および図5は、いずれもこの方向量子化処理の内容を説明するための詳細説明図であり、図4ではリンク分割数が2(2分割)の場合について、また図5ではリンク分割数が4(4分割)の場合について、それぞれの方向量子化処理の内容を図示している。以下、図4に示す2分割の場合より先に説明を行う。
【0024】
図4(a)の符号30は、探索された経路に含まれているリンクの1つを例示している。このリンク30に対して、(b)に示すように、その両端点の間を結ぶ線分31から最も遠くにあるリンク30上の点32を選択する。なお、ここで選択される点32は前述の形状補間点に相当し、両端点はノードに相当する。
【0025】
上記のような点32が求められたら、次に(c)に示すように、リンク30の両端点のそれぞれと点32とを結ぶ線分33および34を設定する。この線分33と34がそれぞれの基準線に対してなす角度をθ1およびθ2と表す。なお、ここでいう基準線とは、リンク30の両端点から予め決められた所定の方向(たとえば、真北方向)に向かって、それぞれ延びている線のことである。(c)に示すように、一方の端点からの基準線と線分33によって挟まれている部分の角度が、θ1と表される。また、もう一方の端点からの基準線と線分34によって挟まれている部分の角度が、θ2と表される。
【0026】
上記のようにして点32とリンク30の両端点とをそれぞれ結ぶ線分33、34が設定されたら、次に(d)に示すように、この線分33と34の方向をそれぞれ量子化する。ここでいう方向の量子化とは、前述の角度θ1およびθ2が予め設定された単位角度の整数倍にそれぞれなるように、線分33と34を各端点を中心にしてそれぞれ回転させることをいう。すなわち、θ1=m・Δθ、θ2=n・Δθ(n、mは整数)となるように、線分33と34をそれぞれ回転させてθ1とθ2の値を補正する。上記の式においてmとnの値は、この式によって計算される補正後のθ1とθ2がそれぞれ元の値に最も近くなるように設定される。
【0027】
以上説明したように線分33と34の方向をそれぞれ量子化すると、線分33と34が基準線となす角度θ1およびθ2が、単位角度Δθ刻みで補正される。なお図4(d)では、Δθ=15°としている。そして、θ1についてはm=6と設定して補正後の角度を90°にし、θ2についてはn=0と設定して補正後の角度を0°にした例を図示している。
【0028】
こうして線分33と34の方向をそれぞれ量子化したら、次に線分33と34をそれぞれ延長したときの交点を求める。そして、その交点と各端点とを結ぶようにして、(d)に示すように、線分33と34の長さをそれぞれ補正する。
【0029】
以上説明したようにして、線分33と34を求め、これらの方向を量子化すると共に長さを補正することによって、リンク30に対する2分割の場合の方向量子化処理が行われる。この線分33と34をリンク30の代わりに用いることで、リンク30の形状を簡略化して表すことができる。このとき、リンク30の両端点の位置が固定された状態でリンク30の形状が簡略化されるため、隣接するリンクの位置には影響を及ぼさない。したがって、方向量子化処理を用いて経路の各リンク形状をそれぞれ簡略化することにより、経路の全体的な位置関係を保ちつつ、その道路形状を容易に簡略化することができる。
【0030】
次に、4分割の場合の方向量子化処理について説明する。図5(a)の符号40は、図4(a)と同様に、探索された経路に含まれているリンクの1つを例示している。このリンク40に対して、(b)に示すように、まずその両端点の間を結ぶ線分41aから最も遠くにあるリンク40上の点42aを選択する。次に、その点42aとリンク40の各端点とをそれぞれ結ぶ線分41bおよび41cを設定し、この線分41bと41cからそれぞれ最も遠く離れた位置にあるリンク40上の点42bおよび42cを選択する。なお、ここで選択される点42a〜42cは、いずれも2分割の場合と同様に前述のノードまたは形状補間点に相当する。
【0031】
上記のような点42a〜42cが求められたら、次に(c)に示すように、2分割の場合と同様にして、リンク40の各端点と点42a〜42cとをそれぞれ順に結ぶ線分43、44、45および46を設定する。この線分43〜46がそれぞれの基準線に対してなす角度を、θ3、θ4、θ5およびθ6と表す。なお、このときの基準線はリンク40の両端点に対して定められるだけでなく、点42a〜42cのうち真ん中に位置する最初に選択された点42aに対しても定められる。
【0032】
上記のようにして線分43〜46が設定されたら、次に(d)に示すように、各線分の方向をそれぞれ量子化する。このとき、点42aを保存点として、線分44と45はこの保存点42aを中心にそれぞれ回転させる。なお、線分43と46については、2分割の場合と同様に各端点を中心にそれぞれ回転させる。ここでは、Δθ=15°と予め設定し、θ3〜θ6の補正後の角度をそれぞれ60°、45°、180°および60°とした例を図示している。
【0033】
こうして線分43〜46の方向をそれぞれ量子化したら、次に線分43と44をそれぞれ延長したときの交点と、線分45と46をそれぞれ延長したときの交点とを求める。そして、各交点と各端点または保存点42aとを結ぶようにして、(d)に示すように、線分43〜46の長さをそれぞれ補正する。
【0034】
以上説明したようにして、線分43〜46を求め、これらの方向を量子化すると共に長さを補正することによって、リンク40に対する4分割の場合の方向量子化処理が行われる。この線分43〜46をリンク40の代わりに用いることで、リンク40の形状を簡略化して表すことができる。このとき、リンク40の両端点の位置に加えて、さらに保存点42aの位置も固定された状態で、リンク40の形状が簡略化される。したがって、複雑な形状のリンクによって構成されている経路に対しても、その全体的な位置関係を保ちつつ適切に道路形状を簡略化することができる。
【0035】
なお、上記では2分割と4分割の場合の方向量子化処理について説明したが、これ以外の分割数についても同様にして方向量子化処理を実行することができる。たとえば8分割の場合には、まず4分割の場合と同様に、リンクの両端点の間を結ぶ線分から最も遠い1点と、その点と両端点とを結ぶ2つの線分からそれぞれ最も遠い2点を選択する。その後、さらにこれらの3点に両端点を加えた各点間を結ぶ4つの線分からそれぞれ最も遠い4点を選択する。こうして選択された合計7点と両端点とを順に結ぶ8つの線分を求め、これらの線分に対して前述したような方向の量子化と長さの補正を行うことによって、8分割の方向量子化処理を行うことができる。
【0036】
方向量子化処理の分割数をいくつにするかは、予め設定しておいてもよいし、あるいはリンクの形状によって判断してもよい。たとえば、上記のようにして両端点またはそれまでに選択された点の間を結ぶ各線分から最も遠い点を順次選択していくとき、すなわち図4および5の(b)で説明した処理を繰り返していくときに、各線分から最も遠い点までの距離が所定値以下となるまで処理を繰り返して、その処理回数に応じた数の点を順次選択していく。このようにすれば、リンクの形状によって方向量子化処理の分割数を決めることができる。
【0037】
図4で説明した2分割の方向量子化処理において、方向を量子化した後に線分33と34をそれぞれ延長しても、適切な交点がない場合がある。すなわち、方向を量子化した後の線分33と34が平行となっている場合には、これらの線分を延長すると両者が一体化してリンク33の両端点を結ぶ1つの線分となるため、交点が存在しないこととなる。このような場合には、その両端点を直接結ぶ線分、すなわち線分31を用いて、リンク30の形状を簡略化して表すようにすればよい。また、図5で説明した4分割の方向量子化処理や、それ以上の分割数の方向量子化処理において、同様に方向を量子化した後に各線分を延長すると適切な交点がない場合には、それよりも分割数が少ない方向量子化処理を行うようにすればよい。
【0038】
以上説明したような方向量子化処理を各経路の全てのリンクに対して順次実行していくことにより、各経路の道路形状を簡略化して要約地図を作成することができる。なお、リンク単位ではなく、リンクを複数連ねて構成されるリンク列ごとに上記のような方向量子化処理を実行するようにしてもよい。この場合、図4の点32や図5の点42a〜42cとして選択される点には、形状補間点だけでなくノードも含まれることになる。
【0039】
または、ステップS300の要約地図作成処理において、上記の方向量子化処理を実行せずに各経路の道路形状を簡略化することもできる。ここでは、各リンク形状を曲線で近似することによって各経路の道路形状を簡略化する方法を、図6を参照して説明する。
【0040】
図6(a)には、探索された経路に含まれるリンクの一部として、リンク50、51および52を例示している。これらのリンク50〜52に対して、まず(b)に示すように各リンクの両端点において量子化したリンク方向を求める。ここでは、前述の方向量子化処理において各線分の方向の量子化を行ったのと同様にして、元の角度に最も近くて単位角度の整数倍となるようなリンク方向を求める。その結果、(b)において矢印で示されているようなリンク方向が各端点に対して求められる。
【0041】
次に、(c)に示すように各端点の間を結ぶ曲線53、54および55を求めることにより、各リンクの形状を曲線近似する。このとき、各曲線の端点付近における接線の方向が上記の量子化したリンク方向と一致するように、曲線53〜55の形状がそれぞれ決定される。なお、このような曲線を求める方法としては、たとえばスプライン関数を用いたスプライン近似などがあるが、ここでは詳細な説明は省略する。
【0042】
以上説明したような処理を各経路の全てのリンクに対して順次実行していき、求められた曲線を用いて道路形状を表すことにより、各経路の道路形状を簡略化して要約地図を作成することができる。このときも方向量子化処理の場合と同様に、各リンクの両端点の位置が固定された状態で各リンクの形状が簡略化される。したがってこの場合にも、経路の全体的な位置関係を保ちつつ、その道路形状を容易に簡略化することができる。
【0043】
上記の方向量子化処理によって経路ネットワークデータを変更する様子を図7に示す。ここでいう経路ネットワークデータとは、図2のステップS200で探索された経路を表すために、地図データに基づいて作成されるデータである。方向量子化処理では、この経路ネットワークデータの内容を変更することによって、道路形状を簡略化する。
【0044】
図7(a)は入力データ、すなわち要約前の経路ネットワークデータにより表される経路R1、R2およびR3を示している。図中の四角形はノードを、黒丸は補間点(形状補間点)を、実線はリンクをそれぞれ表している。また、矢印は経路の進行方向を表している。なお、破線は非経路リンクを表しており、これは方向量子化処理において入力対象とされない。このような入力データに基づいて、要約前にまず(b)に示すような内部データを設定する。この内部データを設定する際には、各経路のリンクを統合して分岐点をノードとする。すなわち、分岐点以外にあるノード(始点と終点を除く)を補間点に置き換える。
【0045】
(b)の内部データに対して上記の方向量子化処理を実行することにより、(c)に示すような出力データが要約地図として得られる。この出力データでは、ノードの位置は変化せず、補間点の位置のみが変化している。なお、リンク形状が変化しない部分にある余分な補間点は間引きされている。このようにして、方向量子化処理によって経路ネットワークデータが変更される。
【0046】
図8は、経路ネットワークデータの表現形式の例を示している。経路ネットワークデータでは、ノードデータ、リンクデータ、および経路データによって各経路を表している。(a)は、経路中の各ノードに対してそれぞれ設定されているノードデータの表現形式の例である。このノードデータには、ノードIDと座標が含まれている。ノードIDは、各ノードに固有に割り振られており、これによってそのノードが特定される。座標は、そのノードの地図上の位置を示している。(a)には例として、ノードIDがN1であり、座標値が(X1,Y1)であるノードデータを示している。
【0047】
(b)は、経路中の各リンクに対してそれぞれ設定されているリンクデータの表現形式の例である。このリンクデータには、リンクID、始点ノードID、終点ノードID、補間点数および補間点情報が含まれている。リンクIDは、各リンクに固有に割り振られており、これによってそのリンクが特定される。始点ノードIDと終点ノードIDは、そのリンクの始点と終点のノードIDを表しており、前述のノードデータにおいて同じノードIDのものを参照することで、始点と終点の座標を特定することができる。補間点数は、そのリンクに含まれる補間点の合計数を表しており、補間点情報は、そのリンクに含まれる各補間点の座標を表している。(b)には例として、リンクIDがL1、始点ノードIDがN1、終点ノードIDがN2、補間点数がpであり、合計p個の補間点に対して、その補間点情報として座標値(x1,y1)から(xp,yp)までが設定されたリンクデータを示している。なお、補間点数と補間点情報は、上記の方向量子化処理の結果によってその内容が変更される。
【0048】
(c)は、各経路に対してそれぞれ設定されている経路データの表現形式の例である。この経路データには、経路ID、経路リンク数および経路リンク情報が含まれている。経路IDは、各経路に固有に割り振られており、これによってその経路が特定される。経路リンク数は、その経路に含まれるリンクの合計数を表しており、経路リンク情報は、その経路に含まれる各リンクのリンクIDを表している。前述のリンクデータから同じリンクIDのものを参照することで、経路中のリンクの位置や形状を特定することができる。なお、経路リンク情報には、各リンクIDに対して経路の進行方向との関係を示すための方向フラグも設定される。この方向フラグは、リンクIDの登録順序を経路の進行方向に一致させることで省略してもよい。(c)には例として、経路IDがR1、経路リンク数がnであり、合計n個の経路リンクに対する経路リンク情報として、リンクIDがL1からLnまで設定された経路データを示している。
【0049】
次に、ステップS400において実行される経路シフト処理について説明する。ここでは、ステップS300の要約地図作成処理によって道路形状が簡略化された各経路について、図9に示すフローチャートを実行することで、元の形状を維持したままで重複している各経路の全体をずらす。以下、図9のフローチャートについて説明する。
【0050】
ステップS401では、ステップS300で作成された要約地図の各経路について、それぞれの重心の座標を求める。たとえば、いずれかの経路の重心座標を(xg,yg)と表すこととすると、その座標値は以下の式(1)によって算出することができる。
【0051】
【数1】
【0052】
式(1)において、(xi,yi)はその経路を構成する各点の座標値を表しており、nはその点の数を表している。iは1からnまでの整数値のいずれかである。すなわち、式(1)によって経路を構成する各点の座標値の平均値が計算され、その平均値によって経路の重心座標(xg,yg)が表される。このように、各点の位置に応じて重み付けを行って、経路の重心の座標値を求める。
【0053】
式(1)により経路の重心座標を求める様子を、図10に示す例を用いて説明する。経路R1は、始点(x1,y1)から終点(x10,y10)までの間に計8個の補間点を有している。これらの補間点の座標値を、始点に近いほうから順に(x2,y2)、(x3,y3)、・・・、(x9,y9)とすると、重心G1の座標値(xg,yg)は式(1)を用いて次のように計算される。
xg=(x1+x2+x3+x4+x5+x6+x7+x8+x9+x10)/10
yg=(y1+y2+y3+y4+y5+y6+y7+y8+y9+y10)/10
【0054】
あるいは、上記の式(1)に替えて、以下の式(2)により経路の重心の座標値を求めてもよい。
【0055】
【数2】
【0056】
式(2)において、liはその経路を構成する各点間をそれぞれ結ぶ線分の長さを表しており、Lは経路全体の長さを表している。すなわち、式(2)によって経路を構成する各線分の中点の座標値がそれぞれ計算され、その中点の座標値に対して当該線分の経路全体に対する長さの割合を乗じたものを合計した値によって、経路の重心座標(xg,yg)が表される。このように、各線分の長さに応じて重み付けを行って、経路の重心の座標値を求める。
【0057】
図10の例において、経路R1の各点(始点、終点および補間点)の間をそれぞれ結ぶ線分の長さを、始点に近いほうから順にl1、l2、・・・l9とすると、このときの重心G1の座標値(xg,yg)は式(2)を用いて次のように計算される。なお、L=l1+l2+l3+l4+l5+l6+l7+l8+l9+l10である。
xg={l1(x1+x2)+l2(x2+x3)+・・・+l9(x9+x10)}/2L
yg={l1(y1+y2)+l2(y2+y3)+・・・+l9(y9+y10)}/2L
【0058】
以上説明したのと同様にして、全ての経路について、その重心の座標値をステップS401において算出する。
【0059】
次のステップS402では、ステップS401で求められた各経路の重心のx座標値とy座標値を、その大きさの順にそれぞれ並べる。ステップS403では、ステップS402で並べられた大きさの順にしたがって、重心のx座標値の小さい経路から順に、その経路に対するx座標のシフト量を設定する。重心のx座標値が最も小さい経路に対しては、x座標のシフト量を0とし、次に小さい経路に対しては、x座標のシフト量を所定値dxとし、その次に小さい経路に対しては、x座標のシフト量を2dxとする。ここでdxの大きさは予め定められており、たとえば経路の表示線幅をwとすると、dx=w/2と定めることができる。同様にして全ての経路に対して、その重心のx座標値が小さい経路から順に、dxずつ大きなx座標のシフト量を設定していく。
【0060】
ステップS404では、ステップS403と同様の処理をy座標のシフト量に対して行う。すなわち、ステップS402で並べられた大きさの順にしたがって、重心のy座標値の小さい経路から順に、その経路に対するy座標のシフト量を0、dy、2dy、・・・と順に、所定値dyずつ大きな値で設定する。なお、dyの大きさは予め定められており、前述のdxと同様に、たとえば経路の表示線幅をwとすると、dy=w/2と定めることができる。以上説明したようにして、重複している各経路の重心座標に基づいて、各経路に対するずらし幅をそれぞれ設定する。
【0061】
ステップS405では、ステップS403およびS404において設定されたx座標とy座標のシフト量に従って、各経路をそれぞれ構成する各点の位置を移動する。これにより、元の形状を維持したままで、各経路の全体の描画位置をシフトする。
【0062】
図11は、設定されたシフト量に従って各経路の描画位置を画面上でシフトする様子を示した図である。たとえば図11の例に示すように、経路R3の重心G3よりも、経路R2の重心G2の方がそのx座標値とy座標値がともに大きく、さらにこれらの重心よりも、経路R1の重心G1の方がそのx座標値とy座標値がともに大きいとする。この場合、重心のx座標値およびy座標値がともに最も小さい経路R3に対しては、ステップS403およびS404において、x座標とy座標のシフト量にともに0が設定される。したがって、ステップS405において経路R3の描画位置は移動されない。
【0063】
重心のx座標値およびy座標値が経路R3の次に小さい経路R2に対しては、ステップS403およびS404において、x座標のシフト量dxとy座標のシフト量dyがそれぞれ設定される。また、重心のx座標値およびy座標値が最も大きい経路R1に対しては、ステップS403およびS404において、x座標のシフト量2dxとy座標のシフト量2dyがそれぞれ設定される。そしてステップS405において、これらのシフト量の分だけ、経路R1とR2の描画位置がx方向すなわち画面横方向と、y方向すなわち画面縦方向とにそれぞれ移動される。こうして各経路の重心位置に応じてシフト量を設定することで、元々ずれている経路が近づく方向にはシフトしないようにすることができる。
【0064】
以上説明したようにしてステップS405を実行したら、図9の処理フローを終了する。これにより、図2のステップS400の経路シフト処理が完了する。
【0065】
図12は、経路シフト処理の前後における各経路の描画位置の変化の様子を表した図である。(a)は経路シフト処理前、すなわちステップS300の要約地図作成処理後の各経路を表しており、(b)は経路シフト処理後の各経路を表している。(a)に対して(b)では、経路R1と経路R2が前述の経路シフト処理によって設定されたシフト量に応じて、それぞれ描画位置がシフトされている。経路の表示線幅wに対してdx=dy=w/2と定められており、経路R2は、dxすなわち経路の表示線幅の半分だけx方向とy方向にそれぞれシフトされ、経路R1は、2dxすなわち経路の表示線幅分だけx方向とy方向にそれぞれシフトされている。このようにして、予め定められた所定幅単位で各経路をずらす。なお、経路R3についてはシフト量が0に設定されているため、描画位置がシフトされていない。
【0066】
以上説明した第1の実施の形態によれば、次の作用効果が得られる。
(1)探索された複数の経路のうちいずれか2以上の経路が同一の道路を重複して通っている場合、その重複部分をずらして表示することとした。このようにしたので、複数の経路を地図上に同時に表示する際に、重複している部分を見やすく表示することができる。特に、要約地図において道路形状が簡略化された複数の互いに重複している経路について、その重複部分で各経路が判別できるように表示することができる。
【0067】
(2)重複部分をずらして表示するとき、元の形状を維持したままで各経路の全体をずらすこととした。このようにしたので、簡単な処理により重複部分をずらして表示することができる。
【0068】
(3)重複している各経路の重心座標に基づいて、その各経路に対するずらし幅をそれぞれ設定することとした。このようにしたので、簡単な処理により、重複部分をずらして表示するときのずらし幅を設定することができる。
【0069】
(4)予め定められた所定幅単位で各経路をずらすこととしたので、三つ以上の経路が重複している場合でも、各経路をそれぞれ見やすく表示することができる。
【0070】
−第2の実施形態−
本発明の第2の実施の形態について説明する。本実施形態によるナビゲーション装置では、上記の第1の実施形態で説明したのとは異なる方法で経路シフト処理を行い、各経路の描画位置をシフトする。これにより、作成された要約地図に対して、2つ以上の経路が重なっている部分をそれぞれの経路が判別できるような表示形態で描画する。なお、本実施形態によるナビゲーション装置の構成は、図1に示す第1の実施の形態のものと同じである。また、本実施形態によるナビゲーション装置において目的地設定の際に実行される処理のフローチャートは、図2に示す第1の実施の形態のものと同じである。
【0071】
図13は、第1の実施形態における経路シフト処理の方法を用いたときの問題点を説明するための図である。たとえば、経路シフト処理前の各経路が(a)に示すような状態であったとすると、上述した第1の実施形態における経路シフト処理方法によって、(b)に示すように各経路の描画位置が画面上でシフトされる。このとき、異なる経路の符号66に示す部分と符号67に示す部分は、(a)では互いに離れていたものが(b)では近づいている。したがってこの部分については、実際は互いに離れた別の道路を通っているにも関わらず、元々は重なっていたのが経路シフト処理によってシフトされたものであるように見えてしまう。第1の実施形態における経路シフト処理方法では、このような問題が生じる可能性がある。
【0072】
以上説明したような問題を回避するため、本実施形態における経路シフト処理では、図2のステップS400において、既に第1の実施の形態で説明した図9のフローチャートに替えて、図14に示すフローチャートを実行する。これにより、ステップS300の要約地図作成処理によって道路形状が簡略化された各経路について、その重複部分以外をずらさないで、重複している各経路の一部分のみをずらすようにする。以下、図14のフローチャートについて説明する。
【0073】
ステップS410では、経路ネットワークデータの初期化を行う。ここで初期化する経路ネットワークデータは、要約地図作成処理によって道路形状が簡略化された後のものである。この要約後の経路ネットワークデータについて、ステップS410では各経路上の補間点を全てノードとして扱う。そして、その各ノード間をつなぐリンクのそれぞれに対して、いくつの経路が重なっているかをあらわすリンク重複度を設定する。このようにして、経路ネットワークデータの初期化を行う。
【0074】
ステップS410における経路ネットワークデータの初期化の様子を、図18に示す例を用いて説明する。(a)には入力データ、すなわちステップS300の要約地図作成処理において作成された経路ネットワークデータにより表される経路R1、R2およびR3を示している。この入力データでは、各経路の図示する位置にノードn1〜n6と補間点s1〜s6がそれぞれ配置されているものとする。ノードn1は出発地(現在地)に該当し、ここからノードn2を経由して、ノードn3、n5またはn6まで各経路が続いている。ノードn1とn2の間をつなぐリンクは、経路R1、R2およびR3に共通に用いられている。また、ノードn2とn4の間をつなぐリンクは、経路R2とR3に共通に用いられている。
【0075】
(b)は、(a)の入力データにおける補間点をノードへ置換した様子を示している。これにより、補間点s1〜s6がノードn11〜n16にそれぞれ置換される。(c)は、(b)における各ノード、すなわち元のノードn1〜n6に、補間点から置換されたノードn11〜n16を加えた各ノードの間を互いにつなぐリンクのそれぞれに対して、リンク重複度を設定した様子を示している。たとえばノードn1とn11の間のリンクに対しては、経路R1、R2およびR3が重複しているため、リンク重複度に3を設定する。このようにして各リンクに対してリンク重複度を設定することで、経路ネットワークデータの初期化を行う。
【0076】
上記のようにして経路ネットワークデータの初期化を行った後には、初期化前とは異なる表現形式が用いられる。図19は、初期化した後の経路ネットワークデータの表現形式の例を示している。(a)のノードデータと(c)の経路データについては、図8に示す初期化前の表現形式と同じである。
【0077】
(b)のリンクデータには、初期化前と同じリンクID、始点ノードIDおよび終点ノードIDに加えて、リンクIDの初期値と、重複度が含まれている。リンクIDの初期値は、初期化した直後のリンクIDを表している。これは、後で説明するように、ステップS440のリンクシフト処理において新たにコピーリンクが生成された場合、その元になったリンクを判別できるようにするために設定されている。なお、新たに生成されたコピーリンクに対しては、新たなリンクIDが設定されるとともに、元となったリンクのリンクIDが初期値として設定される。重複度は、前述したリンク重複度を表している。
【0078】
なお、図18で説明したように、初期化後の経路ネットワークデータでは補間点が全てノードに置き換えられている。そのため(b)のリンクデータには、図8に示す初期化前の表現形式とは異なり、補間点数と補間点情報が含まれていない。その代わりに、経路リンク参照情報が含まれている。これは、そのリンクが含まれている経路の経路IDと、その経路において当該リンクが始点から何番目のリンクに当たるかを示す経路リンク番号とを表している。重複度がmであれば、経路リンク参照情報にはm組の経路IDと経路リンク番号が含まれている。
【0079】
図14のステップS420では、ステップS410で初期化した経路ネットワークデータに対して、先頭のリンク、すなわち出発地に近い側のリンクから順に選択する。図18の例では、ノードn1とn11の間のリンクから順に選択する。ステップS430では、ステップS420で選択したリンクについて、設定されているリンク重複度の値が1より大きいか否かを判定する。1より大きい場合はステップS440へ進む。1より大きくない場合、すなわちリンク重複度の値が1である場合は、ステップS460へ進む。
【0080】
ステップS440では、ステップS430においてリンク重複度が1より大きいと判定したリンクについて、図15のフローチャートに示すリンクシフト処理を実行する。このリンクシフト処理により、当該リンクにおいて互いに重なっている複数の経路について、その重複部分の描画位置がそれぞれ画面上でシフトされる。なお、リンクシフト処理の内容の詳細については後で説明する。
【0081】
ステップS450では、ステップS440でリンクシフト処理を行った結果を反映して経路ネットワークデータの再構成を行う。すなわち、描画位置がシフトされた重複部分をそれぞれ別個のリンクとして表す。ステップS450を実行したらステップS420へ戻り、再構成後の経路ネットワークデータにおいて再び先頭のリンクから順に選択して、上記に説明したような処理を繰り返す。
【0082】
一方、ステップS430においてリンク重複度の値が1より大きくないと判定されてステップS460へ進んだ場合は、ステップS460において、現在選択しているリンクの次のリンクがあるか否かを判定する。次のリンクがある場合はステップS420へ戻り、そのリンクを選択して上記のような処理を繰り返す。次のリンクがない場合、すなわちステップS420において全てのリンクを選択済みである場合は、図14のフローチャートを終了する。以上説明したようにして、本実施形態における経路シフト処理を実行し、各経路の描画位置を画面上でシフトする。
【0083】
次に、ステップS440において実行されるリンクシフト処理について、図15に示すフローチャートにより説明する。ステップS441では、現在選択しているリンクが最後尾、すなわち目的地へと至るリンクであるか否かを判定する。最後尾のリンクであればステップS445へ進み、そうでなければステップS442へ進む。以下、ステップS442へ進んだ場合から先に説明する。
【0084】
ステップS442では、選択しているリンクに対する流出リンク数が1より大きいか否かを判定する。ここでいう流出リンクとは、出発地から目的地へ向かって経路を進むときに、対象とするリンクから先につながっているリンクの数を表している。すなわち、流出リンク数が1であれば、2つのリンクが一対一につながっていることになり、流出リンク数が2以上であれば、1つのリンクから複数のリンクが分岐していることになる。流出リンク数が1より大きい場合はステップS443へ進み、1より大きくない場合、すなわち流出リンク数が1である場合は、ステップS444へ進む。
【0085】
ステップS443では、選択しているリンクに対して、図16に示す分岐リンクシフト処理を実行する。この内容については後で説明する。ステップS443を実行したら図15のフローチャートを終了する。これにより、図14のステップS440においてリンクシフト処理が実行される。
【0086】
一方、ステップS444では、次の流出リンクを選択する。このとき、直前のステップS442で流出リンク数が1であると判定されているため、その1つの流出リンクが選択される。ステップS444において次の流出リンクを選択したら、ステップS441へ戻り、その流出リンクに対して前述したような処理を繰り返す。
【0087】
次に、ステップS442からステップS445へ進んだ場合について説明する。ステップS445では、選択しているリンクに対する流入リンク数が1より大きいか否かを判定する。ここでいう流入リンクとは、出発地から目的地へ向かって経路を進むときに、対象とするリンクの前につながっているリンクの数を表している。すなわち、流入リンク数が1であれば、2つのリンクが一対一につながっていることになり、流入リンク数が2以上であれば、複数のリンクから1つのリンクに合流していることになる。流入リンク数が1より大きい場合はステップS446へ進み、1より大きくない場合、すなわち流入リンク数が1である場合は、ステップS447へ進む。
【0088】
ステップS446では、選択しているリンクに対して、図17に示す合流リンクシフト処理を実行する。この内容については後で説明する。ステップS446を実行したら図15のフローチャートを終了する。これにより、図14のステップS440のリンクシフト処理が実行される。
【0089】
一方、ステップS447では、前の流入リンクを選択する。このとき、直前のステップS445で流入リンク数が1であると判定されているため、その1つの流入リンクが選択される。ステップS447において前の流入リンクを選択したら、次のステップS448ではその流入リンクが先頭のリンクであるか否かを判定する。先頭のリンクであればステップS449へ進み、そうでなければステップS445へ戻って、そのリンクに対して前述したような処理を繰り返す。
【0090】
ステップS449へ進んだ場合は、先頭から最後尾まで全てのリンクについて、流入リンク数および流出リンク数が1であることになる。言い換えると、複数の経路が出発地から目的地まで完全に重複していることになる。このような場合は、ステップS449において単純シフト処理を実行する。ここでいう単純シフト処理とは、第1の実施の形態において説明したような経路シフト処理の方法である。なお、ステップS449は省略してもよい。この場合には、出発地から目的地まで完全に重複している複数の経路は、要約地図において重複したまま表示されることになる。
【0091】
次に、ステップS443の分岐リンクシフト処理について、図16のフローチャートを用いて説明する。ステップS4431では、そのとき選択しているリンクの直進方向が各流出リンクとなす角度をそれぞれ求める。ステップS4432では、選択しているリンクの直進方向に最も近い経路、すなわち、ステップS4431で算出した角度が最も小さい流出リンクに対応する経路を、基準経路に設定する。
【0092】
ステップS4433では、選択しているリンクの進行方向に対して右折方向につながっている各流出リンクを、ステップS4431で算出した角度が小さい順に並べる。そして、後のステップS4435において各流出リンクに対応してそれぞれ生成される各コピーリンクのシフト幅を、dw、2dw・・・のようにdw刻みで設定する。なお、dwの大きさは予め定められており、たとえば経路の表示線幅をwとすると、dw=w/2と定めることができる。
【0093】
ステップS4434では、選択しているリンクの進行方向に対して左折方向につながっている各流出リンクについて、ステップS4433と同様の処理を行う。すなわち、各流出リンクをステップS4431で算出した角度が小さい順に並べ、ステップS4435において各流出リンクに対応してそれぞれ生成される各コピーリンクのシフト幅を、dw、2dw・・・のようにdw刻みで設定する。このようにして、ステップS4433およびS4434の処理により、重複している各経路における重複部分からの流出角度に基づいて、その各経路に対するずらし幅をそれぞれ設定する。
【0094】
ステップS4435では、選択しているリンクについて、流出リンクの数に応じて各流出リンクにそれぞれ対応するノード・リンクのコピーを生成する。このとき、流出リンク数よりも1つ少ない数だけコピーを生成する。これにより、選択しているリンクと同一のコピーリンクが、重複する経路の数に応じた分だけ生成される。そして、生成されたコピーリンクを各流出リンクにそれぞれ1つずつ対応付ける。この対応付けの情報は経路ネットワークデータに反映され、リンク同士の参照関係が更新される。
【0095】
ステップS4436では、ステップS4435において各流出リンクに対応付けられたコピーリンクのそれぞれの描画位置を、ステップS4433およびS4434で設定されたシフト幅に従って画面上でシフトする。ステップS4436を実行したら、図16のフローチャートを終了する。これにより、図15のステップS443において分岐リンクシフト処理が実行される。
【0096】
以上説明した分岐リンクシフト処理について、図20に具体例を示す。たとえば(a)に示すようなリンクL0、L1、L2およびL3が存在しているとする。リンクL0にはリンク重複度に3が設定されており、リンクL1〜L3にはリンク重複度に1が設定されている。各リンクの矢印は進行方向を表しており、リンクL1〜L3は、リンクL0の流出リンクに該当している。このときリンクL0が、分岐リンクシフト処理の対象として選択されたとする。
【0097】
初めに、図16のステップS4431において、リンクL0に対する流出リンクL1〜L3について角度計算を行う。このときリンクL0の矢印に示す進行方向を角度基準位置として、そこからの角度θ1、θ2およびθ3を(b)に示すように求める。するとθ2が一番小さいため、ステップS4432においてリンクL2に対応する経路が基準とされる。
【0098】
次に、ステップS4433において、リンクL3に対応付けられるコピーリンク、すなわち後述のコピーリンクL0’に対して、シフト幅dwを設定する。その次のステップS4434において、リンクL1に対応付けられるコピーリンク、すなわち後述のコピーリンクL0’’に対して、シフト幅dwを設定する。そしてステップS4435において、リンクL0のコピーリンクL0’とL0’’を生成する。そして、コピーリンクL0’をリンクL3へ、コピーリンクL0’’をリンクL1へそれぞれ対応付ける。
【0099】
次に、ステップS4436において、コピーリンクL0’とL0’’を、(c)に示すように設定されたシフト幅dwだけ左右にそれぞれシフトする。そして、シフト後の接続位置において、コピーリンクL0’とリンクL3を接続し、コピーリンクL0’’とリンクL1を接続する。なお、リンクL0はリンクL2に接続されている。このようにして、分岐リンクシフト処理を実行する。
【0100】
図15のステップS446の合流リンクシフト処理について説明する。図17に示すフローチャートは、合流リンクシフト処理において実行される処理内容を表すものである。このフローチャートに示すように合流リンクシフト処理では、図16の分岐リンクシフト処理と同様の内容を各流入リンクに対して実行する。そのため、図17のフローチャートについての具体的な説明は省略する。このフローチャートのステップS4463およびS4464の処理により、図16のステップS4433およびS4434の場合と同様に、重複している各経路における重複部分への流入角度に基づいて、その各経路に対するずらし幅をそれぞれ設定する。
【0101】
以上説明したような経路シフト処理を実行したときの具体例を図21に示す。各経路を構成するリンクが(a)のような状態であったとすると、上記の処理により、最初の分岐点の手前にあるリンクL0が最初に選択される。このリンクL0に対して図16の分岐リンクシフト処理が実行され、(b)のように3つに分割される。
【0102】
次に(b)の状態において、最初の分岐点の手前にあるリンクL1が選択される。このリンクL1について分割リンクシフト処理が実行されることで、リンクL1が分割されて(c)のように変化する。同様に、(c)ではリンクL2が選択され、これが分割リンクシフト処理によって分割されることで、(d)のように変化する。さらに(d)ではリンクL3が選択され、これが分割リンクシフト処理によって分割されることで、(e)のように変化する。このようにして全ての重複部分が分割され、重なり合った経路がそれぞれ位置をずらして表示される。
【0103】
図22は、経路シフト処理の前後における各経路の描画位置の変化の様子を表した図である。(a)は経路シフト処理前、すなわちステップS300の要約地図作成処理後の各経路を表しており、(b)は経路シフト処理後の各経路を表している。(a)に対して(b)では、各経路の重複部分の描画位置がそれぞれリンク単位でシフトされているため、図11のように離れた位置にある符号66に示す部分と符号67に示す部分が近づくようなことはない。
【0104】
以上説明した第2の実施の形態によれば、次の作用効果が得られる。
(1)重複部分をずらして表示するとき、その重複部分以外をずらさないで、重複している各経路の一部分のみをずらすこととした。このようにしたので、互いに離れている経路が近づいて表示されてしまって重複部分との見分けがつかなくなることを回避し、より適切に重複部分をずらして表示することができる。
【0105】
(2)重複している各経路における重複部分からの流出角度または重複部分への流入角度に基づいて、その各経路に対するずらし幅をそれぞれ設定することとした。このようにしたので、経路の形状に合わせてより適切なずらし幅を設定することができる。
【0106】
なお、上記の各実施形態では、探索された複数の経路を要約地図において表示する例を説明しているが、要約しない通常の地図上に探索された複数の経路を表示するナビゲーション装置に本発明を適用してもよい。
【0107】
上記の各実施形態では、ナビゲーション装置において、DVD−ROMなどの記憶メディアより地図データを読み出して探索された要約地図を作成する例について説明しているが、本発明はこの内容には限定されない。たとえば、携帯電話などによる無線通信を用いて、地図データを情報配信センターからダウンロードする通信ナビゲーション装置などにおいても、本発明を適用できる。この場合、上記に説明したような要約地図の作成処理を情報配信センターにおいて行い、その結果を情報配信センターから信号出力してナビゲーション装置へ配信するようにしてもよい。
【0108】
すなわち、情報配信センターは、出発地から目的地まで複数の経路を探索する装置と、その複数の経路の地図を表示するための表示用データを作成する装置と、その表示用データを外部へ配信する装置によって構成される。そして、ナビゲーション装置においてこの情報配信センターから配信される表示用データを受信して、出発地から目的地までの複数の経路の地図を表示する。このような地図データ配信システムにおいて、上記に説明したような様々な処理を実行することにより、各経路の重複部分をずらして見やすく表示することができる。
【0109】
本発明は、上記各実施の形態に限定されるものではない。本発明の技術的思想の範囲内で考えられるその他の態様も、本発明の範囲内に含まれる。
【図面の簡単な説明】
【0110】
【図1】本発明の一実施形態によるナビゲーション装置の構成を示すブロック図である。
【図2】設定された目的地まで複数の経路を探索して各経路の要約地図を表示するときに実行される処理のフローチャートである。
【図3】要約前の地図と要約後の地図を示した図である。
【図4】要約地図を作成するときに利用される2分割の場合の方向量子化処理の内容を説明するための図である。
【図5】同じく4分割の場合の方向量子化処理の内容を説明するための図である。
【図6】各リンク形状を曲線で近似することによって各経路の道路形状を簡略化する方法を説明するための図である。
【図7】方向量子化処理によって経路ネットワークデータを変更する様子を示す図である。
【図8】経路ネットワークデータの表現形式の例を示す図である。
【図9】第1の実施の形態において実行される経路シフト処理のフローチャートである。
【図10】経路の重心座標を求める様子を説明するための図である。
【図11】設定されたシフト量に従って各経路の描画位置をシフトする様子を示した図である。
【図12】第1の実施の形態において経路シフト処理の前後における各経路の描画位置の変化の様子を表した図である。
【図13】第1の実施形態における経路シフト処理の方法を用いたときの問題点を説明するための図である。
【図14】第2の実施の形態において実行される経路シフト処理のフローチャートである。
【図15】経路シフト処理において実行されるリンクシフト処理のフローチャートである。
【図16】リンクシフト処理において実行される分岐リンクシフト処理のフローチャートである。
【図17】リンクシフト処理において実行される合流リンクシフト処理のフローチャートである。
【図18】経路ネットワークデータの初期化の様子を説明するための図である。
【図19】初期化後の経路ネットワークデータの表現形式の例を示す図である。
【図20】分岐リンクシフト処理の具体例を示す図である。
【図21】経路シフト処理を各経路に対して実行したときの具体例を示す図である。
【図22】第2の実施の形態において経路シフト処理の前後における各経路の描画位置の変化の様子を表した図である。
【符号の説明】
【0111】
1 ナビゲーション装置
11 制御回路
12 ROM
13 RAM
14 現在地検出装置
15 画像メモリ
16 表示モニタ
17 入力装置
18 ディスクドライブ
19 DVD−ROM
30,40 リンク
61 現在地
62 目的地
【特許請求の範囲】
【請求項1】
出発地から目的地まで複数の経路を探索する経路探索手段と、
前記経路探索手段により探索された複数の経路の地図を表示モニタに表示する地図表示制御手段とを備え、
前記地図表示制御手段は、前記複数の経路のうちいずれか2以上の経路が同一の道路を重複して通っている場合、その重複部分をずらして表示することを特徴とするナビゲーション装置。
【請求項2】
請求項1のナビゲーション装置において、
前記地図表示制御手段は、前記重複部分をずらして表示するとき、元の形状を維持したままで、前記重複している各経路の全体をずらすことを特徴とするナビゲーション装置。
【請求項3】
請求項2のナビゲーション装置において、
前記地図表示制御手段は、前記重複している各経路の重心座標に基づいて、その各経路に対するずらし幅をそれぞれ設定することを特徴とするナビゲーション装置。
【請求項4】
請求項1のナビゲーション装置において、
前記地図表示制御手段は、前記重複部分をずらして表示するとき、その重複部分以外をずらさないで、前記重複している各経路の一部分のみをずらすことを特徴とするナビゲーション装置。
【請求項5】
請求項4のナビゲーション装置において、
前記地図表示制御手段は、前記重複している各経路における前記重複部分からの流出角度または前記重複部分への流入角度に基づいて、その各経路に対するずらし幅をそれぞれ設定することを特徴とするナビゲーション装置。
【請求項6】
請求項1〜5のいずれかのナビゲーション装置において、
前記地図表示制御手段は、前記重複部分をずらして表示するとき、予め定められた所定幅単位で各経路をずらすことを特徴とするナビゲーション装置。
【請求項7】
出発地から目的地まで複数の経路を探索する経路探索手段と、
前記経路探索手段により探索された複数の経路の地図を表示するための表示用データを作成するデータ作成手段と、
前記データ作成手段により作成された表示用データを外部へ配信するデータ配信手段とを備え、
前記データ作成手段は、前記複数の経路のうちいずれか2以上の経路が同一の道路を重複して通っている場合、その重複部分をずらして前記表示用データを作成することを特徴とする地図データ配信装置。
【請求項8】
請求項7の地図データ配信装置において、
前記データ作成手段は、前記重複部分をずらして前記表示用データを作成するとき、元の形状を維持したままで、前記重複している各経路の全体をずらすことを特徴とする地図データ配信装置。
【請求項9】
請求項8の地図データ配信装置において、
前記データ作成手段は、前記重複している各経路の重心座標に基づいて、その各経路に対するずらし幅をそれぞれ設定することを特徴とする地図データ配信装置。
【請求項10】
請求項7の地図データ配信装置において、
前記データ作成手段は、前記重複部分をずらして前記表示用データを作成するとき、その重複部分以外をずらさないで、前記重複している各経路の一部分のみをずらすことを特徴とする地図データ配信装置。
【請求項11】
請求項10の地図データ配信装置において、
前記データ作成手段は、前記重複している各経路における前記重複部分からの流出角度または前記重複部分への流入角度に基づいて、その各経路に対するずらし幅をそれぞれ設定することを特徴とする地図データ配信装置。
【請求項12】
請求項7〜11のいずれかの地図データ配信装置において、
前記データ作成手段は、前記重複部分をずらして表示するとき、予め定められた所定幅単位で各経路をずらすことを特徴とする地図データ配信装置。
【請求項13】
請求項7〜12のいずれかの地図データ配信装置と、
前記表示用データを受信して前記複数の経路の地図を表示する地図表示装置とを有する地図データ配信システム。
【請求項1】
出発地から目的地まで複数の経路を探索する経路探索手段と、
前記経路探索手段により探索された複数の経路の地図を表示モニタに表示する地図表示制御手段とを備え、
前記地図表示制御手段は、前記複数の経路のうちいずれか2以上の経路が同一の道路を重複して通っている場合、その重複部分をずらして表示することを特徴とするナビゲーション装置。
【請求項2】
請求項1のナビゲーション装置において、
前記地図表示制御手段は、前記重複部分をずらして表示するとき、元の形状を維持したままで、前記重複している各経路の全体をずらすことを特徴とするナビゲーション装置。
【請求項3】
請求項2のナビゲーション装置において、
前記地図表示制御手段は、前記重複している各経路の重心座標に基づいて、その各経路に対するずらし幅をそれぞれ設定することを特徴とするナビゲーション装置。
【請求項4】
請求項1のナビゲーション装置において、
前記地図表示制御手段は、前記重複部分をずらして表示するとき、その重複部分以外をずらさないで、前記重複している各経路の一部分のみをずらすことを特徴とするナビゲーション装置。
【請求項5】
請求項4のナビゲーション装置において、
前記地図表示制御手段は、前記重複している各経路における前記重複部分からの流出角度または前記重複部分への流入角度に基づいて、その各経路に対するずらし幅をそれぞれ設定することを特徴とするナビゲーション装置。
【請求項6】
請求項1〜5のいずれかのナビゲーション装置において、
前記地図表示制御手段は、前記重複部分をずらして表示するとき、予め定められた所定幅単位で各経路をずらすことを特徴とするナビゲーション装置。
【請求項7】
出発地から目的地まで複数の経路を探索する経路探索手段と、
前記経路探索手段により探索された複数の経路の地図を表示するための表示用データを作成するデータ作成手段と、
前記データ作成手段により作成された表示用データを外部へ配信するデータ配信手段とを備え、
前記データ作成手段は、前記複数の経路のうちいずれか2以上の経路が同一の道路を重複して通っている場合、その重複部分をずらして前記表示用データを作成することを特徴とする地図データ配信装置。
【請求項8】
請求項7の地図データ配信装置において、
前記データ作成手段は、前記重複部分をずらして前記表示用データを作成するとき、元の形状を維持したままで、前記重複している各経路の全体をずらすことを特徴とする地図データ配信装置。
【請求項9】
請求項8の地図データ配信装置において、
前記データ作成手段は、前記重複している各経路の重心座標に基づいて、その各経路に対するずらし幅をそれぞれ設定することを特徴とする地図データ配信装置。
【請求項10】
請求項7の地図データ配信装置において、
前記データ作成手段は、前記重複部分をずらして前記表示用データを作成するとき、その重複部分以外をずらさないで、前記重複している各経路の一部分のみをずらすことを特徴とする地図データ配信装置。
【請求項11】
請求項10の地図データ配信装置において、
前記データ作成手段は、前記重複している各経路における前記重複部分からの流出角度または前記重複部分への流入角度に基づいて、その各経路に対するずらし幅をそれぞれ設定することを特徴とする地図データ配信装置。
【請求項12】
請求項7〜11のいずれかの地図データ配信装置において、
前記データ作成手段は、前記重複部分をずらして表示するとき、予め定められた所定幅単位で各経路をずらすことを特徴とする地図データ配信装置。
【請求項13】
請求項7〜12のいずれかの地図データ配信装置と、
前記表示用データを受信して前記複数の経路の地図を表示する地図表示装置とを有する地図データ配信システム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【公開番号】特開2006−113460(P2006−113460A)
【公開日】平成18年4月27日(2006.4.27)
【国際特許分類】
【出願番号】特願2004−302967(P2004−302967)
【出願日】平成16年10月18日(2004.10.18)
【出願人】(591132335)株式会社ザナヴィ・インフォマティクス (745)
【Fターム(参考)】
【公開日】平成18年4月27日(2006.4.27)
【国際特許分類】
【出願日】平成16年10月18日(2004.10.18)
【出願人】(591132335)株式会社ザナヴィ・インフォマティクス (745)
【Fターム(参考)】
[ Back to top ]