地図表示装置及びプログラム
【課題】 道路表示等の粗さを改善し、直感的に認識し易い地図表示を可能にする。
【解決手段】 位置座標を有する地図データを記憶した情報記憶手段(3)と、前記情報記憶手段に記憶された地図データを読み出し、その位置座標を格子により定められる格子点の座標へ座標変換することにより離散的な位置座標に座標変換する制御手段(4)と、前記制御手段により座標変換された座標に基づいて地図を表示する表示手段(6)とを備え、前記制御手段は前記格子の幅を地図の縮尺に応じて設定する。
【解決手段】 位置座標を有する地図データを記憶した情報記憶手段(3)と、前記情報記憶手段に記憶された地図データを読み出し、その位置座標を格子により定められる格子点の座標へ座標変換することにより離散的な位置座標に座標変換する制御手段(4)と、前記制御手段により座標変換された座標に基づいて地図を表示する表示手段(6)とを備え、前記制御手段は前記格子の幅を地図の縮尺に応じて設定する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ナビゲーション用の地図を表示する地図表示装置およびプログラムに関する。
【背景技術】
【0002】
従来のナビゲーション装置における地図表示は、道路形状を表すノードデータを形状補間点として記憶しておき、現在位置から所定範囲のノードデータを読みだして表示画面の座標に変換し、変換した各座標間を接続して正確に表示することにより行っていた。この地図描画方法について図11により説明する。
【0003】
図11は描画メモリ領域を示す図であり、図11(a)のP1 〜P6 は道路形状データであるノードを示しており、図の各位置は画面座標に変換された点を表しているものとする。P1 〜P4 が1つの道路、P4 〜P6 が1つの道路であるとすると、P2 、P3 、P5 は道路形状を表すための補間点である。画面上の各ノードの位置が決まると、図11(b)に示すように、各点間をドット単位で接続(塗りつぶす)してていく。例えば、P1 とP2 間は、横(+X)方向4ドット、縦(−Y)方向1ドットずれているので、P1 から2ドット(+X)方向に塗りつぶし、3ドット目は45度右下斜め((+X)方向、(−Y)方向)で接続してP2 まで2ドット(+X)方向に塗りつぶすことにより接続する。P2 とP3 間は(+X)方向3ドット、(−Y)方向2ドットずれており、P2 に対して45度右下斜めのドットを1ドット塗りつぶし、さらに、45度右下斜めのドットから2ドットX方向に塗りつぶし、P3 と45度斜めで接続する。以下、同様に、45度斜めのドット間、X方向またはY方向に隣接するドット間の接続を組み合わせて道路を描画する。なお、道路以外の表示も同様に行われる。
【発明の開示】
【発明が解決しようとする課題】
【0004】
ところで、ナビゲーション装置用の表示装置は、表示サイズ(ドットサイズ)に制約があるため、図11に示したような方法で正確に描画すると、道路形状等がスムーズに見えず、粗く表示されてしまうという問題がある。図12は図11に示した描画方法で描画した例を示しているが、道路や文字がギザギザ状に表示されている。このような表示形態では、限られた領域に多くの情報が表示されるので煩雑に見えて直感的に認識しにくい。
本発明はこのような道路表示等の粗さを改善し、直感的に認識し易い地図表示を行えるようにすることを目的とする。
【課題を解決するための手段】
【0005】
本発明の地図表示装置は、位置座標を有する地図データを記憶した情報記憶手段と、前記情報記憶手段に記憶された地図データを読み出し、その位置座標を格子により定められる格子点の座標へ座標変換することにより離散的な位置座標に座標変換する制御手段と、前記制御手段により座標変換された座標に基づいて地図を表示する表示手段とを備え、前記制御手段は前記格子の幅を地図の縮尺に応じて設定することを特徴とする。
本発明のプログラムは、格子の幅を地図の縮尺に応じて設定するステップ、情報記憶手段に記憶された地図データを読み出し、読み出した地図データの位置座標を格子により定められる格子点の座標へ座標変換することにより離散的な位置座標に座標変換するステップ、座標変換された座標に基づいて地図を表示するステップをコンピュータに実行させることを特徴とする。
【発明の効果】
【0006】
本発明は、格子の幅を地図の縮尺に応じて設定し、読み出した地図データの位置座標を格子により定められる格子点の座標へ変換することで、例えば、同じ位置に丸め込まれるノード数を異なる縮尺においてほぼ均等にして、道路表示等の粗さを改善し、直感的に認識し易い地図表示が可能となる。
【発明を実施するための最良の形態】
【0007】
以下、本発明の実施の形態を図面を参照しつつ説明する。
図1は本発明のナビゲーション装置の構成例を示す図である。
経路案内に関する情報を入力する入力装置1、自車両の現在位置に関する情報を検出する現在位置検出装置2、経路の算出に必要なナビゲーション用データや経路案内に必要な表示/音声の案内データとプログラム(アプリケーション及び/又はOS)等が記録されている情報記憶装置3、経路探索処理や経路案内に必要な表示/音声案内処理、さらにシステム全体の制御を行う中央処理装置4、車両の走行に関する情報である、例えば道路情報、交通情報を送受信したり、車両の現在位置に関する情報を検出したり、さらに現在位置に関する情報を送受信したりする情報送受信装置5、経路案内に関する情報を出力する出力装置6から構成されている。
【0008】
入力装置1は、出発地や目的地を入力したり、運転者の意志によりナビゲーション処理を中央処理装置4に指示する機能を備えている。その機能を実現するための手段として、目的地を住所や電話番号、地図上の座標などにて入力したり、経路案内をリクエストしたりするタッチスイッチやジョグダイアル等のリモートコントローラ等を用いることができる。また、本発明では音声入力による対話を行うための装置を備えており、音声入力装置として機能する。また、ICカードや磁気カードに記録されたデータを読み取るための記録カード読み取り装置を付加することもできる。また、ナビゲーションに必要なデータを蓄積し、運転者の要求により通信回線を介して情報提供する情報センターや、地図データや目的地データ、簡易地図、建造物形状地図などのデータを有する携帯型の電子装置等の情報源との間でデータのやりとりを行うためのデータ通信装置を付加することもできる。
【0009】
現在位置検出装置2は、衛星航法システム(GPS)を利用して車両の現在位置情報を入手するもの、車両の進行方位を、例えば地磁気を利用することにより絶対方位で検出する絶対方位センサ、車両の進行方位を、例えばステアリングセンサ、ジャイロセンサを利用することにより相対方位で検出する相対方位センサ、例えば車輪の回転数から車両の走行距離を検出する距離センサ等から構成される。
【0010】
情報記憶装置3は、ナビゲーション用のプログラム及びデータを記憶した外部記憶装置で、例えばCD−ROMやDVD−ROM等からなっている。プログラムは、経路探索などの処理を行うためのプログラム、本実施例記載のフローチャートに示される処理プログラムや経路案内に必要な表示出力制御、音声入力により対話的に案内を行うためのプログラム及びそれに必要なデータ、音声案内に必要な音声出力制御を行うためのプログラム及びそれに必要なデータが格納されている。記憶される地図データとしては、経路探索に使用する探索データ(目的地データ、登録地点データ、道路データ、ジャンル別データ等)、それ以外の案内・表示用のデータ(経路案内をする際に使用する案内データ、地図を表示する際に使用する表示データ、現在位置を検出する際に使用するマップマッチングデータ等)のファイルからなり、ナビゲーション装置に必要なすべてのデータが記憶されている。なお、本発明は、CD−ROMにはデータのみ格納し、プログラムは中央処理装置に格納するタイプのものにも適用可能である。
【0011】
中央処理装置4は、経路探索処理、地図データの位置座標を読み出し、離散的な位置座標に座標変換する等の地図を描画するための処理、経路案内情報の出力制御、出力装置に出力する情報の制御の他、種々の演算処理を実行するCPU、情報記憶装置3のCD−ROMからプログラムを読み込んで格納するフラッシュメモリ、フラッシュメモリのプログラムチェック、更新処理を行うプログラム(プログラム読み込み手段)を格納したROM、設定された目的地の地点座標、道路名コードNo.等の探索された経路案内情報や演算処理中のデータを一時的に格納するRAMからなっている。また、この他にも図示は省略するが、入力装置1からの音声入力による対話処理を行ったり、CPUからの音声出力制御信号に基づいて情報記憶装置3から読み出した音声、フレーズ、1つにまとまった文章、音等を合成してアナログ信号に変換してスピーカに出力する音声プロセッサ、通信による入出力データのやり取りを行う通信インタフェースおよび現在位置検出装置2のセンサ信号を取り込むためのセンサ入力インタフェース、内部ダイアグ情報に日付や時間を記入するための時計などを備えている。なお、前記した更新処理を行うプログラムを外部記憶装置に格納しておいてもよい。
【0012】
本発明に係るプログラム、その他ナビゲーションを実行するためのプログラムは全て外部記憶媒体であるCD−ROMに格納されてもよいし、それらプログラムの一部または全てが本体側のROM42に格納されていてもよい。この外部記憶媒体に記憶されたデータやプログラムが外部信号としてナビゲーション装置本体の中央処理装置に入力されて演算処理されることにより、種々のナビゲーション機能が実現される。
【0013】
また、本発明に係るプログラム、その他ナビゲーションを実行するためのプログラム、地図データの一部または全ては情報センター(インターネットサーバー、ナビゲーション用サーバー)から複数の基地局(インターネットのプロバイダー端末や車両と通信で繋がる通信局)に送信される。そして、端末側の中央処理装置4は基地局から送られてくる情報を情報送受信装置によって受信し、中央処理装置4内の読み書き可能なメモリ(例えばRAMやフラッシュメモリやハードディスク)にダウンロードしてプログラムを実行することにより、種々のナビゲーション機能を実現させるようにしてもよい。ここで、プログラムはフラッシュメモリに格納し、地図データはRAMに格納する如くプログラムと地図データを別の読み書き可能なメモリに格納するようにしてもよいし、同じ読み書き可能なメモリに格納するようにしてもよい。あるいは、家庭内のパソコンで情報センターからプログラム、地図データの一部または全てを電子装置(例えばメモリースティックやフロッピーディスクの電子カード)へダウンロードし、その電子装置を中央処理装置4につなげて、電子装置内のプログラムを実行することにより、種々のナビゲーション機能を実現させるようにしてもよい。
【0014】
本発明のナビゲーション装置は、上記のように外部記憶装置のCD−ROMからプログラムを読み込んだり、情報センター等からダウンロードしたプログラムを読み込むための比較的大容量のフラッシュメモリ、CDの立ち上げ処理を行うプログラム(プログラム読み込み手段)を格納した小容量のROMを内蔵する。フラッシュメモリは、電源が切断しても記憶情報が保持される、つまり不揮発性の記憶手段である。そして、CDの立ち上げ処理として、プログラム読み込み手段であるROMのプログラムを起動してフラッシュメモリに格納したプログラムチェックを行い、情報記憶装置3のCD−ROMのディスク管理情報等を読み込む。プログラムのローディング処理(更新処理)は、この情報とフラッシュメモリの状態から判断して行われる。
【0015】
情報送受信装置5は、衛星航法システム(GPS)を利用して現在位置や日付、時間情報等を入手するGPS受信装置、FM多重放送、電波ビーコン、光ビーコン等を利用して交通情報等を入手するためのVICS情報受信装置、携帯電話、パソコン等を利用することにより、情報センター(例えばATIS)や他車両と情報を双方向に通信するためのデータ送受信装置等から構成される。
【0016】
出力装置6は、運転者が必要な時に案内情報を音声および/または画面により出力したり、中央処理装置4でナビゲーション処理されたデータなどをプリント出力する機能を備えている。そのための手段として、入力データを画面表示したり、経路案内画面を表示するディスプレイ、中央処理装置4で処理したデータや情報記憶装置3に格納されたデータをプリント出力するプリンタ、経路案内を音声で出力するスピーカなどを備えている。
【0017】
ディスプレイは、簡易型の液晶表示器等により構成されており、中央処理装置4が処理する地図データや案内データに基づく交差点拡大図画面、分岐点拡大図画面、走行中の現ルートや新たに探索したルート、各ルートにおける目的地に関する情報、目的地名、時刻、距離、進行方向矢印、擬人化したキャラクタの画像等を表示する。ディスプレイへ送られてくる画像データは、2値画像データ(ビットマップデータ)であるので、専用の画像信号線を介してではなく、シリアル通信等で使用する通信線を使用し、また、他の通信線を兼用することもできる。なお、ディスプレイにはビットマップデータを一時的に保持するメモリが備えられている。
【0018】
このディスプレイは、運転席近傍のインストルメントパネル内に設けられており、運転者はこれを見ることにより自車両の現在地を確認したり、またこれからの経路についての情報を得ることができる。また、図示は省略するが、ディスプレイの表示画面にタッチパネル、タッチスクリーン等を含むタブレットを使用し、画面に触れる、或いは画面をなぞることにより、地点入力、道路入力等を行えるように構成してもよい。
【0019】
本発明のナビゲーション装置のシステム全体の流れを説明すると、中央処理装置4に情報記憶装置3からプログラムが読み込まれて経路案内のプログラムが起動されると、現在位置検出装置2により現在位置を検出して現在位置を中心としてその周辺地図を表示すると共に、現在位置の名称等を表示する。次に、地名や施設名称等の目標名、電話番号や住所、登録地点、道路名等を用いて目的地を設定し、出発位置から目的地までの経路探索を行う。経路が決まると、現在位置検出装置2による現在位置追跡を行いながら経路案内を行う。
【0020】
図2は図1に示した本発明に係る情報記憶装置3に格納された道路データファイルの構成例を示している。図2(A)は経路を算出し経路案内を行うために必要なデータが格納された案内道路データファイルを示し、道路数nのそれぞれに対して、道路番号、長さ、道路属性データ、形状データのアドレス、サイズおよび案内データのアドレス、サイズの各データからなる。前記道路番号は、分岐点間の道路毎に方向(往路、復路)別に設定されている。道路案内補助情報データとしての前記道路属性データは、その道路が高架か、高架の横か、地下道か、地下道の横か、車線数の情報、分岐データ(分岐の有無のフラグ)、ランプデータ(ランプか否かのフラグ)からなっている。前記形状データは、図2(B)に示すように、各道路を複数のノード(節)で分割したとき、ノード数mのそれぞれに対して東経、北緯からなる座標データを有しており、曲率をもつ道路形状を表すための補間点も含まれている。前記案内データは、交差点(または分岐点)名称、注意点データ、道路名称データ、道路名称音声データのアドレス、サイズおよび行き先データのアドレス、サイズの各データからなっている。また、これらのデータの他に、地図データとして、画面上に表示するための文字データやランドマークデータを含んでもよい。
【0021】
本実施例では現在位置検出装置3で検出した現在位置座標に基づき情報記憶装置3に記憶された所定範囲のデータを読みだし、画面座標に変換して地図を描画する際、画面座標に変換されたデータ各点ごとにさらに変換処理を加えて描画点を決定し、描画するようにしたものであり、以下に詳細に説明する。
【0022】
図3は描画処理フローを説明する図である。
【0023】
現在位置を検出し(ステップS1)、現在位置座標から所定範囲のデータを読み出し(ステップS2)、読み出した各点の位置座標を画面座標に変換する(ステップS3)。次いで、変換した各点ごとに後述する丸め込み処理を施し(ステップS4)、丸め込み処理で決定された各点により描画メモリに描画し(ステップS5)、表示装置に出力する(ステップS6)。
【0024】
図4は丸め込み処理して地図を描画する例を説明する図である。
この例では、画面座標に変換された各ノードの位置座標を(x,y)、丸め込む格子座標を(X,Y)とし、X方向の格子間隔をa、Y方向の格子間隔をbとしたとき、次式により各点の座標を変換して格子点に丸め込みを行う。
【0025】
(x+a/2)
X=───────*a ……(1)
a
(y+b/2)
Y=───────*b ……(2)
b
なお、(1)式、(2)式の計算において小数点以下については切り捨てを行う。
【0026】
この(1)式、(2)式においてa、bを10とした図4の格子の例により丸め込み処理を説明する。なお、図のX方向、Y方向の0,10,20…の数字は格子を表しており、図4(a)のP1 〜P6 はノードを示しており、図の各位置は画面座標に変換された点を表しているものとする。
【0027】
例えば、ノードP1 (3,3)についてみると、
{(3+10/2)}/10=0.8で、小数点以下切り捨てで、0×10=0となり、X=Y=0となる。従って、ノードP1 (3,3)は、格子点P1 ′(0,0)に丸め込まれる。
点P2 (8,4)についてみると、Xについては、{(8+10/2)}/10=1.3、0.3を切り捨て、1×10=10でX=10となる。Yについては、{(4+10/2)}/10=0.9、0.9を切り捨て、0×10=0でY=0となる。従って、ノードP2 (8,4)は、格子点P2 ′(0,10)に丸め込まれる。
同様に、ノードP3 (12,7)は格子点P3 ′(10,10)、ノードP4 (16,10)は格子点P4 ′(20,10)、ノードP5 (19,11)は格子点P5 ′(=P4 ′)(20,10)、ノードP6 (26,11)は格子点P6 ′(30,10)に丸め込まれる。
【0028】
こうして各格子点に丸め込んだ点を接続すると図4(b)に示すような道路が描画され、図11の場合に比して粗い感じがなくなり、直感的に把握し易い道路が描画される。なお、この例ではX方向、Y方向に隣接するドットを接続することにより道路が描画されるが、例えば、ノードP3 も格子点P4 ′に丸め込まれるような道路の場合には、格子点P2 ′と格子点P4 ′間は45度斜めで隣接するドットを接続して道路が描画される。
【0029】
図5は図4の丸め込み方法を用いて描画した例であり、図12と同じ地図画面であるが、図12に比して粗い感じがなくなり、直観的に把握し易い地図になっていることが分かる。
【0030】
図6は丸め込み処理の他の例を説明する図である。
この例は各ノード間の差分に基づいて丸め込む格子点を決定するものであり、画面座標に変換された各ノードの位置座標を(xn ,yn )、丸め込む格子座標を(Xn ,Yn )とし、X方向の格子間隔をa、Y方向の格子間隔をbとしたとき、次式により各点の座標を変換して格子点に丸め込みを行う。なお、計算において小数点以下切り捨てるのは(1)式、(2)式の場合と同様である。
【0031】
(xn −xn-1 +a/2)
Xn ′=──────────── *a a
Xn =Xn-1 +Xn ′ ……(3)
(yn −yn-1 +b/2)
Yn ′=──────────── *b b
Yn =Yn-1 +Yn ′ ……(4)
(3)式、(4)式においてa、bを10とし、P0 (x0 , y0 )(x0 , y0 =2)が、格子点P0 ′(X0 , Y0 ) (X0 , Y0 =0)に丸め込まれたものとして、P1 (x1 , y1 )(x1 =18, y1 =4)、P2 (x2 , y2 )(x2 =27, y2 =11)の丸め込みについて説明する。
P1 点(18,4)についてみると、
(x1 −x0 +a/2)/a=(18−2+5)/10=2.1
小数点以下を切り捨てると、
X1 ′=20、X1 =20
となる。また、
(y1 −y0 +b/2)/b=(4−2+5)/10=0.7
小数点以下を切り捨てると、
Y1 ′=0、Y1 =0
従って、P1 (18, 4)はP1 ′(20,0)の格子点に丸め込まれる。
P2 点(27,11)についてみると、
(x2 −x1 +a/2)/a=(27−18+5)/10=1.4
小数点以下を切り捨てると、
X2 ′=10、X2 =20+10=30
となる。また、
(y2 −y1 +b/2)/b=(11−4+5)/10=1.2
小数点以下を切り捨てると、
Y2 ′=10、Y2 =0+10=10
従って、P2 (27, 11)は、P2 ′(30,10)の格子点に丸め込まれる。
【0032】
なお、本願発明は上記実施例に限定されるものではなく、いろいろな変形が可能である。例えば、道路データ、公園、川等のポリゴンデータ、文字データ等の情報に種別情報を記憶させ、種別に応じて格子上に載せるデータを選択するようにしてもよい。例えば、ポリゴンデータは丸め込み処理を行わず描画し、道路データを丸め込み処理することによってポリゴンデータは途中で途切れることがないようにする。また、目的地までの経路が設定されている場合には、経路は丸め込み処理を行わず描画し、その他の道路データは丸め込み処理を行い描画するようにしてもよい。
【0033】
また、格子の間隔は、予め設定されているものでもよく、ユーザーが任意に指定してもよい。地図の切り換えが可能な装置においては、縮尺に応じて、格子の幅が自動的に設定されるようにしてもよい。例えば、地図が広域になるほど、格子幅を小さく設定して丸め込み処理を行ってもよい。こうすることにより、同じ位置に丸め込まれるノード数を、異なる縮尺においてほぼ均等にすることができる。また、市街図のように表示される地図データがほとんど幅をもつ場合に丸め込み処理を行うと、幅をもつものがもたないように描画されてしまい地図全体が煩雑になる恐れがある。したがって、表示すべき地図が市街図であるか否かを判定し、市街図の場合には丸めこみ処理は行わず、広域な地図の場合に丸めこみ処理を行うようにしてもよい。
【0034】
また、上記実施例では、地図データの位置座標を画面座標に変換し、変換した画面座標を格子点上にのせるように説明したが、地図データの位置座標を変換式によって座標変換し、変換された座標を描画メモリに描画することによって格子点上に地図データを表示するようにしてもよい。また、本発明は車両の現在位置周辺の地図描画に限られるものではなく、入力装置により入力された地点周辺の地図を表示する際にも適用可能であって、入力方法としては、ジャンル入力、電話番号入力等による入力のほか、地図上でカーソルを移動させる入力方法でもよい。
【0035】
地図データの位置座標を格子点上に丸め込み処理を行った場合、地図データが粗い場合には丸め込み処理を行っても傾きが45度にならない場合がある。そこで、丸め込んだ直線の距離が格子間隔の2倍の場合には直線の中点を計算し、その中点を丸め込み、3倍の場合には直線を3分割して得られた各点を格子点上に丸め込む。このようにすることによって、さらに直感的に認識しやすい地図を表示することができる。
【0036】
また、上記実施例では、位置座標のX、Y座標それぞれに対して丸め込み処理を行ったが、X座標あるいはY座標のみ丸め込み処理を行い、丸め込み処理に要する時間を短縮するようにしてもよい。また、丸め込み処理を行うか否かを車速に応じて切り換えるようにしてもよい。例えば、現在位置検出装置によって検出された車両の車速がしきい値以上の場合には丸め込み処理を行い、しきい値未満の場合には丸め込み処理を行わず、記憶装置に記憶されている座標をそのまま用いて描画するようにしてもよい。こうすることにより、車両が高速で走行している時には直感的に認識し易い地図表示を行い、低速時には正確な地図表示を行うことができる。
【0037】
また、車両が経路上を走行している場合には丸め込み処理を行い、経路を逸脱して走行している場合には丸め込み処理を行わず、正確な地図を表示するようにしてもよい。また、車両が高速道路を走行中の場合には丸め込み処理を行い、一般道を走行している場合には丸め込み処理を行わないようにしてもよい。また、車両が目的地や通過点に接近していることを検出すると丸め込み処理を行った地図表示を正確な地図に切り換えるようにしてもよい。また、車両の現在位置と目的地の位置座標に応じて格子幅を狭くし、目的地に接近するにつれて、正確な地図を表示するようにしてもよい。
【0038】
また、丸め込み処理を行うか否かをマニュアルによる地図スクロールの指示が入力装置によって入力されているか否かによって切り換えるようにしてもよい。こうすることにより、スクロール中の場合には直感的に認識し易い地図表示を行い、スクロールが停止している場合には正確な地図を表示することができる。
【0039】
なお、上記実施例では、地図データの位置座標を離散的な位置座標に座標変換する方法として、地図データの位置座標が格子により定められる格子点上に丸め込められるように座標変換を行ったが、離散的な位置座標に座標変換する方法として、五角形等の多角形により定められる頂点上に丸め込まれるよう様々なものに応用が可能である。
【0040】
なお、上記実施例では道路を形成する全てのノードについて丸め込み処理を行っており、そのため描画される道路形状がギザギザになる場合がある。そこで、条件に応じて丸め込むノードを間引いて数を減らした後、丸め込み処理を行い、描画される道路形状をよりデフォルメして見やすいものとする他の実施例について以下に説明する。
【0041】
図7はノードを間引いた後、丸め込み処理するフローを示す図である。
現在位置を検出し(ステップS11)、現在位置座標から所定範囲のデータを読み出し(ステップS12)、後述する所定の条件でノードの間引き処理を行う(ステップS13)。間引き処理した後の各点の位置座標を画面座標に変換し(ステップS14)、変換した各点ごとに丸め込み処理を施し(ステップS15)、丸め込み処理で決定された各点により描画メモリに描画し(ステップS16)、表示装置に出力する(ステップS17)。
【0042】
図8は間引き処理の方法を説明する図である。
道路を構成するノード列のうち隣接した2つのノードA、Bについて、その座標(東経、北緯)からベクトルABを算出し、さらにその次のノードCまでのベクトルACを算出し、2つのベクトルAB、ACのなす角が所定の角度θ(θは描画地図の縮尺率、道路種別等に応じて適宜設定)以下か否か判定する。判定の結果、ベクトルAB、ACのなす角がθ以下の場合(図8(a))、ノードA、B、Cはほぼ直線上にあるのでノードBを間引き、さらにノードCの次のノードDまでのベクトルADを算出し(図8(b))、ベクトルAB、ADのなす角がθ以下か否か判定し、θ以下であればノードA、B、C、Dはほぼ直線上にあるのでノードCも間引く。ノードCを間引いた場合、さらに次のノードまでのベクトルを算出し、以後同様の処理を行う。一方、ベクトルAB、ACのなす角がθより大きい場合、ノードA、B、Cは直線上にないのでノードBは間引かず、ベクトルの始点をノードAからノードBに移し、ノードC、DまでのベクトルBC、BDを算出し(図8(c))、ベクトルBC、BDのなす角が所定の角度θ以下か否か判定し、以後、上記と同様の処理を行う。これら一連の処理を各道路ごとに実施し、道路を形成するノードのうち、ほぼ直線上のノードを間引くようにする。
【0043】
図9はノード列に間引き処理を適用した場合の説明図である。
図9(a)に示すように、ノード列A、B、C、D、E、Fがあった場合、ノードAからノードB、CまでのベクトルAB、ACを算出し、ベクトルAB、ACのなす角が所定角度θ以下か否か判定する。この例では、ベクトルAB、ACのなす角がθ以下で、ノードA、B、Cはほぼ直線上にあるため、ノードBを間引き、ノードCの次のノードDまでのベクトルADを算出し、ベクトルAB、ADのなす角がθ以下か否か判定する。ベクトルAB、ADのなす角がθより大きいため、ノードCは間引かず、ベクトルの始点をノードCに移し、ノードD、EまでのベクトルCD、CEを算出する。次いで、ベクトルCD、CEのなす角がθより大きいため、ノードDは間引かず、ベクトルの始点をノードDに移し、ノードE、FまでのベクトルDE、DFを算出する。この場合、ベクトルDE、DFのなす角がθより小さいため、ノードEを間引く。こうして、図9(b)に示すような間引き後のノード列A、C、D、Fについて丸め込み処理を行う。上記処理における最初のノードAは、例えば、道路データをメッシュ毎に分割して格納しているので、メッシュの端に相当するノードとし、記憶しているアドレスが若いノードから順番に間引き処理を施すようにすればよい。
【0044】
なお、上記においては道路ごとに間引き処理を行うようにしたが、道路ごとではなく、複数の道路からなる路線(例えば国道1号、県道23号など)ごとに行うようにしてもよい。また、道路を形成するノードが一方から順に始点から終点まで記憶されている場合には、上記のように順次ベクトルを求めて間引き処理を行えばよいが、一方からではなく双方向からのびるようにノードが記憶されている場合には、道路を形成するノードを一旦並び替えた後、上記の方法で間引き処理を行うようにしてもよい。
【0045】
また、上記の方法では道路を構成するノード列のうち隣接した2つのノードA、Bについて、ベクトルAB、ACを算出し、ベクトルAB、ACのなす角が所定の角度以下か否か判定するようにしたが、図10に示すように、隣接した2つのノードA、Bについて、ベクトルAB、BCを算出し、ベクトルAB、BCのなす角を評価するようにしてもよい。ベクトルAB、BCのなす角を、図10に示すように、ノードA、B、Cでつくる三角形の内角α、或いは外角βのいずれにして評価してもよく、内角αとした場合には、所定角度以上のときノードBを間引き、外角βとした場合には、所定角度以下のときノードBを間引くようにする。
【図面の簡単な説明】
【0046】
【図1】本発明の車両用ナビゲーション装置の構成例を示す図である。
【図2】道路データ構造を説明する図である。
【図3】本発明の地図描画処理フローを説明する図である。
【図4】本発明の地図描画方法の例を説明する図である。
【図5】図4の方法で描画した地図の例を示す図である。
【図6】本発明の地図描画方法の他の例を説明する図である。
【図7】ノードを間引いた後、丸め込み処理するフローを示す図である。
【図8】間引き処理の方法を説明する図である。
【図9】ノード列に間引き処理を適用した場合の説明図である。
【図10】間引き処理の他の例を説明する図である。
【図11】従来の地図描画方法を説明する図である。
【図12】従来の方法で描画された地図の例を示す図である。
【符号の説明】
【0047】
1…入力装置、2…現在位置検出装置、3…情報記憶装置、4…中央処理装置、5…情報送受信装置、6…出力装置。
【技術分野】
【0001】
本発明は、ナビゲーション用の地図を表示する地図表示装置およびプログラムに関する。
【背景技術】
【0002】
従来のナビゲーション装置における地図表示は、道路形状を表すノードデータを形状補間点として記憶しておき、現在位置から所定範囲のノードデータを読みだして表示画面の座標に変換し、変換した各座標間を接続して正確に表示することにより行っていた。この地図描画方法について図11により説明する。
【0003】
図11は描画メモリ領域を示す図であり、図11(a)のP1 〜P6 は道路形状データであるノードを示しており、図の各位置は画面座標に変換された点を表しているものとする。P1 〜P4 が1つの道路、P4 〜P6 が1つの道路であるとすると、P2 、P3 、P5 は道路形状を表すための補間点である。画面上の各ノードの位置が決まると、図11(b)に示すように、各点間をドット単位で接続(塗りつぶす)してていく。例えば、P1 とP2 間は、横(+X)方向4ドット、縦(−Y)方向1ドットずれているので、P1 から2ドット(+X)方向に塗りつぶし、3ドット目は45度右下斜め((+X)方向、(−Y)方向)で接続してP2 まで2ドット(+X)方向に塗りつぶすことにより接続する。P2 とP3 間は(+X)方向3ドット、(−Y)方向2ドットずれており、P2 に対して45度右下斜めのドットを1ドット塗りつぶし、さらに、45度右下斜めのドットから2ドットX方向に塗りつぶし、P3 と45度斜めで接続する。以下、同様に、45度斜めのドット間、X方向またはY方向に隣接するドット間の接続を組み合わせて道路を描画する。なお、道路以外の表示も同様に行われる。
【発明の開示】
【発明が解決しようとする課題】
【0004】
ところで、ナビゲーション装置用の表示装置は、表示サイズ(ドットサイズ)に制約があるため、図11に示したような方法で正確に描画すると、道路形状等がスムーズに見えず、粗く表示されてしまうという問題がある。図12は図11に示した描画方法で描画した例を示しているが、道路や文字がギザギザ状に表示されている。このような表示形態では、限られた領域に多くの情報が表示されるので煩雑に見えて直感的に認識しにくい。
本発明はこのような道路表示等の粗さを改善し、直感的に認識し易い地図表示を行えるようにすることを目的とする。
【課題を解決するための手段】
【0005】
本発明の地図表示装置は、位置座標を有する地図データを記憶した情報記憶手段と、前記情報記憶手段に記憶された地図データを読み出し、その位置座標を格子により定められる格子点の座標へ座標変換することにより離散的な位置座標に座標変換する制御手段と、前記制御手段により座標変換された座標に基づいて地図を表示する表示手段とを備え、前記制御手段は前記格子の幅を地図の縮尺に応じて設定することを特徴とする。
本発明のプログラムは、格子の幅を地図の縮尺に応じて設定するステップ、情報記憶手段に記憶された地図データを読み出し、読み出した地図データの位置座標を格子により定められる格子点の座標へ座標変換することにより離散的な位置座標に座標変換するステップ、座標変換された座標に基づいて地図を表示するステップをコンピュータに実行させることを特徴とする。
【発明の効果】
【0006】
本発明は、格子の幅を地図の縮尺に応じて設定し、読み出した地図データの位置座標を格子により定められる格子点の座標へ変換することで、例えば、同じ位置に丸め込まれるノード数を異なる縮尺においてほぼ均等にして、道路表示等の粗さを改善し、直感的に認識し易い地図表示が可能となる。
【発明を実施するための最良の形態】
【0007】
以下、本発明の実施の形態を図面を参照しつつ説明する。
図1は本発明のナビゲーション装置の構成例を示す図である。
経路案内に関する情報を入力する入力装置1、自車両の現在位置に関する情報を検出する現在位置検出装置2、経路の算出に必要なナビゲーション用データや経路案内に必要な表示/音声の案内データとプログラム(アプリケーション及び/又はOS)等が記録されている情報記憶装置3、経路探索処理や経路案内に必要な表示/音声案内処理、さらにシステム全体の制御を行う中央処理装置4、車両の走行に関する情報である、例えば道路情報、交通情報を送受信したり、車両の現在位置に関する情報を検出したり、さらに現在位置に関する情報を送受信したりする情報送受信装置5、経路案内に関する情報を出力する出力装置6から構成されている。
【0008】
入力装置1は、出発地や目的地を入力したり、運転者の意志によりナビゲーション処理を中央処理装置4に指示する機能を備えている。その機能を実現するための手段として、目的地を住所や電話番号、地図上の座標などにて入力したり、経路案内をリクエストしたりするタッチスイッチやジョグダイアル等のリモートコントローラ等を用いることができる。また、本発明では音声入力による対話を行うための装置を備えており、音声入力装置として機能する。また、ICカードや磁気カードに記録されたデータを読み取るための記録カード読み取り装置を付加することもできる。また、ナビゲーションに必要なデータを蓄積し、運転者の要求により通信回線を介して情報提供する情報センターや、地図データや目的地データ、簡易地図、建造物形状地図などのデータを有する携帯型の電子装置等の情報源との間でデータのやりとりを行うためのデータ通信装置を付加することもできる。
【0009】
現在位置検出装置2は、衛星航法システム(GPS)を利用して車両の現在位置情報を入手するもの、車両の進行方位を、例えば地磁気を利用することにより絶対方位で検出する絶対方位センサ、車両の進行方位を、例えばステアリングセンサ、ジャイロセンサを利用することにより相対方位で検出する相対方位センサ、例えば車輪の回転数から車両の走行距離を検出する距離センサ等から構成される。
【0010】
情報記憶装置3は、ナビゲーション用のプログラム及びデータを記憶した外部記憶装置で、例えばCD−ROMやDVD−ROM等からなっている。プログラムは、経路探索などの処理を行うためのプログラム、本実施例記載のフローチャートに示される処理プログラムや経路案内に必要な表示出力制御、音声入力により対話的に案内を行うためのプログラム及びそれに必要なデータ、音声案内に必要な音声出力制御を行うためのプログラム及びそれに必要なデータが格納されている。記憶される地図データとしては、経路探索に使用する探索データ(目的地データ、登録地点データ、道路データ、ジャンル別データ等)、それ以外の案内・表示用のデータ(経路案内をする際に使用する案内データ、地図を表示する際に使用する表示データ、現在位置を検出する際に使用するマップマッチングデータ等)のファイルからなり、ナビゲーション装置に必要なすべてのデータが記憶されている。なお、本発明は、CD−ROMにはデータのみ格納し、プログラムは中央処理装置に格納するタイプのものにも適用可能である。
【0011】
中央処理装置4は、経路探索処理、地図データの位置座標を読み出し、離散的な位置座標に座標変換する等の地図を描画するための処理、経路案内情報の出力制御、出力装置に出力する情報の制御の他、種々の演算処理を実行するCPU、情報記憶装置3のCD−ROMからプログラムを読み込んで格納するフラッシュメモリ、フラッシュメモリのプログラムチェック、更新処理を行うプログラム(プログラム読み込み手段)を格納したROM、設定された目的地の地点座標、道路名コードNo.等の探索された経路案内情報や演算処理中のデータを一時的に格納するRAMからなっている。また、この他にも図示は省略するが、入力装置1からの音声入力による対話処理を行ったり、CPUからの音声出力制御信号に基づいて情報記憶装置3から読み出した音声、フレーズ、1つにまとまった文章、音等を合成してアナログ信号に変換してスピーカに出力する音声プロセッサ、通信による入出力データのやり取りを行う通信インタフェースおよび現在位置検出装置2のセンサ信号を取り込むためのセンサ入力インタフェース、内部ダイアグ情報に日付や時間を記入するための時計などを備えている。なお、前記した更新処理を行うプログラムを外部記憶装置に格納しておいてもよい。
【0012】
本発明に係るプログラム、その他ナビゲーションを実行するためのプログラムは全て外部記憶媒体であるCD−ROMに格納されてもよいし、それらプログラムの一部または全てが本体側のROM42に格納されていてもよい。この外部記憶媒体に記憶されたデータやプログラムが外部信号としてナビゲーション装置本体の中央処理装置に入力されて演算処理されることにより、種々のナビゲーション機能が実現される。
【0013】
また、本発明に係るプログラム、その他ナビゲーションを実行するためのプログラム、地図データの一部または全ては情報センター(インターネットサーバー、ナビゲーション用サーバー)から複数の基地局(インターネットのプロバイダー端末や車両と通信で繋がる通信局)に送信される。そして、端末側の中央処理装置4は基地局から送られてくる情報を情報送受信装置によって受信し、中央処理装置4内の読み書き可能なメモリ(例えばRAMやフラッシュメモリやハードディスク)にダウンロードしてプログラムを実行することにより、種々のナビゲーション機能を実現させるようにしてもよい。ここで、プログラムはフラッシュメモリに格納し、地図データはRAMに格納する如くプログラムと地図データを別の読み書き可能なメモリに格納するようにしてもよいし、同じ読み書き可能なメモリに格納するようにしてもよい。あるいは、家庭内のパソコンで情報センターからプログラム、地図データの一部または全てを電子装置(例えばメモリースティックやフロッピーディスクの電子カード)へダウンロードし、その電子装置を中央処理装置4につなげて、電子装置内のプログラムを実行することにより、種々のナビゲーション機能を実現させるようにしてもよい。
【0014】
本発明のナビゲーション装置は、上記のように外部記憶装置のCD−ROMからプログラムを読み込んだり、情報センター等からダウンロードしたプログラムを読み込むための比較的大容量のフラッシュメモリ、CDの立ち上げ処理を行うプログラム(プログラム読み込み手段)を格納した小容量のROMを内蔵する。フラッシュメモリは、電源が切断しても記憶情報が保持される、つまり不揮発性の記憶手段である。そして、CDの立ち上げ処理として、プログラム読み込み手段であるROMのプログラムを起動してフラッシュメモリに格納したプログラムチェックを行い、情報記憶装置3のCD−ROMのディスク管理情報等を読み込む。プログラムのローディング処理(更新処理)は、この情報とフラッシュメモリの状態から判断して行われる。
【0015】
情報送受信装置5は、衛星航法システム(GPS)を利用して現在位置や日付、時間情報等を入手するGPS受信装置、FM多重放送、電波ビーコン、光ビーコン等を利用して交通情報等を入手するためのVICS情報受信装置、携帯電話、パソコン等を利用することにより、情報センター(例えばATIS)や他車両と情報を双方向に通信するためのデータ送受信装置等から構成される。
【0016】
出力装置6は、運転者が必要な時に案内情報を音声および/または画面により出力したり、中央処理装置4でナビゲーション処理されたデータなどをプリント出力する機能を備えている。そのための手段として、入力データを画面表示したり、経路案内画面を表示するディスプレイ、中央処理装置4で処理したデータや情報記憶装置3に格納されたデータをプリント出力するプリンタ、経路案内を音声で出力するスピーカなどを備えている。
【0017】
ディスプレイは、簡易型の液晶表示器等により構成されており、中央処理装置4が処理する地図データや案内データに基づく交差点拡大図画面、分岐点拡大図画面、走行中の現ルートや新たに探索したルート、各ルートにおける目的地に関する情報、目的地名、時刻、距離、進行方向矢印、擬人化したキャラクタの画像等を表示する。ディスプレイへ送られてくる画像データは、2値画像データ(ビットマップデータ)であるので、専用の画像信号線を介してではなく、シリアル通信等で使用する通信線を使用し、また、他の通信線を兼用することもできる。なお、ディスプレイにはビットマップデータを一時的に保持するメモリが備えられている。
【0018】
このディスプレイは、運転席近傍のインストルメントパネル内に設けられており、運転者はこれを見ることにより自車両の現在地を確認したり、またこれからの経路についての情報を得ることができる。また、図示は省略するが、ディスプレイの表示画面にタッチパネル、タッチスクリーン等を含むタブレットを使用し、画面に触れる、或いは画面をなぞることにより、地点入力、道路入力等を行えるように構成してもよい。
【0019】
本発明のナビゲーション装置のシステム全体の流れを説明すると、中央処理装置4に情報記憶装置3からプログラムが読み込まれて経路案内のプログラムが起動されると、現在位置検出装置2により現在位置を検出して現在位置を中心としてその周辺地図を表示すると共に、現在位置の名称等を表示する。次に、地名や施設名称等の目標名、電話番号や住所、登録地点、道路名等を用いて目的地を設定し、出発位置から目的地までの経路探索を行う。経路が決まると、現在位置検出装置2による現在位置追跡を行いながら経路案内を行う。
【0020】
図2は図1に示した本発明に係る情報記憶装置3に格納された道路データファイルの構成例を示している。図2(A)は経路を算出し経路案内を行うために必要なデータが格納された案内道路データファイルを示し、道路数nのそれぞれに対して、道路番号、長さ、道路属性データ、形状データのアドレス、サイズおよび案内データのアドレス、サイズの各データからなる。前記道路番号は、分岐点間の道路毎に方向(往路、復路)別に設定されている。道路案内補助情報データとしての前記道路属性データは、その道路が高架か、高架の横か、地下道か、地下道の横か、車線数の情報、分岐データ(分岐の有無のフラグ)、ランプデータ(ランプか否かのフラグ)からなっている。前記形状データは、図2(B)に示すように、各道路を複数のノード(節)で分割したとき、ノード数mのそれぞれに対して東経、北緯からなる座標データを有しており、曲率をもつ道路形状を表すための補間点も含まれている。前記案内データは、交差点(または分岐点)名称、注意点データ、道路名称データ、道路名称音声データのアドレス、サイズおよび行き先データのアドレス、サイズの各データからなっている。また、これらのデータの他に、地図データとして、画面上に表示するための文字データやランドマークデータを含んでもよい。
【0021】
本実施例では現在位置検出装置3で検出した現在位置座標に基づき情報記憶装置3に記憶された所定範囲のデータを読みだし、画面座標に変換して地図を描画する際、画面座標に変換されたデータ各点ごとにさらに変換処理を加えて描画点を決定し、描画するようにしたものであり、以下に詳細に説明する。
【0022】
図3は描画処理フローを説明する図である。
【0023】
現在位置を検出し(ステップS1)、現在位置座標から所定範囲のデータを読み出し(ステップS2)、読み出した各点の位置座標を画面座標に変換する(ステップS3)。次いで、変換した各点ごとに後述する丸め込み処理を施し(ステップS4)、丸め込み処理で決定された各点により描画メモリに描画し(ステップS5)、表示装置に出力する(ステップS6)。
【0024】
図4は丸め込み処理して地図を描画する例を説明する図である。
この例では、画面座標に変換された各ノードの位置座標を(x,y)、丸め込む格子座標を(X,Y)とし、X方向の格子間隔をa、Y方向の格子間隔をbとしたとき、次式により各点の座標を変換して格子点に丸め込みを行う。
【0025】
(x+a/2)
X=───────*a ……(1)
a
(y+b/2)
Y=───────*b ……(2)
b
なお、(1)式、(2)式の計算において小数点以下については切り捨てを行う。
【0026】
この(1)式、(2)式においてa、bを10とした図4の格子の例により丸め込み処理を説明する。なお、図のX方向、Y方向の0,10,20…の数字は格子を表しており、図4(a)のP1 〜P6 はノードを示しており、図の各位置は画面座標に変換された点を表しているものとする。
【0027】
例えば、ノードP1 (3,3)についてみると、
{(3+10/2)}/10=0.8で、小数点以下切り捨てで、0×10=0となり、X=Y=0となる。従って、ノードP1 (3,3)は、格子点P1 ′(0,0)に丸め込まれる。
点P2 (8,4)についてみると、Xについては、{(8+10/2)}/10=1.3、0.3を切り捨て、1×10=10でX=10となる。Yについては、{(4+10/2)}/10=0.9、0.9を切り捨て、0×10=0でY=0となる。従って、ノードP2 (8,4)は、格子点P2 ′(0,10)に丸め込まれる。
同様に、ノードP3 (12,7)は格子点P3 ′(10,10)、ノードP4 (16,10)は格子点P4 ′(20,10)、ノードP5 (19,11)は格子点P5 ′(=P4 ′)(20,10)、ノードP6 (26,11)は格子点P6 ′(30,10)に丸め込まれる。
【0028】
こうして各格子点に丸め込んだ点を接続すると図4(b)に示すような道路が描画され、図11の場合に比して粗い感じがなくなり、直感的に把握し易い道路が描画される。なお、この例ではX方向、Y方向に隣接するドットを接続することにより道路が描画されるが、例えば、ノードP3 も格子点P4 ′に丸め込まれるような道路の場合には、格子点P2 ′と格子点P4 ′間は45度斜めで隣接するドットを接続して道路が描画される。
【0029】
図5は図4の丸め込み方法を用いて描画した例であり、図12と同じ地図画面であるが、図12に比して粗い感じがなくなり、直観的に把握し易い地図になっていることが分かる。
【0030】
図6は丸め込み処理の他の例を説明する図である。
この例は各ノード間の差分に基づいて丸め込む格子点を決定するものであり、画面座標に変換された各ノードの位置座標を(xn ,yn )、丸め込む格子座標を(Xn ,Yn )とし、X方向の格子間隔をa、Y方向の格子間隔をbとしたとき、次式により各点の座標を変換して格子点に丸め込みを行う。なお、計算において小数点以下切り捨てるのは(1)式、(2)式の場合と同様である。
【0031】
(xn −xn-1 +a/2)
Xn ′=──────────── *a a
Xn =Xn-1 +Xn ′ ……(3)
(yn −yn-1 +b/2)
Yn ′=──────────── *b b
Yn =Yn-1 +Yn ′ ……(4)
(3)式、(4)式においてa、bを10とし、P0 (x0 , y0 )(x0 , y0 =2)が、格子点P0 ′(X0 , Y0 ) (X0 , Y0 =0)に丸め込まれたものとして、P1 (x1 , y1 )(x1 =18, y1 =4)、P2 (x2 , y2 )(x2 =27, y2 =11)の丸め込みについて説明する。
P1 点(18,4)についてみると、
(x1 −x0 +a/2)/a=(18−2+5)/10=2.1
小数点以下を切り捨てると、
X1 ′=20、X1 =20
となる。また、
(y1 −y0 +b/2)/b=(4−2+5)/10=0.7
小数点以下を切り捨てると、
Y1 ′=0、Y1 =0
従って、P1 (18, 4)はP1 ′(20,0)の格子点に丸め込まれる。
P2 点(27,11)についてみると、
(x2 −x1 +a/2)/a=(27−18+5)/10=1.4
小数点以下を切り捨てると、
X2 ′=10、X2 =20+10=30
となる。また、
(y2 −y1 +b/2)/b=(11−4+5)/10=1.2
小数点以下を切り捨てると、
Y2 ′=10、Y2 =0+10=10
従って、P2 (27, 11)は、P2 ′(30,10)の格子点に丸め込まれる。
【0032】
なお、本願発明は上記実施例に限定されるものではなく、いろいろな変形が可能である。例えば、道路データ、公園、川等のポリゴンデータ、文字データ等の情報に種別情報を記憶させ、種別に応じて格子上に載せるデータを選択するようにしてもよい。例えば、ポリゴンデータは丸め込み処理を行わず描画し、道路データを丸め込み処理することによってポリゴンデータは途中で途切れることがないようにする。また、目的地までの経路が設定されている場合には、経路は丸め込み処理を行わず描画し、その他の道路データは丸め込み処理を行い描画するようにしてもよい。
【0033】
また、格子の間隔は、予め設定されているものでもよく、ユーザーが任意に指定してもよい。地図の切り換えが可能な装置においては、縮尺に応じて、格子の幅が自動的に設定されるようにしてもよい。例えば、地図が広域になるほど、格子幅を小さく設定して丸め込み処理を行ってもよい。こうすることにより、同じ位置に丸め込まれるノード数を、異なる縮尺においてほぼ均等にすることができる。また、市街図のように表示される地図データがほとんど幅をもつ場合に丸め込み処理を行うと、幅をもつものがもたないように描画されてしまい地図全体が煩雑になる恐れがある。したがって、表示すべき地図が市街図であるか否かを判定し、市街図の場合には丸めこみ処理は行わず、広域な地図の場合に丸めこみ処理を行うようにしてもよい。
【0034】
また、上記実施例では、地図データの位置座標を画面座標に変換し、変換した画面座標を格子点上にのせるように説明したが、地図データの位置座標を変換式によって座標変換し、変換された座標を描画メモリに描画することによって格子点上に地図データを表示するようにしてもよい。また、本発明は車両の現在位置周辺の地図描画に限られるものではなく、入力装置により入力された地点周辺の地図を表示する際にも適用可能であって、入力方法としては、ジャンル入力、電話番号入力等による入力のほか、地図上でカーソルを移動させる入力方法でもよい。
【0035】
地図データの位置座標を格子点上に丸め込み処理を行った場合、地図データが粗い場合には丸め込み処理を行っても傾きが45度にならない場合がある。そこで、丸め込んだ直線の距離が格子間隔の2倍の場合には直線の中点を計算し、その中点を丸め込み、3倍の場合には直線を3分割して得られた各点を格子点上に丸め込む。このようにすることによって、さらに直感的に認識しやすい地図を表示することができる。
【0036】
また、上記実施例では、位置座標のX、Y座標それぞれに対して丸め込み処理を行ったが、X座標あるいはY座標のみ丸め込み処理を行い、丸め込み処理に要する時間を短縮するようにしてもよい。また、丸め込み処理を行うか否かを車速に応じて切り換えるようにしてもよい。例えば、現在位置検出装置によって検出された車両の車速がしきい値以上の場合には丸め込み処理を行い、しきい値未満の場合には丸め込み処理を行わず、記憶装置に記憶されている座標をそのまま用いて描画するようにしてもよい。こうすることにより、車両が高速で走行している時には直感的に認識し易い地図表示を行い、低速時には正確な地図表示を行うことができる。
【0037】
また、車両が経路上を走行している場合には丸め込み処理を行い、経路を逸脱して走行している場合には丸め込み処理を行わず、正確な地図を表示するようにしてもよい。また、車両が高速道路を走行中の場合には丸め込み処理を行い、一般道を走行している場合には丸め込み処理を行わないようにしてもよい。また、車両が目的地や通過点に接近していることを検出すると丸め込み処理を行った地図表示を正確な地図に切り換えるようにしてもよい。また、車両の現在位置と目的地の位置座標に応じて格子幅を狭くし、目的地に接近するにつれて、正確な地図を表示するようにしてもよい。
【0038】
また、丸め込み処理を行うか否かをマニュアルによる地図スクロールの指示が入力装置によって入力されているか否かによって切り換えるようにしてもよい。こうすることにより、スクロール中の場合には直感的に認識し易い地図表示を行い、スクロールが停止している場合には正確な地図を表示することができる。
【0039】
なお、上記実施例では、地図データの位置座標を離散的な位置座標に座標変換する方法として、地図データの位置座標が格子により定められる格子点上に丸め込められるように座標変換を行ったが、離散的な位置座標に座標変換する方法として、五角形等の多角形により定められる頂点上に丸め込まれるよう様々なものに応用が可能である。
【0040】
なお、上記実施例では道路を形成する全てのノードについて丸め込み処理を行っており、そのため描画される道路形状がギザギザになる場合がある。そこで、条件に応じて丸め込むノードを間引いて数を減らした後、丸め込み処理を行い、描画される道路形状をよりデフォルメして見やすいものとする他の実施例について以下に説明する。
【0041】
図7はノードを間引いた後、丸め込み処理するフローを示す図である。
現在位置を検出し(ステップS11)、現在位置座標から所定範囲のデータを読み出し(ステップS12)、後述する所定の条件でノードの間引き処理を行う(ステップS13)。間引き処理した後の各点の位置座標を画面座標に変換し(ステップS14)、変換した各点ごとに丸め込み処理を施し(ステップS15)、丸め込み処理で決定された各点により描画メモリに描画し(ステップS16)、表示装置に出力する(ステップS17)。
【0042】
図8は間引き処理の方法を説明する図である。
道路を構成するノード列のうち隣接した2つのノードA、Bについて、その座標(東経、北緯)からベクトルABを算出し、さらにその次のノードCまでのベクトルACを算出し、2つのベクトルAB、ACのなす角が所定の角度θ(θは描画地図の縮尺率、道路種別等に応じて適宜設定)以下か否か判定する。判定の結果、ベクトルAB、ACのなす角がθ以下の場合(図8(a))、ノードA、B、Cはほぼ直線上にあるのでノードBを間引き、さらにノードCの次のノードDまでのベクトルADを算出し(図8(b))、ベクトルAB、ADのなす角がθ以下か否か判定し、θ以下であればノードA、B、C、Dはほぼ直線上にあるのでノードCも間引く。ノードCを間引いた場合、さらに次のノードまでのベクトルを算出し、以後同様の処理を行う。一方、ベクトルAB、ACのなす角がθより大きい場合、ノードA、B、Cは直線上にないのでノードBは間引かず、ベクトルの始点をノードAからノードBに移し、ノードC、DまでのベクトルBC、BDを算出し(図8(c))、ベクトルBC、BDのなす角が所定の角度θ以下か否か判定し、以後、上記と同様の処理を行う。これら一連の処理を各道路ごとに実施し、道路を形成するノードのうち、ほぼ直線上のノードを間引くようにする。
【0043】
図9はノード列に間引き処理を適用した場合の説明図である。
図9(a)に示すように、ノード列A、B、C、D、E、Fがあった場合、ノードAからノードB、CまでのベクトルAB、ACを算出し、ベクトルAB、ACのなす角が所定角度θ以下か否か判定する。この例では、ベクトルAB、ACのなす角がθ以下で、ノードA、B、Cはほぼ直線上にあるため、ノードBを間引き、ノードCの次のノードDまでのベクトルADを算出し、ベクトルAB、ADのなす角がθ以下か否か判定する。ベクトルAB、ADのなす角がθより大きいため、ノードCは間引かず、ベクトルの始点をノードCに移し、ノードD、EまでのベクトルCD、CEを算出する。次いで、ベクトルCD、CEのなす角がθより大きいため、ノードDは間引かず、ベクトルの始点をノードDに移し、ノードE、FまでのベクトルDE、DFを算出する。この場合、ベクトルDE、DFのなす角がθより小さいため、ノードEを間引く。こうして、図9(b)に示すような間引き後のノード列A、C、D、Fについて丸め込み処理を行う。上記処理における最初のノードAは、例えば、道路データをメッシュ毎に分割して格納しているので、メッシュの端に相当するノードとし、記憶しているアドレスが若いノードから順番に間引き処理を施すようにすればよい。
【0044】
なお、上記においては道路ごとに間引き処理を行うようにしたが、道路ごとではなく、複数の道路からなる路線(例えば国道1号、県道23号など)ごとに行うようにしてもよい。また、道路を形成するノードが一方から順に始点から終点まで記憶されている場合には、上記のように順次ベクトルを求めて間引き処理を行えばよいが、一方からではなく双方向からのびるようにノードが記憶されている場合には、道路を形成するノードを一旦並び替えた後、上記の方法で間引き処理を行うようにしてもよい。
【0045】
また、上記の方法では道路を構成するノード列のうち隣接した2つのノードA、Bについて、ベクトルAB、ACを算出し、ベクトルAB、ACのなす角が所定の角度以下か否か判定するようにしたが、図10に示すように、隣接した2つのノードA、Bについて、ベクトルAB、BCを算出し、ベクトルAB、BCのなす角を評価するようにしてもよい。ベクトルAB、BCのなす角を、図10に示すように、ノードA、B、Cでつくる三角形の内角α、或いは外角βのいずれにして評価してもよく、内角αとした場合には、所定角度以上のときノードBを間引き、外角βとした場合には、所定角度以下のときノードBを間引くようにする。
【図面の簡単な説明】
【0046】
【図1】本発明の車両用ナビゲーション装置の構成例を示す図である。
【図2】道路データ構造を説明する図である。
【図3】本発明の地図描画処理フローを説明する図である。
【図4】本発明の地図描画方法の例を説明する図である。
【図5】図4の方法で描画した地図の例を示す図である。
【図6】本発明の地図描画方法の他の例を説明する図である。
【図7】ノードを間引いた後、丸め込み処理するフローを示す図である。
【図8】間引き処理の方法を説明する図である。
【図9】ノード列に間引き処理を適用した場合の説明図である。
【図10】間引き処理の他の例を説明する図である。
【図11】従来の地図描画方法を説明する図である。
【図12】従来の方法で描画された地図の例を示す図である。
【符号の説明】
【0047】
1…入力装置、2…現在位置検出装置、3…情報記憶装置、4…中央処理装置、5…情報送受信装置、6…出力装置。
【特許請求の範囲】
【請求項1】
位置座標を有する地図データを記憶した情報記憶手段と、
前記情報記憶手段に記憶された地図データを読み出し、その位置座標を格子により定められる格子点の座標へ座標変換することにより離散的な位置座標に座標変換する制御手段と、
前記制御手段により座標変換された座標に基づいて地図を表示する表示手段と、
を備え、
前記制御手段は前記格子の幅を地図の縮尺に応じて設定することを特徴とする地図表示装置。
【請求項2】
格子の幅を地図の縮尺に応じて設定するステップ、
情報記憶手段に記憶された地図データを読み出し、読み出した地図データの位置座標を格子により定められる格子点の座標へ座標変換することにより離散的な位置座標に座標変換するステップ、
座標変換された座標に基づいて地図を表示するステップ、
をコンピュータに実行させることを特徴とするプログラム。
【請求項1】
位置座標を有する地図データを記憶した情報記憶手段と、
前記情報記憶手段に記憶された地図データを読み出し、その位置座標を格子により定められる格子点の座標へ座標変換することにより離散的な位置座標に座標変換する制御手段と、
前記制御手段により座標変換された座標に基づいて地図を表示する表示手段と、
を備え、
前記制御手段は前記格子の幅を地図の縮尺に応じて設定することを特徴とする地図表示装置。
【請求項2】
格子の幅を地図の縮尺に応じて設定するステップ、
情報記憶手段に記憶された地図データを読み出し、読み出した地図データの位置座標を格子により定められる格子点の座標へ座標変換することにより離散的な位置座標に座標変換するステップ、
座標変換された座標に基づいて地図を表示するステップ、
をコンピュータに実行させることを特徴とするプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【公開番号】特開2007−323078(P2007−323078A)
【公開日】平成19年12月13日(2007.12.13)
【国際特許分類】
【出願番号】特願2007−163759(P2007−163759)
【出願日】平成19年6月21日(2007.6.21)
【分割の表示】特願2001−32957(P2001−32957)の分割
【原出願日】平成13年2月8日(2001.2.8)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.フロッピー
2.VICS
【出願人】(000100768)アイシン・エィ・ダブリュ株式会社 (3,717)
【Fターム(参考)】
【公開日】平成19年12月13日(2007.12.13)
【国際特許分類】
【出願日】平成19年6月21日(2007.6.21)
【分割の表示】特願2001−32957(P2001−32957)の分割
【原出願日】平成13年2月8日(2001.2.8)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.フロッピー
2.VICS
【出願人】(000100768)アイシン・エィ・ダブリュ株式会社 (3,717)
【Fターム(参考)】
[ Back to top ]