図1は本発明による地図表示装置の一実施の形態のブロック図である。図1において、1は車両の現在地を検出する現在地検出装置であり、例えば車両の進行方位を検出する方位センサ1a、車速を検出する車速センサ1b、GPS(Global Positioning System)衛星からのGPS信号を検出するGPSセンサ1c等から成る。2は平面道路地図や住宅地図に関するデータを格納する地図記憶メモリであり、例えばCD−ROMおよびその読み出し装置から成る。地図記憶メモリ2に格納される道路地図データは、主に平面地図上の道路データ、名称データおよび背景データ等から成る。この地図記憶メモリ2には、後述するように、地図をメッシュ上に分割してなる小領域内の標高データをそれぞれ記憶する領域も設けられている。
3は装置全体を制御する制御回路であり、マイクロプロセッサおよびその周辺回路から成る。4は車両の目的地等を入力する各種スイッチを有する入力装置であり、本例では、表示画面の周囲に配設されている。詳細/広域スイッチ4a、4bは、表示地図を詳細表示したり広域表示するためのスイッチである。本例では、最詳細から最広域まで5段階に切換え可能とし、鳥瞰地図表示の場合、視点の高さを各段階に対してそれぞれ350m、700m、1400m、2800m、5600mに設定している。スクロールスイッチ4cは表示画面を上下左右にスクロールするためのものであり、種々の形態のスイッチを使用でき、いわゆるジョイスティックでもよい。現在地を中心に見下ろし方向を変更するスクロールスイッチを設けることもでき、この場合、画面は上下方向だけでなく、回転方向にもスクロールすることができる。入力装置4にはその他の地図スイッチ4dや図示しない各種スイッチが設けられる。なお、入力装置4をリモコン方式として、ワイヤレスあるいはワイヤードで制御回路に指令を送出してもよいし、画面内にタッチパネルスイッチを設けてもよい。
5Aは平面道路地図を真上から見て表示するための平面道路地図描画用データを格納する平面地図データ用メモリであり、地図記憶メモリ2から読み出した平面道路地図データに基づいて作成される。5Bは住宅地図を真上から見て表示するための住宅地図描画用データを格納する住宅地図データ用メモリであり、地図記憶メモリ2から読み出した住宅地図データに基づいて作成される。
6Aは平面道路地図を鳥瞰図法で表示するための鳥瞰地図描画用データを格納する鳥瞰地図データ用メモリであり、地図記憶メモリ2から読み出した平面道路地図データに基づいて作成される。平面地図を鳥瞰地図に変換する手法は周知であり説明を省略する。6Bは平面地図から作成される鳥瞰地図にさらに高さデータを加味して地表面の凹凸を表現した立体鳥瞰地図描画用データを格納する立体鳥瞰地図データ用メモリであり、地図記憶メモリ2から読み出した平面道路地図データと後述するメッシュ領域ごとの高さデータとに基づいて作成される。
7は後述する表示モニタ8に表示するための画像データを格納する画像メモリであり、この画像データは平面地図描画用データ、住宅地図描画用データ、鳥瞰地図描画用データ、および立体鳥瞰地図描画用データのいずれかひとつとVICS情報の図形データなどから作成される。画像メモリ7に格納された画像データは適宜読み出されて表示モニタ8に表示される。
9はFM多重放送受信装置、10は光ビーコン受信装置、11は電波ビーコン受信装置であり、それぞれFM多重放送電波、光ビーコン、電波ビーコンで送られる交通情報(以下、VICS情報と呼ぶ)を受信する。
VICS情報とは、渋滞情報、規制情報、駐車場情報、サービスエリア情報、パーキングエリア情報である。また、規制情報には車線規制情報と、高速道路のランプ規制情報、インターチェンジ規制情報が含まれる。渋滞情報は、道路の上下線ごとに分けて、渋滞を赤色で、混雑を黄色で、渋滞混雑なしを緑色で表示する。
図2および図3は高さデータを説明する図である。図2はいわゆる2次メッシュと呼ばれる広さ(たとえば緯度方向10km,経度方向12kmの広さ)の領域を緯度方向にn行、経度方向にm列に分割したn×m個(たとえば64個)の小領域を示すものであり、各小領域には高さデータが割当てられている。各小領域の高さデータは、小領域を通過する等高線に基づいて決定することができる。たとえば、200mと300mの等高線が中心線を軸線として対称に通過する場合には、高さデータは250mとなる。したがって、小領域の高さデータは標高のデータではない。
図3はその高さデータを格納する高さデータテーブルの具体例を示している。緯度方向0行の経度方向データ欄Data0には、経度分割番号0〜m(0列〜m列)で特定される小領域ごとにその高さデータがそれぞれ格納されている。同様に、緯度方向1〜n行の経度方向データ欄Data1〜Datanのそれぞれには、経度分割番号0〜m(0列〜m列)で特定される小領域ごとにその高さデータがそれぞれ格納されている。なお、n行m列の小領域には通常メッシュ番号が付されて管理される。
図4は図2と同様の2次メッシュの広さの領域内に存在する道路を示している。ここで、経度方向の最大座標をXmax、緯度方向の最大座標をYmaxとする。図4において1本の道路Rは要素点(ノードとも呼ぶ)0,1,2……n−1,nで定義されている。要素点0を始点、要素点nを終点と呼び、始点0と終点nとの間の要素点1,2,……n−1を補間点、道路Rをリンク列とも呼ぶ。また、各要素点を結ぶ線分をリンクと呼び、各リンクはリンク番号で区別される。始点0、終点n、補間点1〜n−1はそれぞれXおよびY座標データで地図上での位置が特定される。図5は道路Rのデータが格納される道路データテーブルの具体例を示し、1つのリンク列を構成する要素点0〜nのそれぞれについてX座標およびY座標が格納されている。なお、道路データテーブルには、リンク列のサイズ、リンク列を構成する要素点の数、リンクの属性(国道、県道、高速道路、トンネル、橋など種別データ)、路線番号なども合わせて格納される。
図6は図2の2次メッシュ領域に図4の道路Rを重ね合わせて示すもので、要素点0〜nは2次メッシュのいずれかの小領域に含まれている。要素点0〜nがどの小領域に含まれるかは以下の(1)式および(2)式の演算により求められる。
経度方向分割番号=(Xi/Xmax)×経度分割数m …(1)
緯度方向分割番号=(Yi/Ymax)×緯度分割数n …(2)
ここで、Xi、Yiはそれぞれ要素点0〜nのX座標、Y座標である。
このようにして求められた経度方向分割番号と緯度方向分割番号で特定される小領域の高さデータを図3の高さデータテーブルから読み出し、図7に示すような3次元道路データテーブルを作成する。図7のデータテーブルには、要素点0〜nについてのXおよびY座標と高さデータが格納されている。
このような要素点0〜nの2次元位置座標を鳥瞰地図上の2次元位置座標に変換し、さらに各要素点の高さデータも加味して各要素点をモニタ上に設定されているスクリーン座標に変換することにより、図8に実線Rsolで示すように道路Rを立体的に表示することができる。なお、破線Rdotは鳥瞰地図上で高さデータを加味しない場合の道路を示し、この明細書ではこのように高さを加味しないで鳥瞰地図表示する場合を単に鳥瞰地図表示と呼び、高さを加味して鳥瞰地図表示する場合を立体鳥瞰地図表示と呼ぶ。
次に図2に示した2次メッシュ小領域の高さデータに基づいてスクリーン座標上で小領域の高さを階調表示して立体的な鳥瞰地図を作成する手順について説明する。
図9は図2の左隅を拡大して示す図である。0行0列の小領域をR00、0行1列の小領域をR01、1行0列の小領域をR10、1行1列の小領域をR11とし、各小領域R00〜R11の中心点をQ0〜Q3とする。中心点Q0〜Q3の位置座標は既知であり、また、各小領域R00〜R11の高さも高さデータテーブルから既知である。したがって、各小領域R00〜R11の中心点Q0〜Q3の高さを小領域R00〜R11の高さと仮定すれば、これら4点で囲まれる面PL0の3次元位置座標を演算することができる。4つの中心点Q0〜Q3の高さが等しい場合には、面PL0を鳥瞰地図上の面に変換し、さらにその面をモニタ画面上の面に変換する。面PL0は同じ高さであるからモニタ画面上の面PL0に相当する面内の画素は全て同一色で表示される。
次に、面PL0の各点Q0〜Q3の高さがそれぞれ異なる場合の色彩の表現方法について説明する。面PL0の各点Q0〜Q3の高さがそれぞれ異なる場合には、たとえば図9に示すように、四角形PL0を中心点Q0、Q1、Q2で囲まれる三角形TR1と、中心点Q0、Q2、Q3で囲まれる三角形TR2に分割し、それぞれの三角形領域内の各画素の色彩を演算して階調表現する。図10(a),(b)により詳細に説明する。
図10(a)はモニタ画面を画素(ドット)の集合で表したものであり、スクリーン座標系である。1つの升目が1つの画素(ドット)を表している。点P0は図9の小領域R00内に、点P1は小領域R01内に、点P2は小領域R11内にそれぞれ位置するQ0、Q1、Q2の点に対応する画素である。図10は、図9の平面図をモニタ画面上に鳥瞰図で表したものであるため、図9の点Q0、Q1、Q2の直角3角形はTR1は、図10では点P0、P1、P2と鳥瞰図の座標変換に対応して変形している。各点P0,P1,P2はそれぞれスクリーン座標系におけるXおよびY座標とカラーパレット番号を有し、それぞれのデータは[X0,Y0,C0]、[X1,Y1,C1]、[X2,Y2,C2]のように表すことができる。ここで、XおよびY座標はモニタの水平方向画素番号と垂直方向画素番号であり、Cはカラーパレット番号であり、高さデータに予め割当てられている色を特定する番号である。カラーパレット番号については後に詳述する。
点P0,P1,P2で囲まれた領域の各画素の色の階調は次のようにして演算される。図10(b)は、点P0,P1,P2で囲まれた領域のうち、点P2からP1までの緯度座標Y2〜Y1まで上半分の領域(経度方向LG1と緯度方向LT1で特定される領域)の階調表示の演算を説明する図である。
図10(b)において、描画始点画素をSx、描画終点画素をEx、始点カラーパレット番号をScolor、終点カラーパレット番号をEcolor、描画始点から描画終点に向うカラー増分をCP、任意の緯度において経度方向に延在する描画画素ラインのY座標をypとするとき、それぞれは次式(3)〜(7)で表される。
Sx=X0+{(X2−X0)/(Y2−Y0)}×(yp−Y0) …(3)
Ex=X1+{(X2−X1)/(Y2−Y1)}×(yp−Y1) …(4)
Scolor=C0+{(C2−C0)/(Y2−Y0)}×(yp−Y0) …(5)
Ecolor=C1+{(C2−C1)/(Y2−Y1)}×(yp−Y1) …(6)
CP=(Ecolor−Scolor)/(Ex−Sx) …(7)
図10(c)は、点P0,P1,P2で囲まれた領域のうち、点P0からP1までの緯度座標Y0〜Y1まで下半分の領域(経度方向LG1+LG2と緯度方向LT2で特定される領域)の階調表示の演算を説明する図である。階調表示は次式(8)〜(12)により演算される。
Sx=X0+{(X2−X0)/(Y2−Y0)}×(yp−Y0) …(8)
Ex=X0+{(X1−X0)/(Y1−Y0)}×(yp−Y0) …(9)
Scolor=C0+{(C2−C0)/(Y2−Y0)}×(yp−Y0) …(10)
Ecolor=C0+{(C1−C0)/(Y1−Y0)}(yp−Y0) …(11)
CP=(Ecolor−Scolor)/(Ex−Sx) …(12)
以上の式(3)〜(12)を使用して、図10(a)の点P0、P1、P2で囲まれた三角形の領域を階調表示して描画(グラデーション処理)する制御フローを図30により説明する。図30において、まずステップS401では、描画すべき3角形の頂点を求め、Y軸方向の描画始点画素Ymin、描画終点画素Ymaxを求める。図10(a)では、3角形の頂点のスクリーン座標系(モニタ画面)の座標(画素番号)は、点P0,P1,P2が[X0,Y0]、[X1,Y1]、[X2,Y2]で与えられているので、Ymin=Y0、Ymax=Y2である。ステップS402で、Y軸方向の変数ypにYminを代入する。ステップS403で、Y座標ypにおけるX軸方向の描画始点画素Sx、描画終点画素Exを求める。図10(a)では、ypがY0からY1までのときは式(8)(9)を使用し、ypがY1からY2のときは式(3)(4)を使用する。ステップS403で、X軸方向の変数xpに求めた描画始点画素Sxを代入する。ステップS405で描画始点画素Sx、描画終点画素Exにおけるカラーパレット番号Scolor、Ecolorを求める。ypがY0からY1までのときは、式(10)(11)を使用し、ypがY1からY2のときは式(5)(6)を使用する。ステップS406で、カラーパレット番号変数cにScolorを代入する。ステップS407で、式(7)あるいは式(12)よりカラー増分すなわちカラーパレット番号の増分CPを求める。
ステップS408で、画素(xp、yp)において、カラーパレット番号cの描画色で描画する。ステップS409でカラーパレット番号を増分CPを足すことにより次のカラーパレット番号に設定して階調を変更し、ステップS410でxpをプラス1することによりX軸方向の隣の画素に設定する。ステップS411で、xpが描画終点画素Exを超えているかどうかを判断し、超えていると判断されるとステップS412に進む。まだ超えていないと判断されると、ステップS408に戻りY座標ypのラインにおけるX方向の描画を完成すべく処理を繰り返す。ステップS412では、ypにプラス1し、Y軸方向へ画素のラインを1つずらす。ステップS413で、ypがY軸方向の描画終点画素Ymaxを越したかどうかを判断し、越したと判断された場合は、全ての描画が完成したので処理を終了する。越していないと判断されるとステップS403に戻り処理を繰り返す。
図10(a)の点P0,P1,P2で囲まれた領域以外の2つの三角形領域についても同様にして階調演算が行なわれ描画が行われる。図10(a)の点P0とP1を結ぶ線の下の領域は、点P0,P1およびP1に緯度方向に隣接する小領域内の中心点で囲まれる三角形を使用し、図10(a)の点P0とP2を結ぶ線の上の領域は、点P0,P2およびP0に緯度方向に隣接する小領域内の中心点で囲まれる三角形を使用して、それぞれ階調演算が行なわれ描画が行われる。なお、上述の小領域内の点については、中心点を使用せず任意の点を使用して、階調演算および描画処理を行ってもよい。
このような階調演算および描画処理によれば、図9の点Q0〜Q3で囲まれた四角形あるいは三角形TR1,TR2の領域内が高さに応じて階調表示されて立体感が表現される。すなわち、四角形の4隅の点が同一の高さであればその四角形内は同一の色彩で塗り潰し、4隅の高さが異なる場合には四角形を2つあるいは3つの三角形に分割し、それぞれの三角形内の画素の色彩を変更して階調表示することにより、モニタには図11に示すように、立体的に表した地表面上に図8のような3次元道路や湖などが重ね合わされて立体鳥瞰地図が表示される。したがって、従来の鳥瞰地図の地表面が平坦面として表現されていたものが、各地点の高さに応じた凹凸が表現され、より立体感あふれるリアルな画像となる。
なお、以上では便宜上、点Q0〜3で囲まれる面PL0やTR1,TR2について説明したが、モニタ画面上にこれらの面の形状が表示されるものではなく、あくまでその面内を階調表示して鳥瞰地図の地表面を立体的に表示するための面である。
次に階調表示に使用する色彩について説明する。1画面に表示される地図の標高差はまちまちであり、予め定めた標高差ピッチで色彩を変更して階調表示するようにすると、標高差が小さいときは階調数が少なくなってしまい、立体的な表示が難しくなる。そこで、この実施の形態では、次のようにして1画面内で使用する階調数を標高差(各領域の高さデータの差)にかかわらず同数としてより立体的な表示を可能とする。
図29はカラーデータテーブルを説明する図である。高さ0〜1000m,1000m〜2000m,2000m〜3000m,3000m〜4000mの4つの高さ領域ごとのカラーデータとして、それぞれ#0カラーデータ〜#nカラーデータを割当てる。すなわち、標高差1000mに対するカラーデータ数はn個であり、1つのカラーデータ当りの高さCh(予め定められた固定の階調ピッチ)は1000/(n+1)(m)で表される。なお、4つの高さ領域カラーデータに割当てられる#0〜#nカラーデータは4つの高さ領域カラーデータごとにそれぞれ異なる色彩である。従って、標高に対応した色としては4×(n+1)色のカラーが使用される。ただし、本実施の形態では、この4×(n+1)色のカラーから所定数のカラーをカラーパレットに抜き出して登録し、カラーパレットを介して色の描画を行う。
図31は、このカラーパレットを作成する処理についてのフローチャートである。この実施の形態で使用するカラーパレット数の最大値をm(<n)とする。まずステップS501で、描画領域内の複数の小領域の最大高さ最小高さを求め、高さの差Δhを算出する。ステップS502で、最小高さと最大高さの差Δhをカラーデータ当りの高さ(固定階調ピッチ)Chで除し必要なカラー数を求める。ステップS503では、求めたカラー数がカラーパレット作成最大値mより大きいか小さいかを判断する。カラー数がm以下ならば、ステップS504に進みテーブル増分値を1に設定する。カラー数がm以下ということは、最小高さのカラーデータから順番に、上記固定階調ピッチでm個のカラーデータを選択してm個のカラーパレットにそれぞれ設定できることを意味する。
カラー数がmより大きいと判断されると、ステップS505に進み、求めたカラー数をカラーパレット作成最大値mで除してテーブル増分値を求める。小数点以下は切り上げ整数化する。必要とするカラー数がmより大きいということは、カラーパレット数の制限から、固定階調ピッチCh単位で色を変えて描画することはできないことを意味している。従って、カラーパレットには以下の手順によりテーブル増分値に応じてカラーテーブルから飛び飛びのカラーが選択されて登録される。
ステップS506では、カラーポインタにステップS501で求めた最小高さに対応するカラーテーブルのアドレスを設定し、カラーパレットポインタにカラーパレットの先頭アドレスを設定する。ステップS507では、カラーパレットポインタの示すカラーパレットにカラーポインタの示すカラーデータのデータを設定する。ステップS508で、カラーポインタにステップS504あるいはステップS505で求めたテーブル増分値を加算し、カラーパレットポインタには1を加算する。ここでは、加算値が1ということは隣のデータ領域のアドレスに設定されること意味する。ステップS509で、カラーポインタがステップS501で求めた最大高さに対応するアドレスを超えたかどうかを判断する。まだ超えていないと判断されるとステップS507に戻り処理を繰り返す。超えたと判断されると、描画領域内の最小高さから最大高さに対応するカラーのカラーパレットへの登録(割り当て)が完了したので処理を終了する。
なお、図29に示す2つの高さ領域カラーデータに跨がる場合にも、各高さ領域データから所定数のカラーデータが選択される。例えば、0〜1000mと1000m〜2000mの領域に跨がるとき、0〜1000mの高さ領域カラーデータから#n−1カラーデータと#nカラーデータが選択され、1000m〜2000mの高さ領域カラーデータから#0カラーデータ〜#3カラーデータが選択される。
次に、鳥瞰地図表示における表示領域の分割について説明する。鳥瞰地図表示では、モニタ画面を上下に2〜4分割し、各領域ごとに表示に使用するデータ量を変えている。すなわち、自車位置近傍は大きく表示されるため、縮尺の小さい(縮尺率の大きい)道路地図データ(たとえばレベル1の地図)を使用し、画面上方の領域では広い領域を表示するため、縮尺の大きい(縮尺率の小さい)道路地図データ(たとえばレベル2の地図)を使用する。そのため、上述した立体表示のための処理に使用する道路地図データも上下の領域で異なる。その結果、上下領域の境界で階調表示が途切れたり、3次元道路データテーブルに基づいて描画される道路が途切れたりするおそれがある。
そこでこの実施の形態では次のようにして上記問題を解決する。図12〜図15により説明する。
図12は地表面の標高差を考慮しない場合(静的描画)の領域分割を説明する図であり、図13は地表面の標高差を考慮した場合(動的描画)の領域分割を説明する図である。図12において、P0は鳥瞰図法による視点、P1はモニタ画面の最下方位置に対応する地図上の境界位置、P2はモニタ画面上の領域分割位置に対応する地図上の境界位置、P3はモニタ画面最上方位置に対応する地図上の境界位置、PMはモニタ画面中央に対応する地図上の点である。なお、自車位置は地点P1とP2の間のP1に近い位置である。
視点P0は自車位置の後方350mの地点PCの上空350mに位置する。画面最下方位置P1は視点P0から見降ろし角度β(=52°)で地上を見降ろした場合の地表面(地点PCと同一の高さ)との交点であり、画面中央位置PMは視点P0から見降ろし角度θ(=23°)で地上を見降ろした場合の地表面(地点PCと同一の高さ)との交点であり、領域分割位置P2は視点P0から見降ろし角度γ(=20°)で地上を見降ろした場合の地表面(地点PCと同一の高さ)との交点であり、画面最上方位置P3は地点PCから車両進行方向に7000m離れた地表面(地点PCと同一の高さ)の位置である。
以上の説明から、地表面の標高差を考慮しない静的描画の場合には、領域分割位置P2から画面最下方位置P1までの領域が詳細情報領域、領域分割位置P2から画面最上方位置P3までが広域情報領域となる。たとえば、地図データがレベル1〜6までの6段階に区分されている場合、詳細情報領域はレベル1のデータを用いて鳥瞰地図を描画し、広域情報領域はレベル2のデータを用いて鳥瞰地図を描画する。
次に図13により動的描画の場合について説明する。実際の地表面が実線SLDで示すように、自車位置後方350mの地点PCから車両進行方向に向って下り勾配であるとき、視点P0から見降ろし角度βで見降ろした場合の地表面との交点である画面最下方位置P1’は静的描画の場合の画面最下方位置P1よりも車両進行方向側の位置となる。視点P0から見降ろし角度γで見降ろした場合の地表面との交点である領域分割位置P2’も静的描画の場合の領域分割位置P2よりも車両進行方向側の位置となる。
実際の地表面が破線SLUで示すように、自車位置後方350mの地点PCから車両進行方向に向って上り勾配であるとき、視点P0から見降ろし角度βで見降ろした場合の地表面との交点である画面最下方位置P1”は静的描画の場合の画面最下方位置P1よりも視点側の位置となる。視点P0から見降ろし角度γで見降ろした場合の地表面との交点である領域分割位置P2”も静的描画の場合の領域分割位置P2よりも視点側の位置となる。
このように、地表面の高さデータに基づいて地表面の凹凸を表現する場合(立体鳥瞰地図を表示する場合)には、上述したようにして算出される高さデータに応じて詳細情報領域と広域情報領域を決定する必要がある。以下、自車位置後方350mの地点PCよりも地表面の高さが低い場合と高い場合に分けて説明する。
図14において、Lγは視点P0から見降ろし角度γで地表面を見降ろした場合の見降ろし線であり、地点PCと同じ高さとした場合の地表面との交点が領域分割位置P2である。この分割位置P2から車両進行方向に所定距離PL離れた地点P21における見降ろし線Lγの高さ変化Δhを
Δh=PL×tanγ ...(13)
から算出し、見降ろし線Lγ上の地点P21γの高さhpを
hp=h0−n×Δh ...(14)
ただし、h0は地点PCの高さ、nは繰り返し数であり1以上の整数から算出するとともに、地点P21に対応する実地表面上の地点P21aの高さhlを求める。
なお、h0、hlに対応する各地点PC、P21aはそれぞれいずれかのメッシュに含まれるから、それぞれのメッシュについて上述したようにして算出される高さデータをh0、hlとして用いることができる。
次に、地点P21に関するhlとhpを比較する。hlが大きければそのときの地点P21を領域分割位置P2’とする。hlが小さければ、地点P21からさらに所定距離PL離れた地点P22に対応する地点P22γとP22aについて、同様にしてhlとhpを算出して両者を比較する。そして同様に、hlが大きければそのときの地点P22を領域分割位置P2’とする。hlが小さければ、地点P22からさらに所定距離PL離れた地点P23に対応する地点P23γとP23aについて、同様にしてhlとhpを算出して両者を比較する。
このようにして順次に地点P2nγ(nは繰り返し数であり1以上の整数)と地点P2na(nは繰り返し数であり1以上の整数)についてhlとhpを算出し、hlが大きければそのときの地点P2n(nは1以上の整数)を領域分割位置P2’とする。図14の場合には地点P24が領域分割位置P2’となる。
図15において、Lγは視点P0から見降ろし角度γで地表面を見降ろした場合の見降ろし線であり、地点PCと同じ高さとした場合の地表面との交点が領域分割位置P2である。この分割位置P2から地点PC方向に所定距離PL離れた地点P21における見降ろし線Lγの高さ変化Δhを
Δh=PL×tanγ ...(15)
から算出し、見降ろし線Lγ上の地点P21γの高さhpを
hp=h0+n×Δh ...(16)
ただし、h0は地点PCの高さ、nは繰り返し数であり1以上の整数から算出するとともに、地点P21に対応する実地表面上の地点P21aの高さhlを求める。
なお、h0、hlに対応する各地点PC、P21aはそれぞれいずれかのメッシュに含まれるから、それぞれのメッシュについて上述したようにして算出される高さデータをh0、hlとして用いることができる。
次に、地点P21に関するhlとhpを比較する。hlが小さければ1つ前の地点P2を領域分割位置P2’とする。hlが大きければ、地点P21からさらに所定距離PL離れた地点P22に対応する地点P22γとP22aについて、同様にしてhlとhpを算出して両者を比較する。そして同様に、hlが小さければ1つ前の地点P21を領域分割位置P2’とする。hlが大きければ、地点P22からさらに所定距離PL離れた地点P23に対応する地点P23γとP23aについて、同様にしてhlとhpを算出して両者を比較する。
このようにして順次に地点P2nγ(nは繰り返し数であり1以上の整数)と地点P2na(nは繰り返し数であり1以上の整数)についてhlとhpを算出し、hlが小さければ1つ前の地点P2n−1(nは1以上の整数)を領域分割位置P2’とする。図15の場合には地点P22が領域分割位置P2’となる。
このように、地表面の高さを考慮して領域分割位置を変更することにより、地表面の凹凸を表現した場合に詳細情報領域と広域情報領域との境界付近で画像が途切れることがない。
なお、下り勾配では、高さの差が大きくなるほど領域分割位置P2が車両進行方向前方に位置することになり、その位置を制限しないと詳細情報領域が広域情報領域に比べて大きくなり過ぎる。そこで、この実施の形態ではその場合の最大値を規定して制限している。
図36は、上述の考え方を基にして動的描画における領域分割位置を求める制御フローチャートを示す図である。この処理は、図1における制御回路3において実行され、自車位置が検出され、それに基づいて図12等における地点PC、P2などの位置データ(位置座標)が求められているという前提で開始される。また、以下のフローチャートの説明では図12〜図15における符号を参照して説明をする。
まずステップS901で変数nをn=0とする。ステップS902で点PCから点P2までの地表面が平坦であるか上り勾配か下り勾配かを判断する。具体的にはP2の位置に対応する地表面の高さデータと地点PCの高さデータとを取得して、P2の位置に対応する地表面の高さデータが地点PCの高さデータより大きい場合は上り勾配で、小さい場合は下り勾配で、等しい場合は平坦であると判断する。P2の位置に対応する地表面の高さデータと地点PCの高さデータは、それぞれの点はいずれかのメッシュに含まれるので、対応する前述の各メッシュの高さデータより取得する。
ステップS902で下り勾配と判断されればステップS903に進み変数nをプラス1する。以下、図14の符号を参照して説明を進める。ステップS904で、P2から所定距離PLをn倍した距離だけPCより遠方に離れた地点の位置を求める。この位置をP2nとすると、P2n=P2+n×PLより求めることができる。ステップS905で、この地点P2nにおける見降ろし線Lγ上の点P2nγの高さhpを前述の数式(14)より求める。ステップS906で、地点P2nにおける地表面P2naの高さhlを求める。これは、P2nの位置座標が分かっているのでそれに対応するメッシュの高さデータより求めることができる。
ステップS907で、見降ろし線上の高さhpが地表面の高さhlより大きいかどうかを判断する。見降ろし線上の高さhpが地表面の高さhlより大きいと判断されるとステップS903に戻り処理を繰り返す。ステップS907で、見降ろし線上の高さhpが地表面の高さhlより大きくないと判断されるとステップS908に進む。ここで、見降ろし線上の高さhpが地表面の高さhlより大きいということは、見降ろし線Lγが下り勾配の地表面に到達せずまだ交差していないことを意味する。一方、見降ろし線上の高さhpが地表面の高さhlと等しいか、それより小さいということは、見降ろし線Lγが下り勾配の地表面と交差したか交差して通り過ぎたことを意味する。
ステップS908では、地点P2nの位置を領域分割位置(P2’)として処理を終了する。図14では、n=4の場合でP24が新たな領域分割位置となる。
一方、ステップS902で平坦であると判断されると、領域分割位置はP2の点のままでよいためそのままステップS908に進む。ステップS908では、n=0であるので地点P2がそのまま領域分割位置とされる。
ステップS902で上り勾配であると判断されると、ステップS909に進み上り勾配における領域分割位置の決定処理がなされる。ステップS909の処理は、前述した図15の上り勾配の説明における考え方を基にして、上述の下り勾配と同じ様な手法で、今度は逆に自車位置側方向にサーチし、見降ろし線Lγと地表面が交差する点あるいはその手前の点を求めるようにすればよい。従って、詳細な内容は省略する。
以上のように、視点P0からモニタ画面上の領域分割位置に対応する点P2を見降ろし通過した線Lγが、高さデータを考慮して求められた地表面と交差する点(正確には交差する点に近い点)を求めることにより、新たな領域分割位置P2’を求めることができる。そして、この点を基準に詳細地図データと広域地図データの使用範囲を決定することができる。なお、上述のPC、P2、P2n、P2’は、例えば画面中央を下から上へ引いた一直線上に並んだ点に対応するものであり、地図データの領域分割は、新たに求められた領域分割位置P2’を通りかつこの直線と垂直な画面上の水平線により分割される。
次に、図16および図17により、立体鳥瞰地図にトンネルを表示する場合について説明する。トンネルのデータは図5の道路データテーブルの中に1つのリンク列データとして持つことができる。この場合、道路データテーブルには、リンク列がトンネルであることを示すリンク列属性データ欄を設けておき、リンク列がトンネルであればリンク始点と終点がトンネル入口、出口と認識することができる。したがって、上述したように、トンネルの入口と出口が2次メッシュ領域のどの領域に含まれるかを(1)式および(2)式により求め、それらの緯度方向分割番号と経度方向分割番号を演算し、図3の高さデータテーブルからトンネル入口と出口の高さデータを求める。
トンネルのリンク列データとして、その始点と終点との間に補間点がある場合には、道路データテーブルには補間点のXおよびY座標が格納されており、上述したようにして補間点の高さを演算すると次のような問題が生じる。
すなわち、補間点の高さデータは補間点が地表面にある場合の高さデータとして演算されるので、この高さデータにより図8のような手法でトンネルを立体鳥瞰地図上に重ね合わせて表示すると、補間点が地表面にあることになり、図16のようにトンネル入口と出口を結ぶ線TNが山の表面を走るような違和感のある表示となってしまう。
そこでこの実施の形態では、トンネル内の補間点の高さをトンネル入口の高さと出口の高さの比例配分で求めるものである。すなわち、入口の高さデータが500m、出口の高さデータが1000m、補間点が入口と出口の中間点に位置する場合には、補間点の高さデータは750mとなり、補間点は750mの高さの位置に表されることになる。その結果、図17に示すように、トンネルが地表面下に破線TNで表示される。
以下、このトンネル描画処理を図32のフローチャートにより説明する。まずステップS601でトンネルの入口の高さを求め、ステップS602でトンネルの出口の高さを求める。トンネルの入口と出口の高さは、前述したように、トンネルリンク列データおよび式(1)(2)より求める。ステップS603では、トンネルの入口と出口の高さの差を求める。
次に、トンネルの入口と出口の間にある補間点の高さについて順次演算する。まず、ステップS604で、選択された補間点のXY座標データより、この補間点がトンネルの入口と出口を結ぶ直線上にあるかどうかを判断する。直線上にあると判断された場合はステップS606に進み、直線上にないと判断された場合はステップS605に進む。直線上にない場合は、ステップS605で、この補間点が入口と出口を結ぶ直線上のどのポイントに対応するかを演算する。具体的には、補間点の座標からトンネルの入口と出口を結ぶ直線に垂線をおろしたその交点を対応するポイントとする。これは、補間点が直線上にない場合に、その補間点の高さがこの垂線と入口と出口の直線との交点のポイントとほぼ等しいであろうとの仮定によるものである。
そして、ステップS606で補間点の高さを演算する。補間点が直線上にある場合はその直線上のポイント、補間点が直線上にない場合はステップS605で求めた対応する直線上のポイントの座標により、トンネルの入口と出口の直線上においてどこまで進んだポイントかを求め、その距離によって入口と出口の標高差を単純に比例配分してそのポイントの高さを求める。これにより補間点の高さが求まる。ステップS607では、求められた補間点の高さデータ基づき3D座標変換をし、立体鳥瞰図におけるトンネルをトンネル線種(図17の例では破線)で描画する。ステップS608で、すべての補間点について処理が終了したかを判断し、まだ終了していない場合はステップS604に戻り処理を繰り返す。終了している場合は処理を終わらせる。
このようにして、図17に示すように、立体鳥瞰図においてトンネルが地表面下にあるように破線TNで表示される。図17の例では、トンネルが直線1本の例で示されているが、トンネル内でカーブしておりそのカーブの状態が補間点で示されている場合は、図32の処理によりカーブした内容で表示される。すなわち、立体鳥瞰図において、トンネル内の道路がカーブしていればカーブした内容で、しかも実際の高さに対応した3次元表示がなされる。その場合、破線などのトンネルの線種で表されるので、立体表示された道路が地表面下のトンネルであることがすぐに分かる。
−推奨経路演算について−
(1)詳細情報表示
図18は入力された目的地にしたがって推奨経路を設定する処理のフローチャートである。ステップS1では、現在位置から目的地までの推奨経路を演算して設定する。目的地は入力装置4を介して操作者によって設定され、推奨経路は例えば周知のダイクストラ法等を用いた演算によって自動的に設定される。この場合、現在地は現在地検出装置で検出した位置を使用することができる。ステップS2では、中央演算処理装置3のRAMの所定領域に推奨経路のデータを格納して推奨経路データテーブルを作成する。ステップS3では、推奨経路上の誘導ポイントでの誘導案内のデータを中央演算処理装置3のRAMに格納して誘導ポイントテーブルを作成する。
推奨経路データテーブルは、基本的にはメッシュ番号とリンク番号が現在地から目的地に向って順番に格納されて構成される。誘導ポイントテーブルは、推奨経路の始点から誘導ポイントまでの距離のデータと、各誘導ポイントで案内する方向のデータから構成される。
図19は、経路探索演算が終了したときに鳥瞰地図上に出発地から目的地までの全ルートを表示した場合の一例を示す図である。自車位置マークM1が出発地、目的地フラグマークP1が目的地である。図19から分かるように、鳥瞰地図上に経路探索結果を全経路表示する場合には、演算された推奨経路の目的地をモニタ画面中央部において鳥瞰地図の上方に位置させる。
図20(a)は、出発地を大蔵省前、目的地を座間とした場合の推奨経路をモニタ画面上にデフォルメして示す図である。図20(a)には、出発地から目的地までの間の主要な地点の名称あるいは高速道路出入口を縦長の枠で囲み、この枠を目的地に向う矢印で接続して表している。
図20(a)において、霞ケ関ランプと東京インターチェンジとの間には、首都高速環状線/3号線の文字を枠で囲ったボタンDB1が表示されている。東京インターチェンジと横浜インターチェンジとの間には東名の文字を枠で囲ったボタンDB2が表示されている。例えば、ボタンDB1を操作すると、モニタ画面は図20(b)に示すように切換わり、霞ケ関ランプと東京インターチェンジとの間にある高樹町ランプと三軒茶屋ランプが表示される。横浜インターチェンジと目的地座間の表示は消える。ボタンDB2を操作すると、モニタ画面は図20(c)に示すように切換わり、東京インターチェンジと横浜インターチェンジの間にある東名川崎インターチェンジが表示される。ボタンDB1は表示されたままである。
すなわち、経路探索結果を1画面上に全ルート表示する場合、全ての地点情報をデフォルメして表すと文字が小さくなり見ずらくなるので、図20(a)のように、主要な地点情報のみを表示するようにしている。しかしながら、たとえば通過地点により走行経路を確認したり、あるいは事前に休憩地点を決めておく必要がある場合には、従来は、デフォルメした全ルート表示をいったん地図表示画面上での全ルート表示に切換え、その上で通過地点の確認や休憩場所をチェックする必要がある。その点、図20(a)のように、詳細地点情報がある場合にはその区間にボタンマークDBを表示し、そのボタンDBが操作されたときに図20(b)に示す詳細情報表示画面に切換えるようにして、全経路表示の見づらさを解消し、かつ乗員に経由地の情報を豊富に提供することができる。
(2)地点名称のスクロール
図21(a)〜図21(c)は、出発地を大蔵省前、目的地を座間とした場合の推奨経路の全ルートを図20(a)のように表示して走行を開始した場合、車両の走行にともなってモニタ画面上の表示がどのように変化するかを説明する図である。
図21(a)は走行開始直後のモニタ画面である。大蔵省前の地点情報の上方に自車位置マークM1を表示して、車両が出発地である大蔵省前にいることを示している。また、図21(a)の例では、1度に5箇所の地点名称を表示するようにし、図20(a)のモニタ表示のまま走行を開始すると、詳細情報も含めた5箇所の地点名称を表示するようにしている。
車両が霞ケ関ランプに来ると、モニタ画面は図21(a)から図21(b)に切換わり、霞ケ関ランプを先頭に東名川崎インタチェンジまで表示される。車両が高樹町ランプに来ると、モニタ画面は図21(b)から図21(c)に切換わり、高樹町ランプを先頭に横浜インタチェンジまで表示される。車両が三軒茶屋ランプに到達すると、モニタ画面は図21(c)から図21(d)に切換わり、三軒茶屋ランプを先頭に目的地である座間まで表示される。
なお、図21(a)〜図21(d)においては、自車位置が次の地点情報箇所にくるとモニタ画面を切換え、自車位置が位置する地点情報をモニタ画面の最も左に表示して新たな地点情報を最も右側に表示するように画面を左方向にスクロールしている。換言すると、自車位置マークは画面上でいつも左端の地点情報の上方に表示されるようにした。このようなスクロールに代えて、走行にともなって自車位置マークを図21(a)のM2、M3、M4、M5のように該当する地点情報の上方に表示するようにし、自車位置マークが最も右の地点情報に位置したときに(たとえば東京インターチェンジに到達したとき)、その地点情報(東京インターチェンジ)を画面の最も左の位置に表示するようにスクロールしてもよい。
図22(a)は、推奨経路演算終了後にモニタ画面に表示される全ルート表示であり、図20(a)の場合と同様な図である。図22(a)では、出発地点である大蔵省前の地点情報の上方に自車位置マークを表示し、走行とともに自車位置マークをM1,M2のように移動する。車両が霞ケ関ランプに到達すると、図22(b)に示すように、霞ケ関ランプと東京インタチェンジとの間の詳細情報である高樹町ランプと三軒茶屋ランプが新たに表示され、また、東京インタチェンジと横浜インタチェンジとの間の東名川崎インタチェンジも新たに詳細情報として表示される。このように、走行にともなって車両が詳細情報が存在する地点に来ると自動的に詳細地点情報を含む経路表示に切換えるようにしてもよい。
(3)デフォルメ表示制御フロー
図33は、上述のデフォルメルート表示の制御の様子を示すフローチャートである。本ルーチンは、経路探索演算が終了した後開始される。
ステップS701では、情報表示イベントがあったかどうかが判断され、情報表示イベントがあったと判断されるとステップS702に進む。情報表示イベントとはデフォルメされた通常情報を表示するためのイベントである。ステップS702では、自車位置前方のデフォルメされた通常情報を最大5個取り出し、ステップS711に進みその内容が表示される。上述の例では、例えば図20(a)の表示である。
ステップS703では、自車位置更新イベントがあったかどうかが判断され、自車位置更新イベントがあったと判断されるとステップS704に進む。自車位置更新イベントとは、車両がデフォルメされたある表示位置から隣の位置へ移った時に発生するイベントである。ステップS704では、自車位置前方のデフォルメされた通常情報あるいは詳細情報を最大5個取り出し、ステップS711に進みその内容が表示される。自車位置マークは左端のデフォルメ表示の上に表示される。上述の例では、例えば図21(a)〜図21(d)の表示である。図21(a)〜図21(d)は詳細情報も含めて表示するモードになっているため、通常情報と詳細情報を含めて自車位置前方の最大5個の情報を取り出す。通常情報のみの表示モードの場合は、自車位置前方の通常情報を最大5個取り出す。なお、このイベントの発生により自車位置マークのみを1つ隣のデフォルメ表示に移すようにしてもよい。その場合は、前述した図21(a)の点線で示された自車位置マークM2〜M5の説明の場合である。
ステップS705では、詳細情報表示イベントがあったかどうかが判断され、詳細情報表示イベントがあったと判断されるとステップS706に進む。ステップS706では、自車位置前方のデフォルメされた通常情報および発生したイベントに関係する詳細情報を含めて最大5個取り出し、ステップS711に進みその内容が表示される。上述の例では、例えば図20(a)の表示において、ボタンDB1あるいはボタンDB2が押されると、押されたボタンに対応した詳細情報表示イベントが発生し、図20(b)あるいは図20(c)の表示がなされる。また、図22(a)の例でも、車両が霞が関ランプに来た場合に詳細情報表示イベントが発生する。
ステップS707では、+方向のスクロールイベントがあったかどうかが判断され、+方向のスクロールイベントがあったと判断されるとステップS707に進む。+方向のスクロールイベントとは、デフォルメ表示をスクロールするためにスクロールスイッチ4cがオペレータにより操作されときに発生するイベントである。ステップS708では、最も手前の情報を消去し一つ先の情報を最後列に加えて、ステップS711に進みその内容が表示される。+方向のスクロール表示とは、自車位置から目的地に向かった先の情報を随時スクロールして表示するものである。表示モードは、通常情報のみの場合はその内容で、詳細情報も含めて表示されている場合はその内容でそれぞれスクロールされる。
ステップS709では、−方向のスクロールイベントがあったかどうかが判断され、−方向のスクロールイベントがあったと判断されるとステップS707に進む。−方向のスクロールイベントは、デフォルメ表示を自車位置方向へ戻すスクロールをするために不図示のスクロールボタンがオペレータにより操作されときに発生するイベントである。ステップS710では、最後列の情報を消去し一つ手前の情報を最前列に加えて、ステップS711に進みその内容が表示される。−方向のスクロール表示とは、目的地方面から自車位置方向へデフォルメ表示を戻すためのスクロール表示である。表示モードは、上記と同様に通常情報のみの場合はその内容で、詳細情報も含めて表示されている場合はその内容でそれぞれスクロールされる。
ステップS711で表示処理が終わった後、あるいは、いずれのイベントもなかった場合は処理を終了する。本ルーチンは、所定のルーチンより随時コールされて繰り返し実行される。
−画面表示切換えについて−
図23(a)〜図23(d)は、モニタ画面上に表示される4つの表示形態の表示画面例を示す図である。図23(a)は平面地図、図23(b)は平面地図を鳥瞰図法による表示形式に変換した鳥瞰地図、図23(c)は鳥瞰地図上の地表面を各地点の標高も加味して立体的に表示する立体鳥瞰地図、図23(d)は住宅地図である。
そして、図23(a)に示すように平面地図が表示されている場合には、鳥瞰地図および住宅地図のいずれかに表示を切換える切換えスイッチSW1,SW2が画面内に表示され、図23(b)に示すように鳥瞰地図が表示されている場合には、立体鳥瞰地図および平面地図のいずれかに表示を切換える切換えスイッチSW3,SW4が画面内に表示され、図23(c)に示すように立体鳥瞰地図が表示されている場合には、鳥瞰地図および平面地図のいずれかに表示を切換える切換えスイッチSW5,SW6が表示され、図23(d)に示すように住宅地図が表示されている場合には、平面地図に表示を切換える切換えスイッチSW7が表示されている。
このような切換スイッチの配置により、鳥瞰地図や立体鳥瞰地図が表示されているときに住宅地図を表示させる場合、いったん平面地図を表示してから住宅地図を表示するから、鳥瞰地図や立体鳥瞰地図から住宅地図への表示切換え、あるいは住宅地図から鳥瞰地図や立体鳥瞰地図への表示切換えが禁止され、鳥瞰地図や立体鳥瞰地図と住宅地図との間での表示切換にともなう乗員の混乱や、画面の見づらさが防止される。
図34は、上述の画面表示切り替えの制御フローチャートである。このルーチンは、画面上にいずれかの地図を表示している場合に、画面表示切り替えタスクとして一定の時間間隔で実行されるルーチンである。ステップS801では、現在設定されている表示モードが判断される。判断された表示モードに応じて前述した切換えスイッチSW1〜SW7を画面上に表示するそれぞれのタスクを起動する。ステップS802では、いずれの切換えスイッチSW1〜SW7が押されたかどうかを判断し、押されたと判断された切換えスイッチに対応した地図表示モードに切り換えるべくそれぞれのタスクを起動する。
ステップS803のタスクでは、平面地図上において住宅地図スイッチと鳥瞰地図スイッチを表示する。ステップS804のタスクでは、鳥瞰地図上において立体鳥瞰地図スイッチと平面地図スイッチとを表示する。ステップS805のタスクでは、立体鳥瞰地図上において鳥瞰地図スイッチと平面地図スイッチとを表示する。ステップS806のタスクでは、住宅地図上において平面地図スイッチのみを表示する。
ステップS807のタスクでは、表示モードを平面地図に変更し、平面地図を画面上に表示する。ステップS808のタスクでは、表示モードを鳥瞰地図に変更し、鳥瞰地図を画面上に表示する。ステップS809のタスクでは、表示モードを立体鳥瞰地図に変更し、立体鳥瞰地図を画面上に表示する。ステップS810のタスクでは、表示モードを住宅地図に変更し、住宅地図を画面上に表示する。
−主要な処理手順について−
図24は制御回路3のメイン処理を示すフローチャートであり、以下このフローチャートに基づいて本実施の形態の主要な処理の動作を説明する。なお、制御回路3は、キーがイグニッションオン位置に操作されたときに図24の処理を開始する。図24のステップS10では、推奨経路および目的地を設定する。目的地は入力装置4を介して操作者によって設定され、推奨経路は例えば周知のダイクストラ法等を用いた演算によって図18のように自動的に設定される。この場合、現在地は現在地検出装置1で検出した位置を使用することができる。あるいは、ROM等に推奨経路の候補を予め記憶しておき、その中からいずれかを推奨経路として選択してもよい。
ステップS20では、表示画面モードを設定する。ここで設定される表示画面モードには、鳥瞰地図を表示するモード、平面地図を表示するモード、住宅地図を表示するモード、立体鳥瞰地図を表示するモードがあり、これらモードの選択は、操作者が図23(a)〜図23(d)で説明したようなタッチパネルスイッチSW1〜7を介して行う。ステップS30では、表示環境を設定する。ここで設定される表示環境には例えば画面の表示色や、夜間モードと昼間モードの選択などがある。これら表示環境の選択は、操作者が入力装置4を介して行う。ステップS40では、現在地検出装置1からの信号に基づいて車両の現在地を検出する。ステップS50では、図25、図26、図27、図28に詳細を示す地図表示処理を行って地図を表示する。地図表示処理の詳細については後述する。
ステップS60では、ステップS40と同様にして現在地を検出する。ステップS70では、画面上の道路地図を更新するか否か、すなわち道路地図の書き換えを行うか否かを判定する。ここでは、検出された現在位置に基づいて、前回の地図更新時点から車両が所定距離以上走行した場合に、画面表示されている道路地図の更新を行うものと判定する。なお、この画面更新は走行距離によるスクロールと呼び、スクロールスイッチ4cによる画面スクロールと区別する。
ステップS70の判定が肯定されるとステップS50に戻り、判定が否定されるとステップS80に進む。ステップS8では、図24のメイン処理を継続するか否かを判定する。例えば、不図示の電源スイッチがオフされた場合や、処理を中止するスイッチが操作された場合等には、ステップS80の判定が否定されて図24のメイン処理を終了する。
ステップS80の判定が肯定されるとステップS90に進み、自車位置マークの表示の更新を行った後、ステップS60に戻る。自車位置マークは地図上の現在地に重ねて表示されるが、ステップS70で地図が所定距離分だけスクロールされるまでは自車位置マークを走行距離に応じて地図上で移動させるため、自車位置マークの表示が更新される。その他の付属情報もこのステップで更新される。
図25は、図24のステップS50の地図表示処理のうち鳥瞰地図表示処理の詳細を示すフローチャートである。ステップS201では、鳥瞰図法で地図表示する際の表示方向角度を演算する。ステップS202では、図24のステップS40やS60で検出した現在地およびステップS201で演算した表示方向角度に基づいて、現在地周辺の道路地図データを地図記憶メモリ2から読み込む。例えば、現在地を含む数10km四方の道路地図データを読み込む。
ステップS203では、ステップS201で読み込んだ道路地図データの中から鳥瞰地図を表示する際に用いるデータを選択し、選択したデータを鳥瞰地図データ用メモリ6Aに格納する。ここでは、表示モニタ8に表示する道路地図情報のデータ量を削減するために、データ種別が所定の条件を満たすデータのみを抽出して鳥瞰地図データ用メモリ6に格納する。ステップS204では、ステップS203で選択した道路地図データを鳥瞰地図データに変換する。データ変換は周知の鳥瞰図法による方式を採用する。ステップS205では、ステップS204で変換した鳥瞰地図データを、表示モニタ8に表示するための最終的な地図画像データに変換する。ステップS209でVICS情報表示モードであると判定されるとステップS206に進み、そうでないと判定されるとステップS207に進む。ステップS206では、後述するVICS情報の図形情報を地図画像データに変換する。ステップS207では、地図画像データとVICS図形画像データを画像メモリ7に格納し、ステップS208においてその画像を表示モニタ8に表示する。
表示に際しては、VICS情報表示モードであればVICS文字情報を地図とVICS図形情報に重ねて表示する。このとき、VICS文字情報にはデータ提供時刻が含まれているから、そのデータ提供時刻を画面上部に表示して、表示画面がVICS情報表示モードであることを報知する。また、VICS情報表示モード選択および非選択に応じて後述するように背景色などを切換える。
図26は、図24のステップS50の地図表示処理のうち平面地図表示処理の詳細を示すフローチャートである。ステップS301では、図24のステップS40やS60で検出した現在地周辺の道路地図データを地図記憶メモリ2から読み込む。例えば、現在地を含む数10km四方の道路地図データを読み込む。
ステップS302では、ステップS301で読み込んだ道路地図データの中から平面地図を表示する際に用いるデータを選択し、選択したデータを平面地図データ用メモリ5Aに格納する。ステップS303では、ステップS302で選択した道路地図データを、表示モニタ8に表示するための平面地図データに変換する。ステップS307でVICS情報表示モードであると判定されるとステップS304に進み、そうでないと判定されるとステップS305に進む。ステップS304では、後述するVICS情報の図形情報を地図画像データに変換する。ステップS305では、地図画像データとVICS情報画像データを画像メモリ7に格納し、ステップS306においてその画像を表示モニタ8に表示する。表示に際しては、VICS情報表示モードであればVICS文字情報を地図とVICS図形情報に重ねて表示する。このとき、VICS文字情報にはデータ提供時刻が含まれているから、そのデータ提供時刻を画面上部に表示して、表示画面がVICS情報表示モードであることを報知する。
図27は、図24のステップS50の地図表示処理のうち立体鳥瞰地図表示処理の詳細を示すフローチャートである。図25と同様な箇所には同一の符号を付して相違点についてのみ説明する。
ステップS203Aでは、ステップS201で読み込んだ道路地図データの中から立体鳥瞰地図を表示する際に用いるデータを選択し、選択したデータを立体鳥瞰地図データ用メモリ6Bに格納する。ここでは、表示モニタ8に表示する道路地図情報のデータ量を削減するために、データ種別が所定の条件を満たすデータのみを抽出して立体鳥瞰地図データ用メモリ6Bに格納する。ステップS204Aでは、ステップS203Aで選択した道路地図データを立体鳥瞰地図データに変換する。データ変換は周知の鳥瞰図法による方式と上述した高さを加味した方式を採用する。ステップS205Aでは、ステップS204Aで変換した立体鳥瞰地図データを、表示モニタ8に表示するための最終的な地図画像データに変換する。ステップS205Aで変換処理が終了するとステップS207へ進む。つまり、立体鳥瞰地図表示モードではVISC情報があってもその表示をせず、画面表示が煩雑にならないようにしている。そしてステップS208Aで画像メモリの内容を表示モニタ8に表示する。
図28は、図24のステップS50の地図表示処理のうち住宅地図表示処理の詳細を示すフローチャートである。ステップS301Aでは、図24のステップS40やS60で検出した現在地周辺の住宅地図データを地図記憶メモリ2から読み込む。例えば、現在地を含む数10km四方の住宅地図データを読み込む。
ステップS302Aでは、ステップS301で読み込んだ住宅地図データの中から住宅地図を表示する際に用いるデータを選択し、選択したデータを住宅地図データ用メモリ5Bに格納する。ステップS303Aでは、ステップS302Aで選択した住宅地図データを、表示モニタ8に表示するための住宅地図データに変換する。住宅地図表示モードでも立体鳥瞰地図表示モードと同様にVISC情報表示を禁止してもよい。
なお以上では、車載ナビゲーション装置について説明したが、指令基地局に設置した交通情報表示装置、車両誘導装置、情報道路監視装置などに用いることもできる。
また、以上のような種々の地図表示処理をプログラムしたアプリケーションソフトを記憶媒体に格納し、車に搭載可能なパーソナルコンピュータなどにより同様な表示を行なうこともできる。図35はその構成を示す図である。101は車に搭載可能なパーソナルコンピュータ、102はVICS情報受信装置、103は現在地検出装置、104はCD−ROM装置、105は道路地図データ用CD−ROM、106はアプリケーションプログラム用CD−ROMである。VICS情報受信装置102は、図1のFM多重放送受信装置9、光ビーコン受信装置10、電波ビーコン受信装置11に相当するものであり、現在地検出装置103は、図1の方位センサ1a、車速センサ1b、GPSセンサ1c等に相当するものである。道路地図データ用CD−ROM105は、図1における地図記憶メモリ2の記録媒体部分に相当する。アプリケーションプログラム用CD−ROM106は、上述した実施の形態の各種の制御プログラムがパーソナルコンピュータ101で実行できるような形態で格納された記録媒体である。パーソナルコンピュータ101は、アプリケーションプログラム用CD−ROM106からプログラムをロードし、そのプログラムを実行させることにより、前述した実施の形態の同様な地図表示装置を構成することが可能となる。
なお、上述したCD−ROMは、例えばフロッピー(登録商標)ディスクなど他の記録媒体であってもよい。また、車に搭載可能なパーソナルコンピュータ101は、地図表示装置専用の制御装置でもよい。そのような場合も、地図表示装置の制御プログラムや道路地図データがCD−ROMやフロッピー(登録商標)ディスクなどの外部記録媒体から供給できるので、ソフトウェアを交換するのみで各種の地図表示装置が実現できる。さらには、上述した指令基地局に設置した交通情報表示装置、車両誘導装置、情報道路監視装置などに使用されるパーソナルコンピュータやワークステーションや汎用コンピュータなどにも適用することができる。