(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-04-11
(45)【発行日】2023-04-19
(54)【発明の名称】地図表示システムおよび地図表示プログラム
(51)【国際特許分類】
G09B 29/00 20060101AFI20230412BHJP
G01C 21/26 20060101ALI20230412BHJP
【FI】
G09B29/00 F
G01C21/26 B
(21)【出願番号】P 2019092652
(22)【出願日】2019-05-16
【審査請求日】2021-12-20
(73)【特許権者】
【識別番号】000000011
【氏名又は名称】株式会社アイシン
(73)【特許権者】
【識別番号】000003207
【氏名又は名称】トヨタ自動車株式会社
(74)【代理人】
【識別番号】110000660
【氏名又は名称】Knowledge Partners弁理士法人
(72)【発明者】
【氏名】上田 和也
(72)【発明者】
【氏名】宅野 元貴
(72)【発明者】
【氏名】キン シン
(72)【発明者】
【氏名】中村 泰貴
【審査官】岸 智史
(56)【参考文献】
【文献】国際公開第2013/186897(WO,A1)
【文献】特開2007-156101(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G09B 29/00-29/14
G01C 21/26
G08G 1/00
G06T 11/60
(57)【特許請求の範囲】
【請求項1】
文字の
横方向と路線の方向とがなす角が所定の角度以下となるように、前記路線を表す複数の文字のそれぞれを配置する文字配置部、を備え、
前記路線を表す複数の文字は、地図に表示される前記路線の区間であって、曲率半径が閾値半径以上となる基準区間に沿って配置さ
れ、
前記路線は複数の円弧区間によって近似され、前記円弧区間ごとに曲率半径が取得され、
前記基準区間は、前記路線を表す文字列の長さを有し、
前記基準区間は、前記路線を表す文字列の長さより長い前記円弧区間であって曲率半径が前記閾値半径以上の前記円弧区間内に設定される、
地図表示システム。
【請求項2】
前記路線を表す複数の文字は、
前記地図に表示される前記路線の区間であって、曲率半径が
前記閾値半径未満となる区間に沿って配置されない、
請求項1に記載の地図表示システム。
【請求項3】
前記基準区間は、前記地図に表示される前記路線の区間であって、曲率半径が最大の区間である、
請求項1または請求項2に記載の地図表示システム。
【請求項4】
前記地図に表示される前記路線において複数の前記基準区間の候補を設定する候補設定部と、
複数の前記基準区間の候補のなかから、前記基準区間を選択する基準区間選択部と、
をさらに備える請求項1から請求項3のいずれか一項に記載の地図表示システム。
【請求項5】
前記路線において連続する前記基準区間の候補の間隔は、前記路線を表す複数の文字の文字列の長さ以下である、
請求項4に記載の地図表示システム。
【請求項6】
コンピュータを、
文字の横方向と路線の方向とがなす角が所定の角度以下となるように、前記路線を表す複数の文字のそれぞれを配置する文字配置部、として機能させ、
前記路線を表す複数の文字は、地図に表示される前記路線の区間であって、曲率半径が閾値半径以上となる基準区間に沿って配置され、
前記路線は複数の円弧区間によって近似され、前記円弧区間ごとに曲率半径が取得され、
前記基準区間は、前記路線を表す文字列の長さを有し、
前記基準区間は、前記路線を表す文字列の長さより長い前記円弧区間であって曲率半径が前記閾値半径以上の前記円弧区間内に設定される、
地図表示プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、地図表示システムおよび地図表示プログラムに関する。
【背景技術】
【0002】
路線名称を表す複数の文字を路線に沿って表示する技術が知られている(特許文献1、参照)。特許文献1においては、連続する2個の文字間の方向の差が閾値以上となる場合、当該2個の文字を単一の配置直線に沿って配置することにより、当該2個の文字の方向が同一となるようにしている。これにより、連続する2個の文字間の角度が大きく変化することを回避でき、路線名称の見栄えや判読性が低下する可能性を低減できる。
【先行技術文献】
【特許文献】
【0003】
【文献】特願2018-518328号(本願出願人による未公開の特許出願)
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、特許文献1のように、単一の配置直線に沿って文字を配置すると、文字の方向が路線の方向から大きくずれ得るとともに、文字の位置が路線から大きく離れ得ることとなる。すなわち、路線に対する文字の追従性が悪くなることにより、地図上に配置された文字列がどの路線を表しているかが分かりづらくなっていた。
本発明は、前記課題にかんがみてなされたもので、路線に対する文字の追従性と、文字の見栄えや判読性とを両立できる技術を提供することを目的とする。
【課題を解決するための手段】
【0005】
前記の目的を達成するため、本発明の地図表示システムは、文字の方向と路線の方向とがなす角が所定の角度以下となるように、路線を表す複数の文字のそれぞれを配置する文字配置部、を備える。そして、路線を表す複数の文字は、地図に表示される路線の区間であって、曲率半径が閾値半径以上となる基準区間に沿って配置される。
【0006】
前記の目的を達成するため、本発明の地図表示プログラムは、コンピュータを、文字の方向と路線の方向とがなす角が所定の角度以下となるように、路線を表す複数の文字のそれぞれを配置する文字配置部、として機能させる。そして、路線を表す複数の文字は、地図に表示される路線の区間であって、曲率半径が閾値半径以上となる基準区間に沿って配置される。
【0007】
前記の構成において、文字の方向と路線の方向とがなす角が所定の角度以下となるように文字が配置されるため、路線に対する文字の追従性を高めることができる。ここで、基準区間は、曲率半径が閾値半径以上となる区間である。すなわち、基準区間は、方向の変化が一定の基準よりもゆるやかな区間である。そのため、基準区間に沿って路線を表す複数の文字を配置した場合の文字間の方向の差を低減することができる。従って、路線に対する文字の追従性と、文字の見栄えや判読性とを両立できる。
【0008】
前記の目的を達成するため、本発明の地図表示システムは、文字の方向と路線の方向とがなす角が所定の角度以下となるように、路線を表す複数の文字のそれぞれを配置する文字配置部、を備える。そして、路線を表す複数の文字は、地図に表示される路線の区間であって、文字間の方向の差が閾値角度以下となるように路線を表す複数の文字が配置される基準区間に沿って配置される。
【0009】
前記の目的を達成するため、本発明の地図表示プログラムは、コンピュータを、文字の方向と路線の方向とがなす角が所定の角度以下となるように、路線を表す複数の文字のそれぞれを配置する文字配置部、として機能させる。そして、路線を表す複数の文字は、地図に表示される路線の区間であって、文字間の方向の差が閾値角度以下となるように路線を表す複数の文字が配置される基準区間に沿って配置される。
【0010】
前記の構成において、文字の方向と路線の方向とがなす角が所定の角度以下となるように文字が配置されるため、路線に対する文字の追従性を高めることができる。さらに、各文字の間の方向の差が閾値角度以下となる基準区間に沿って路線を表す文字が配置されるため、路線に対する文字の追従性と、文字の見栄えや判読性とを両立できる。
【図面の簡単な説明】
【0011】
【
図1】ナビゲーションシステムのブロック図である。
【
図3】
図3Aは基準区間設定処理のフローチャート、
図3Bは地図表示処理のフローチャートである。
【発明を実施するための形態】
【0012】
ここでは、下記の順序に従って本発明の実施の形態について説明する。
(1)ナビゲーションシステムの構成:
(2)基準区間設定処理:
(3)地図表示処理:
(4)他の実施形態:
【0013】
(1)ナビゲーションシステムの構成:
図1は、本発明の一実施形態にかかる地図表示システムとしてのナビゲーションシステム10の構成を示すブロック図である。ナビゲーションシステム10は、車両に備えられている。ナビゲーションシステム10は、制御部20と記録媒体30とを備えている。制御部20は、CPUとRAMとROM等を備え、記録媒体30やROMに記憶されたナビゲーションプログラム21を実行する。
【0014】
記録媒体30は、地図情報30aとフォントデータ30bとを記録している。地図情報30aは、2個のノード間を接続するリンクを特定するリンクデータと、ノードの位置等を示すノードデータ等を含む。リンクは車両が走行可能な路線区間に対応し、ノードはリンクの長さ方向の端点である交差点に対応する。ノードデータは、ノードに対応する交差点についての情報を含んでいる。リンクデータには、リンクの幅方向の中央に設定された形状補間点の位置を示す形状補間点データが含まれている。リンクデータには、当該リンクが構成する路線の路線名称を示す情報が含まれている。連続する複数のリンクによって路線が形成される。
【0015】
フォントデータ30bは、ナビゲーションシステム10が表示し得る各文字の形状を示すデータである。制御部20は、フォントデータ30bに基づいて文字を表す画像であるテキスト画像を生成する。
【0016】
車両は、GPS受信部41と車速センサ42とジャイロセンサ43とタッチパネルディスプレイ44とを備えている。GPS受信部41は、GPS衛星からの電波を受信し、図示しないインタフェースを介して車両の現在地を算出するための信号を出力する。車速センサ42は、車両が備える車輪の回転速度に対応した信号を出力する。制御部20は、車速センサ42からの信号に基づいて車速を取得する。ジャイロセンサ43は、車両の水平面内の旋回についての角加速度を検出し、車両の向きに対応した信号を出力する。制御部20は、ジャイロセンサ43からの信号に基づいて車両の進行方向を取得する。制御部20は、車速センサ42およびジャイロセンサ43等の出力信号に基づいて車両の走行軌跡を特定することで車両の現在地を取得する。GPS受信部41の出力信号は、車速センサ42およびジャイロセンサ43等から特定される車両の現在地を補正する等に利用される。
【0017】
タッチパネルディスプレイ44は、地図を表示する。制御部20は、タッチパネルディスプレイ44に対して地図を示す映像信号を出力することにより、タッチパネルディスプレイ44に地図を表示させる。
【0018】
ナビゲーションプログラム21は、本発明の地図表示プログラムに相当する。ナビゲーションプログラム21は、候補設定モジュール21aと基準区間選択モジュール21bと文字配置モジュール21cとを含む。候補設定モジュール21aと基準区間選択モジュール21bと文字配置モジュール21cとは、それぞれコンピュータとしての制御部20を候補設定部と基準区間選択部と文字配置部として機能させるプログラムモジュールである。
【0019】
以下、車両の現在地の周辺の地図を表示する場合を例にしてナビゲーションシステム10の処理を説明する。候補設定モジュール21aの機能により制御部20は、地図に表示される路線において複数の基準区間の候補(以下、候補区間)を設定する。候補設定モジュール21aの機能により制御部20は、地図の表示領域を含んでいるメッシュである対象メッシュ内に存在する路線について複数の候補区間を設定する。地図の表示領域とは、地図に表される実空間内の領域であり、車両の現在地を基準に設定される領域である。
【0020】
制御部20は、現在地が属するメッシュや現在地の周辺のメッシュを対象メッシュとして取得し、対象メッシュについての情報(ノードデータ、リンクデータ等)を地図情報30aから取得する。制御部20は、表示する地図の縮尺が小さいほど広い範囲のメッシュを対象メッシュとして取得してもよい。メッシュとは、予め決められた長さの辺を有する正方形状の領域である。
【0021】
制御部20は、リンクデータに基づいて対象メッシュ内に存在する路線とその路線名称とを取得する。制御部20は、共通する路線名称が対応付けられた連続の路線区間を1個の路線として取得し、当該路線を構成する路線区間の形状補間点データを取得する。そして、制御部20は、形状補間点データに基づいて対象メッシュ内に存在する各路線の形状を取得する。例えば、制御部20は、路線上のノードと形状補間点とを近似する近似曲線を路線の形状として取得してもよい。制御部20は、地図の縮尺に基づいてタッチパネルディスプレイ44に表示した場合の地図上における路線の形状を取得する。
【0022】
候補設定モジュール21aの機能により制御部20は、フォントデータ30bに基づいて、対象メッシュ内の路線の路線名称を表す文字のそれぞれについてテキスト画像を生成する。なお、制御部20は、予めユーザ等が設定したフォントサイズに基づいて、タッチパネルディスプレイ44に表示されるサイズのテキスト画像を生成する。
【0023】
図2Aは、対象メッシュ内のある路線の路線名称について生成されたテキスト画像Tを示す。
図2Aにおいて、"ABCDEFG"という路線名称を構成する7個の文字についてのテキスト画像Tが示されている。テキスト画像Tは、矩形状の背景領域上に、文字を構成する図形要素(直線、曲線等)が存在する画像である。背景領域は透明であり、文字を構成する図形要素は非透明のフォント色である。背景領域は、長さDの辺を有する正方形であることする。背景領域の重心を中心点Cと表す。図示の簡略化のため、
図2Aにおいてはすべての文字の背景領域の形状を同一としたが、背景領域の形状(辺の長さ、縦横比等)は文字ごとに異なってもよい。背景領域の下辺の方向を文字の方向Vとする。
【0024】
候補設定モジュール21aの機能により制御部20は、路線名称を表す文字のテキスト画像Tを文字の方向Vに隙間なく配列することによりテキスト画像Tの列を生成し、文字の方向Vにおけるテキスト画像Tの列の長さを基準区間長Wとして取得する。すなわち、制御部20は、テキスト画像Tの横幅の合計値を基準区間長Wとして取得する。基準区間長Wは、路線名称を表す複数の文字の文字列の長さを意味する。本実施形態において、文字の配置順は、先頭の文字を左端に配置し、以降の文字を順に右隣に配置していく順序である。
【0025】
候補設定モジュール21aの機能により制御部20は、対象メッシュ内の路線上に候補区間を設定する。制御部20は、基準区間長Wの長さを有する候補区間を設定する。また、制御部20は、路線の方向に連続する候補区間同士の間隔が基準区間長W以下となるように候補区間を設定する。
【0026】
図2Bは、候補区間Kの設定例を示す。
図2Bにおいて、路線L上において、基準区間長Wの長さを有する候補区間Kが設定されている。路線Lの方向において連続して設定される候補区間Kの先頭位置(例えば紙面左端)同士の間隔Qは、基準区間長W以下となっている。そのため、路線Lにおいて互いに隣接する候補区間Kの間隔Qは、路線Lを表す複数の文字の文字列の長さ以下となる。本実施形態において、間隔Qは、基準区間長Wに一定の係数(0.75)を乗算した長さである。係数は、0より大きく1未満の小数であればよい。路線Lごとに基準区間長Wが異なるため、路線Lごとに候補区間Kの設定周期も異なることとなる。
【0027】
文字配置モジュール21cの機能により制御部20は、文字の方向Vと路線Lの方向とがなす角が所定の角度以下となるように、路線Lを表す複数の文字のそれぞれを仮配置する。本実施形態において、制御部20は、候補区間Kのそれぞれについて、当該候補区間Kに沿って路線名称を示すテキスト画像Tを仮配置する。なお、候補区間Kに沿って文字を配置することを『仮配置する』と表記し、候補区間Kのなかから選択された基準区間に沿って文字を配置することを『配置する』と表記する。制御部20は、候補区間Kにおいて路線Lを予め決められたオフセット距離だけオフセットしたオフセット線を生成し、当該オフセット線上にテキスト画像Tの中心点Cが位置するようにテキスト画像Tを仮配置する。
【0028】
図2C,
図2Dは、テキスト画像Tの仮配置例を示す。同図に示すように、候補区間Kにおいて路線Lをオフセット距離Fだけオフセットしたオフセット線O(一点鎖線)上に、テキスト画像Tの中心点Cが位置するようにテキスト画像Tが仮配置されている。本実施形態において、オフセット距離Fは、路線Lとテキスト画像Tとが重ならない長さに設定されており、地図上に表される路線Lの幅とテキスト画像Tの背景領域の辺の長さDの和の半分以上の長さに設定されている。ただし、路線Lとテキスト画像Tとが重なってもよく、オフセット距離Fは0であってもよい。
【0029】
制御部20は、
図2Aのようにテキスト画像Tを文字の方向Vにおいて直線状に隙間なく並べた場合のテキスト画像Tの中心点C間の間隔(連続する2個のテキスト画像Tの辺の長さDの平均値)を維持するように、オフセット線O上に中心点Cが位置するようにテキスト画像Tを仮配置する。制御部20は、中心点Cにおけるオフセット線Oの方向Aを取得し、中心点Cにおけるオフセット線Oの方向Aと文字の方向Vとが同じとなるようにテキスト画像Tを回転させる。すなわち、制御部20は、文字の方向Vと路線Lの方向とがなす角が所定の角度以下(本実施形態においては固定角度である0度)となるように、テキスト画像Tを回転させる。
【0030】
基準区間選択モジュール21bの機能により制御部20は、複数の候補区間Kのなかから、基準区間Sを選択する。具体的に、基準区間選択モジュール21bの機能により制御部20は、文字間の方向の差が閾値角度以下となる候補区間Kを基準区間として設定する。制御部20は、候補区間Kに沿って連続して仮配置された2個のテキスト画像Tの方向Vの差の最大値を、文字間の方向Vの差として取得する。
【0031】
より具体的に、制御部20は、M番目(Mは自然数)のテキスト画像Tの方向Vと(M+1)番目のテキスト画像Tの方向Vとの差をすべての組み合わせについて算出し、算出したすべての差の最大値を文字間の方向Vの差として取得する。そして、制御部20は、文字間の方向Vの差が閾値角度(例えば30度)以下となる候補区間Kを基準区間Sとして選択する。
【0032】
制御部20は、対象メッシュ内のすべての路線L上のすべての候補区間Kについて文字間の方向Vの差を算出し、文字間の方向Vの差が閾値角度以下となる候補区間Kを基準区間Sとして選択しておく。また、制御部20は、各基準区間Sについて文字間の方向Vの差を記録媒体30等に記録しておく。
【0033】
基準区間選択モジュール21bの機能により制御部20は、地図の表示領域を取得する。地図の表示領域とは、地図に表される実空間内の領域であり、車両の現在地を基準に設定される領域である。なお、地図の表示領域は、基準区間Sが設定されている対象メッシュによってカバーされる領域である。制御部20は、車両の現在地と地図の縮尺とに基づいて地図の表示領域を設定する。地図の表示領域は、タッチパネルディスプレイ44上における地図の表示領域と相似形状(縮尺の逆数倍のサイズ)を有する。
【0034】
制御部20は、車両の現在地に追従するようにヘディングアップの地図を表示するように、車両の現在地と車両の進行方向とに基づいて地図の表示領域の位置と方向とを設定する。具体的に、制御部20は、車両の現在地がタッチパネルディスプレイ44上における地図の表示エリアの一定位置(例えば中央下方)に表され、かつ、車両の進行方向がタッチパネルディスプレイ44の上方に表されるように地図の表示領域を設定する。従って、車両の現在地と進行方向とが変化するごとに、地図の表示領域も変化することとなる。
【0035】
基準区間選択モジュール21bの機能により制御部20は、地図の表示領域内に存在する基準区間Sを抽出する。そして、制御部20は、地図の表示領域内の路線Lのそれぞれについて、抽出した基準区間Sのなかから実際に文字を配置する基準区間Sを1個ずつ選択する。具体的に、制御部20は、地図の表示領域内の路線L上に存在する基準区間Sのうち、文字間の方向Vの差が最小となる基準区間Sを選択する。
【0036】
以上のようにして、地図の表示領域内に存在する路線Lのそれぞれについて基準区間Sを選択すると、文字配置モジュール21cの機能により制御部20は、選択した基準区間Sに沿って路線Lを表す複数の文字のそれぞれを配置する。基準区間Sに沿って文字を配置する方法は、上述した仮配置を行った手法と同様である。文字配置モジュール21cの機能により制御部20は、地図の表示領域内に存在する路線Lや交差点や他の地物を表すとともに、基準区間Sに沿って路線Lの路線名称を示すテキスト画像Tが配置された地図を描画する。そして、制御部20は、描画した地図を示す制御信号を生成し、タッチパネルディスプレイ44に出力する。
【0037】
以上説明した本実施形態において、制御部20は、文字の方向Vと路線Lの方向とがなす角が所定の角度以下(本実施形態においては固定角度である0度)となるように、路線Lを表す複数の文字のそれぞれを配置する。さらに、路線Lを表す複数の文字は、文字間の方向Vの差が閾値角度以下となるように路線Lを表す複数の文字が配置される基準区間Sに沿って配置される。その一方で、路線Lを表す複数の文字は、文字間の方向Vの差が閾値角度よりも大きくなるように路線Lを表す複数の文字が配置される区間に沿って配置されない。従って、路線に対する文字の追従性と、文字の見栄えや判読性とを両立できる。
【0038】
さらに、文字が配置される基準区間Sは、文字間の方向Vの差が最小となるように路線Lを表す複数の文字が配置される区間である。これにより、各文字の間の方向Vの差が最も小さくなる基準区間Sに沿って路線Lを表す複数の文字を配置することができる。従って、見栄えや判読性が最も良くなる位置に路線Lを表す複数の文字を配置できる。
【0039】
制御部20は、地図に表示される路線Lにおいて複数の候補区間Kを設定し、複数の候補区間Kのなかから、基準区間Sを選択している。これにより、予め候補区間Kを多めに設定しておき、そのなかから見栄えや判読性が良くなる区間を基準区間Sとして選択できる。さらに、路線Lにおいて連続する候補区間Kの間隔Qは、路線を表す複数の文字の文字列の長さ(基準区間長W)以下である。このように候補区間Kを短い間隔Qで設定しておくことにより、候補区間Kが文字の見栄えや判読性が良くなる位置に該当する可能性を高めることができる。
【0040】
(2)基準区間設定処理:
次に、ナビゲーションプログラム21の機能により実行される基準区間設定処理を説明する。
図3Aは、基準区間設定処理のフローチャートである。基準区間設定処理は、新たに地図を表示する場合や、車両の現在地の変化に応じて対象メッシュに変化が生じた場合に実行される処理である。
【0041】
まず、候補設定モジュール21aの機能により制御部20は、地図情報30aから対象メッシュ内の情報を取得(ステップS100)。すなわち、制御部20は、対象メッシュについての情報(ノードデータ、リンクデータ等)を地図情報30aから取得する。
【0042】
次に、候補設定モジュール21aの機能により制御部20は、候補区間Kを設定する(ステップS110)。すなわち、制御部20は、対象メッシュ内の各路線Lについて路線名称を表すテキスト画像Tの列の長さを基準区間長Wとして取得し、路線L上において基準区間長Wよりも短い間隔Qで、基準区間長Wの長さを有する候補区間Kを設定する(
図2B)。
【0043】
次に、基準区間選択モジュール21bの機能により制御部20は、判定対象の候補区間Kを選択する(ステップS120)。すなわち、制御部20は、ステップS110において設定した候補区間Kのなかから、基準区間Sとして選択するか否かを判定する対象とするものを1個選択する。候補区間Kの選択順序はどのようなものであってもよい。
【0044】
次に、基準区間選択モジュール21bの機能により制御部20は、文字間の方向Vの差が閾値角度以下であるか否かを判定する(ステップS130)。すなわち、制御部20は、文字の方向Vと路線Lの方向Aとがなす角が所定の角度以下(本実施形態においては固定角度である0度)となるように、判定対象の候補区間Kに沿って路線名称を示す複数のテキスト画像Tを仮配置する。そして、制御部20は、路線Lの方向において連続する2個のテキスト画像T間の方向Vの差の最大値が閾値角度(例えば30度)以下であるか否かを判定する。
【0045】
文字間の方向Vの差が閾値角度以下であると判定した場合(ステップS130:Y)、基準区間選択モジュール21bの機能により制御部20は、候補区間Kを基準区間Sとして選択する(ステップS140)。すなわち、制御部20は、文字間の方向Vの差が閾値角度以下となる候補区間Kを、基準区間Sとして選択する。制御部20は、文字間の方向Vの差を基準区間Sに対応付けて記録しておく。
【0046】
一方、文字間の方向Vの差が閾値角度以下であると判定しなかった場合(ステップS130:N)、基準区間選択モジュール21bの機能により制御部20は、候補区間Kを基準区間Sとして選択しない(ステップS150)。すなわち、制御部20は、文字間の方向Vの差が閾値角度よりも大きくなる候補区間Kを、基準区間Sとして選択しない。
【0047】
最後に、基準区間選択モジュール21bの機能により制御部20は、すべての候補区間Kが判定済みであるか否かを判定する(ステップS160)。すなわち、制御部20は、ステップS110において対象メッシュ内に設定したすべての候補区間Kについて、基準区間Sとして選択するか否かを判定する処理が完了したか否かを判定する。
【0048】
すべての候補区間Kが判定済みであると判定しなかった場合(ステップS160:N)、制御部20は、ステップS120に戻り、次の候補区間Kについて基準区間Sとして選択するか否かを判定する処理を繰り返す。一方、すべての候補区間Kが判定済みであると判定した場合(ステップS160:Y)、制御部20は、基準区間設定処理を終了する。
【0049】
(3)地図表示処理:
次に、ナビゲーションプログラム21の機能により実行される地図表示処理を説明する。
図3Bは、地図表示処理のフローチャートである。地図表示処理は、基準区間設定処理の実行後において、新たに地図を表示する場合や車両の現在地や進行方向の変化に応じて地図の表示領域に変化が生じた場合に実行される処理である。
【0050】
まず、基準区間選択モジュール21bの機能により制御部20は、地図の表示領域を取得する(ステップS200)。すなわち、制御部20は、車両の現在地に追従するようにヘディングアップの地図を表示するように、車両の現在地と車両の進行方向とに基づいて地図の表示領域の位置と方向とを設定する。
【0051】
次に、基準区間選択モジュール21bの機能により制御部20は、表示領域内の基準区間Sを抽出する(ステップS210)。すなわち、制御部20は、
図3AのステップS140において選択された基準区間Sのうち、地図の表示領域内に存在する基準区間Sを抽出する。
【0052】
次に、基準区間選択モジュール21bの機能により制御部20は、処理対象の路線Lを選択する(ステップS220)。すなわち、制御部20は、表示領域内に存在する路線Lのうちのいずれか1個を処理対象の路線Lとして選択する。処理対象の路線Lの選択順序はどのような順序であってもよい。
【0053】
次に、基準区間選択モジュール21bの機能により制御部20は、文字間の方向Vの差が最小の基準区間を選択する(ステップS230)。すなわち、制御部20は、処理対象の路線Lの基準区間Sのうち、
図3AのステップS130において算出された文字間の方向Vの差が最小となる基準区間Sを選択する。これにより、処理対象の路線Lについて1個の基準区間Sを選択できたこととなる。
【0054】
次に、基準区間選択モジュール21bの機能により制御部20は、地図の表示領域内のすべての路線Lを選択したか否かを判定する(ステップS240)。すなわち、制御部20は、地図の表示領域内のすべての路線Lのすべてについて1個の基準区間Sを選択する処理が完了したか否かを判定する。
【0055】
地図の表示領域内のすべての路線Lを選択したと判定しなかった場合(ステップS240:N)、基準区間選択モジュール21bの機能により制御部20は、ステップS220に戻る。すなわち、制御部20は、次の路線Lについて基準区間Sを選択する処理を繰り返して実行する。
【0056】
一方、地図の表示領域内のすべての路線Lを選択したと判定した場合(ステップS240:Y)、文字配置モジュール21cの機能により制御部20は、選択した基準区間Sに沿って文字を配置した地図を表示する(ステップS250)。すなわち、制御部20は、地図の表示領域内に存在する路線Lや交差点や他の地物を示すとともに、基準区間Sに沿って路線Lの路線名称を示すテキスト画像Tが配置された地図を描画する。そして、制御部20は、描画した地図を示す制御信号を生成し、タッチパネルディスプレイ44に出力する。
【0057】
車両の現在地に応じて地図をスクロールしたり、ユーザの操作に応じて地図をスクロールしたりすると、地図表示処理が繰り返して実行されることとなり、地図の表示領域が連続的に変化することとなる。本実施形態のように多くの基準区間Sを設定しておくことにより、スクロールに追従するように文字が配置される基準区間Sをスクロール方向に遷移させていくことができる。この場合、文字の方向Vの差が閾値角度よりも大きくなる区間を避けて基準区間Sが遷移していくこととなる。
【0058】
(4)他の実施形態:
前記実施形態においては、文字を配置した場合の文字の方向Vの差を算出するために文字を仮配置する処理が行われたが、文字を仮配置する処理は必ずしも行われなくてもよい。例えば、路線Lを表す複数の文字は、地図に表示される路線Lの区間であって、曲率半径が閾値半径以上となる基準区間Sに沿って配置されてもよい。そのために、制御部20は、対象メッシュ内に存在する路線Lの各区間について曲率半径を算出する。
【0059】
例えば、制御部20は、路線L上のノードと形状補間点とを多数の円弧によって構成された近似曲線によって近似することにより、路線Lの形状を取得してもよい。これにより、路線Lの区間ごとに当該区間の曲率半径を得ることができる。
【0060】
図2Eは、
図2Bに示した路線Lが複数の円弧区間P(P1~P4)によって近似されている様子を示す。各円弧区間P内において、曲率半径R(R1~R4)は一定である。制御部20は、各円弧区間Pの曲率半径Rを算出し、曲率半径Rが閾値半径以上の円弧区間Pにおいて基準区間Sを設定する。なお、制御部20は、基準区間長Wよりも長い円弧区間Pにおいて基準区間Sを設定する。
図2Eにおいて、円弧区間P3~P4の曲率半径R3~R4が閾値半径以上であることとする。この場合、制御部20は、円弧区間P3~P4のそれぞれにおいて基準区間Sを設定する。なお、基準区間Sは、円弧区間Pの中央に設定されてもよい。また、円弧区間Pが基準区間長Wの2倍以上の長さを有する場合、1個の円弧区間Pに2個以上の基準区間Sが設定されてもよい。
【0061】
以上のようにして基準区間Sを設定すると、基準区間選択モジュール21bの機能により制御部20は、地図の表示領域内に存在する基準区間Sのうち、曲率半径が最大の円弧区間P上に設定された基準区間Sを選択する。これにより、選択された基準区間Sを、地図に表示される路線Lの区間であって、曲率半径が最大の区間とすることができる。
【0062】
前記の構成において、基準区間Sは、曲率半径Rが閾値半径以上となる区間である。基準区間Sは、方向の変化が一定の基準よりもゆるやかな区間である。そのため、基準区間Sに沿って路線Lを表す複数の文字を配置した場合の文字間の方向Vの差を低減することができる。一方、路線Lを表す複数の文字は、曲率半径Rが閾値半径未満となる区間に沿って配置されない。従って、路線に対する文字の追従性と、文字の見栄えや判読性とを両立できる。さらに、路線Lのなかで曲率半径Rが最大であり、文字間の方向Vの差が最も小さくなる基準区間Sに沿って路線Lを表す複数の文字を配置することができる。従って、見栄えや判読性が最も良くなる位置に路線Lを表す複数の文字を配置できる。
【0063】
また、円弧区間P内において基準区間Sを設定する(複数の円弧区間Pに跨がらないように基準区間Sを設定する)ことにより、1個の基準区間S内において湾曲方向が反転しないようにすることができる。
図2Eにおいて、円弧区間P1,P3の曲率中心は路線Lよりも下側に存在するのに対して、円弧区間P2,P4の曲率中心は路線Lよりも上側に存在する。例えば、円弧区間P1,P2に跨がって基準区間Sを設定した場合、基準区間S内において湾曲方向が反転することとなる。基準区間S内において湾曲方向が反転すると、文字の方向Vが傾く方向も反転することとなる。
【0064】
ここで、
図2Cの基準区間Sにおいては曲率中心が路線Lよりも上方に位置しており、文字の方向Vは左隣の文字の方向Vよりも反時計回りに回転していることとなる。一方、
図2Dの基準区間Sにおいては曲率中心が路線Lよりも下方に位置しており、文字の方向Vは左隣の文字の方向Vよりも時計回りに回転していることとなる。円弧区間P内に基準区間Sを設定することにより、1個の基準区間Sの途中で文字の方向Vの回転方向が反転しないようにすることができ、見栄えや判読性が良くなる位置に路線を表す複数の文字を配置できる。
【0065】
なお、制御部20は、1個の路線Lにつき、複数の基準区間Sに沿って文字を配置してもよい。すなわち、基準区間Sは、文字の見栄えや判読性が良好となることが判明している区間であるため、必ずしも最も文字の見栄えや判読性が良好となる1個の基準区間Sに限って文字を配置しなくてもよい。例えば、制御部20は、地図の表示領域の中央や外縁に対して一定の基準よりも近い位置に存在する基準区間Sに文字を配置してもよい。さらに、制御部20は、他の路線Lまでの最短距離や交差点までの距離が一定の基準よりも大きい基準区間Sに文字を配置してもよい。また、制御部20は、車両の現在地までの距離が一定の基準距離に最も近くなる基準区間Sに文字を配置してもよいし、車両の現在地までの距離が一定の基準以上となる基準区間Sに文字を配置してもよい。
【0066】
なお、ナビゲーションシステム10は、予め基準区間Sが定義された地図情報30aを参照することにより、基準区間Sに沿って文字を配置してもよい。すなわち、地図情報30aにおいて最初から基準区間Sが定義されてもよく、制御部20は、地図の表示領域が取得された段階で、表示領域内の基準区間Sを選択してもよい。これにより、地図を表示する際における処理負荷を低減できる。
【0067】
前記実施形態においては、文字の方向Vと路線Lの方向との差が0度となるように文字が配置されたが、制御部20は、文字の方向Vと路線Lの方向との差が90度となるように文字を配置してもよい。例えば、地図において上下方向に近い角度(例えば上下方向から45度以内)で路線Lが表される場合、文字の方向Vと路線Lの方向が90度となるように文字を上から順に配置することにより、路線名称を縦書きで表示することができる。この場合、制御部20は、テキスト画像Tの縦の長さの合計値を基準区間長Wとして取得すればよい。
【0068】
本発明にかかる地図表示システムは、地図を表示部に表示させることが可能なシステムであればよく、表示部を備えた装置であってもよいし、表示部を備えた装置に対して地図を示す画像データを送信する装置であってもよい。地図表示システムは、車両の乗員が視認する地図を表示してもよく、車両の一部であってもよいし、車両に搭載された車載器であってもよいし、スマートフォンであってもよい。
【0069】
路線とは、地図上において線状に表現される地物であり、道路であってもよいし、鉄道路線であってもよいし、航路であってもよい。路線の方向とは、文字が配置された箇所における路線の方向であり、例えば文字に最も近い位置における路線の方向であってもよい。文字の方向とは、例えば文字の縦方向や横方向であり、フォントの形状を定義する座標系の軸方向であってもよい。文字の方向と路線の方向とがなす角としての所定の角度は、1個の基準区間に沿って配置される複数の文字が一連の単語等として視認されるように設定されていてもよいし、並行に見えるように設定されていてもよい。従って、複数の文字のそれぞれにおける所定の角度が一定の角度又は互いに近い角度であってもよい。さらに、複数の文字が一連の単語等として視認されるように所定の角度を設定するためには、所定の角度が小さい値、例えば、5°,10°,15°等の値であることが好ましい。この場合、所定の角度以下の値は、所定の角度以下の任意の値、例えば、0°、1°、2°、3°、6°、12°等であってよい。さらに、所定の角度は、基準区間全体の路線の方向に依存する角度であってもよく、1個の路線における複数の基準区間ごとに異なってもよいし、路線ごとに異なってもよい。むろん、所定の角度は、地図内のすべての路線の基準区間において共通の角度であってもよい。
【0070】
文字配置部は、路線に沿って文字を配置すればよく、路線と文字との距離が一定となるように文字を配置してもよい。例えば、文字配置部は、路線の中央線と文字の中心との距離を0に設定することにより、路線上に文字を配置してもよい。さらに、文字配置部は、路線と文字とが重ならないように、路線と文字との距離を設定してもよい。
【0071】
基準区間は路線の一部を構成する区間であり、曲率半径が閾値半径以上となる区間である。基準区間は、路線を表す複数の文字を配置することが可能な長さを有する区間であり、路線を表す文字列の長さと同じ長さを有してもよい。基準区間の曲率半径は、基準区間を単位長さごとに区分した小区間ごとの曲率半径の平均値であってもよいし、最小値であってもよい。基準区間の曲率半径は、基準区間に沿って路線を表す複数の文字を配置した場合における文字間の方向の差が閾値角度以下となる半径であってもよい。なお、路線を表す複数の文字は、地図に表示される路線の区間であって、曲率半径が閾値半径以上となる基準区間に沿って配置される一方で、地図に表示される路線の区間であって、曲率半径が閾値半径未満となる区間に沿って配置されない。
【0072】
さらに、基準区間は、地図に表示される路線の区間であって、曲率半径が最大の区間であってもよい。これにより、路線のなかで曲率半径が最大であり、文字間の方向の差が最も小さくなる基準区間に沿って路線を表す複数の文字を配置することができる。従って、見栄えや判読性が最も良くなる位置に路線を表す複数の文字を配置できる。
【0073】
さらに、路線を表す複数の文字を配置した場合の文字の方向を算出しておき、当該算出した方向の差が閾値角度以下となる区間に基準区間が設定されてもよい。ここで、文字間の方向の差とは、連続する2個の文字間の方向の差であってもよく、連続する2個の文字間の方向の差の平均値であってもよいし、最大値であってもよい。さらに、文字間の方向の差とは、文字の回転方向の差異であってもよい。例えば、M番目の文字に対する(M+1)番目の文字の回転方向が逆転する回数が閾値以下である場合に、文字の方向の差が閾値角度以下であると見なしてもよい。回転方向が逆転するとは、時計回りと反時計回りとが切り替わることである。なお、路線を表す複数の文字は、地図に表示される路線の区間であって、文字間の方向の差が閾値角度以下となるように路線を表す複数の文字が配置される基準区間に沿って配置される一方で、文字間の方向の差が閾値角度よりも大きくなるように路線を表す複数の文字が配置される区間に沿って配置されない。
【0074】
また、基準区間は、地図に表示される路線の区間であって、文字間の方向の差が最小となるように路線を表す複数の文字が配置される区間であってもよい。これにより、各文字の間の方向の差が最も小さくなる基準区間に沿って路線を表す複数の文字を配置することができる。従って、見栄えや判読性が最も良くなる位置に路線を表す複数の文字を配置できる。
【0075】
さらに、地図表示システムは、地図に表示される路線において複数の基準区間の候補を設定する候補設定部と、複数の基準区間の候補のなかから、基準区間を選択する基準区間選択部と、をさらに備えてもよい。この構成において、予め基準区間の候補を多めに設定しておき、そのなかから見栄えや判読性が良くなる区間を基準区間として選択できる。
【0076】
さらに、路線において連続する基準区間の候補の間隔は、路線を表す複数の文字の文字列の長さ以下であってもよい。このように基準区間の候補を短い間隔で設定しておくことにより、基準区間の候補が文字の見栄えや判読性が良くなる位置に該当する可能性を高めることができる。
【0077】
さらに、本発明のように、文字の見栄えや判読性が良好となるように文字を配置する基準区間を設定する手法は、プログラムや方法としても適用可能である。また、以上のようなシステム、プログラム、方法は、単独の装置として実現される場合もあれば、車両に備えられる各部と共有の部品を利用して実現される場合もあり、各種の態様を含むものである。例えば、以上のような装置を備えたナビゲーションシステム、地図表示システムや方法、プログラムを提供することが可能である。また、一部がソフトウェアであり一部がハードウェアであったりするなど、適宜、変更可能である。さらに、装置を制御するプログラムの記録媒体としても発明は成立する。むろん、そのソフトウェアの記録媒体は、半導体メモリであってもよいし光磁気記録媒体であってもよいし、今後開発されるいかなる記録媒体においても全く同様に考えることができる。
【符号の説明】
【0078】
10…ナビゲーションシステム、20…制御部、21…ナビゲーションプログラム、21a…候補設定モジュール、21b…基準区間選択モジュール、21c…文字配置モジュール、30…記録媒体、30a…地図情報、30b…フォントデータ、41…GPS受信部、42…車速センサ、43…ジャイロセンサ、44…タッチパネルディスプレイ、A…路線の方向、C…中心点、T…テキスト画像、F…オフセット距離、K…候補区間、L…路線、O…オフセット線、P…円弧区間、Q…間隔、R…曲率半径、S…基準区間、V…文字の方向、W…基準区間長