(58)【調査した分野】(Int.Cl.,DB名)
前記注記データ描画手段は、前記直線性評価手段により直線であると評価されたベクトルデータと共に読み出された注記データを直線状に描画し、前記直線性評価手段により曲線であると評価されたベクトルデータと共に読み出された注記データをベクトルデータに沿って描画する、ことを特徴とする請求項1に記載の情報処理装置。
前記直線性評価手段によりベクトルデータが直線であると評価された場合、前記直線性評価手段は、前記注記データに含まれる記号のうち直線との距離が閾値以上の記号を検出して、
前記注記データ描画手段は、直線との距離が閾値以上の前記記号をベクトルデータに重畳させて描画する、ことを特徴とする請求項2に記載の情報処理装置。
前記直線性評価手段は、ベクトルデータと共に読み出された注記データに含まれる記号を2つ以上の所定数ずつ取得して、該所定数が描画される範囲のベクトルデータの直線性を評価し、
前記注記データ描画手段は、直線であると評価されたベクトルデータの前記範囲にベクトルデータと共に読み出された前記所定数の注記データを直線状に描画し、曲線であると評価されたベクトルデータの前記範囲にベクトルデータと共に読み出された前記所定数の注記データを前記範囲のベクトルデータに沿って描画する、ことを特徴とする請求項2に記載の情報処理装置。
【発明を実施するための形態】
【0015】
以下、本発明を実施するための形態について図面を参照しながら説明する。
【0016】
<本実施形態で用いられる用語について>
線状の対象物に沿わせて表示される注記は斜向注記と称される場合がある。本実施形態では、斜向注記のうち、線状の対象物に直線で沿わせた注記を直線注記、線状の対象物に曲線で沿わせた注記を曲線注記と称する。
【0017】
本実施形態では、主に、直線の対象物に直線注記を描画し、曲線の対象物に曲線注記を描画する。
【0018】
また、注記は主に文字で構成されるが、文字以外の数字、特殊記号(!#$&%<>@¥等)、ギリシャ文字、又は、アルファベットなどを含んでいてもよい。本実施形態では、文字を例にして説明するが、注記として使用されうる文字、数字、記号、ギリシャ文字、及び、アルファベットを記号と称する。
【0019】
<システムなどの構成例>
図2は、本実施形態にかかる経路案内システム100のシステム構成図の一例である。経路案内システム100は、ネットワーク13を介して接続されたナビゲーションサーバ21及び端末22を有している。ネットワーク13は、インターネット、WANやLANなどの主に有線で構築される通信網と、携帯電話網や無線LANなどの主に無線で構築される通信網とを有している。有線のみ又は無線のみで構築されていてもよい。端末22は無線で基地局14やアクセスポイント15にアクセスすることでネットワーク13に接続する。
【0020】
ナビゲーションサーバ21は、端末22に対し、ナビゲーションに関するサービス・機能を提供する情報処理装置である。例えば、端末22から現在地と目的地を取得してルートを検索し、後述する経路情報とナビ画面を端末22に送信する。
【0021】
端末22は、ユーザが利用するナビゲーション端末である。端末22は、汎用的な情報処理端末221である場合とナビゲーション専用端末222の場合がある。ナビゲーション専用端末222はPND(Portable Navigation Device)とも呼ばれる。なお、本実施形態の端末22は、情報処理端末221又はナビゲーション専用端末222以外でもよい。
【0022】
情報処理端末221としての端末22は、例えば、スマートフォン、タブレット端末、携帯電話、PDA(Personal Digital Assistant)、ノートPC、及び、ウェアラブルPCなどである。情報処理端末221はこれらに限定されるものではなく、経路案内に適切な装置であればよい。これらの装置は、普段は情報処理端末として利用されるが、ナビゲーションのためのアプリケーションソフトウェアを実行すると、ナビゲーション専用端末222と同様、ルート検索及び経路案内等を行う。
【0023】
また、端末22は、汎用的な情報処理端末221とナビゲーション専用端末222のどちらの場合でも、車載された状態と携帯可能な状態の切り替えが可能であってもよい。
【0024】
端末22の動作態様には大きく2つある。1つは、端末22が例えば専用のアプリケーションソフトウェアやWebブラウザを起動してナビゲーションサーバ21と通信し、経路案内に関する情報を受信して表示するクライアント型の動作態様である。もう1つは、原則的に地図の描画などの処理を端末内で完結し、地図データの取得など必要な場合にのみナビゲーションサーバ21と通信するアプリケーション型の動作端末である。本実施形態では、クライアント型を例に説明するが、アプリケーション型に対しても本実施形態の経路案内を好適に適用できる。
【0025】
なお、ユーザは2台の端末22を用いて、経路案内システム100を利用してもよい。例えば、ノートPCなどの端末22でドライブポータルサイトにアクセスして、出発地から目的地までのルートを事前に検索しておく。ドライブポータルサイトは、運転者(ドライバ)のための情報サービスサイトである。検索されたルートはドライブポータルサイトに登録しておき、任意のタイミングでスマートフォンなどの端末22から登録されている経路情報をダウンロードする。
【0026】
図3は、ナビゲーションサーバ21及び端末22のハードウェア構成図の一例である。
図3(a)に示すように、ナビゲーションサーバ21は、ハードウェア構成として、CPU(Central Processing Unit)211、ROM(Read Only Memory)215、RAM(Random Access Memory)216、補助記憶装置217、入力装置212、表示装置213、及び、通信装置214を有する。
【0027】
また、
図3(b)に示すように、端末22は、ハードウェア構成として、CPU211、ROM215、RAM216、補助記憶装置217、入力装置212、表示装置213、通信装置214、音声入出力装置218、及び、GPS受信装置219を有する。
【0028】
CPU211は、各種プログラムの実行や演算処理を行う。ROM215には、起動時に必要なプログラムなどが記憶されている。RAM216は、CPU211での処理を一時的に記憶したり、データを記憶したりする作業エリアである。補助記憶装置217は、各種データ及びプログラム2101、2102を格納する不揮発性のメモリである。入力装置212は、例えばキーボードやマウスである。表示装置213は、ディスプレイやプロジェクタ、HUD(Head Up Display)であり、例えば、ナビ画面等が表示される。
【0029】
通信装置214は、ネットワーク13に接続して他装置との通信を行う。音声入出力装置218は、音声の入出力を行う装置であり、例えば、ナビゲーションの音声ガイダンスが出力される。GPS受信装置219は、GPS衛星の電波を受信して現在位置を算出するGNSS(Global Navigation Satellite System)の一例である。
【0030】
なお、端末22の入力装置212は、キーボードやマウスに代え又はこれらに加えて、画面に対する接触位置(タッチ座標)を検知可能なタッチパネルにより実現されうる。また、入力装置212は、音声入出力装置218が入力させた音声を認識する音声認識装置としての機能を有していてもよい。
【0031】
ナビゲーションサーバ21又は端末22の補助記憶装置217に記憶されているプログラム2101,2102は、不図示の記憶媒体に記憶された状態で配布される。あるいは、不図示のサーバからダウンロードすることで配布される。端末22のプログラム2102は経路案内システム100に専用のアプリケーションソフトウェアでもよいし、ブラウザソフトウェアでもよい。
【0032】
<経路案内システムの機能構成例>
図4は、本実施形態の経路案内システム100が備える各機能を図示した機能ブロック図の一例である。ナビゲーションサーバ21は、サーバ送受信部31、ナビ画面作成部32、ルート検索部33及び直線性評価部34を有している。サーバ送受信部31、ナビ画面作成部32、及び、ルート検索部33は、
図5に示したCPU211がプログラム2101を実行してナビゲーションサーバ21のハードウェアと協働することで実現される機能又は手段である。これらの機能の一部又は全てがICなどのハードウェア回路により実現されてもよい。
【0033】
また、ナビゲーションサーバ21は、地
図DB35、道路ネットワークDB36、及び、歩行者ネットワークDB37を有している。これらは、例えばナビゲーションサーバ21の補助記憶装置217に構築されるが、ナビゲーションサーバ21が直接有していなくてもよく、ナビゲーションサーバ21がアクセス可能な場所にあればよい。
【0034】
地
図DB35は、ナビ画面dを描画するためのデータを記憶している。ナビ画面dに表示される情報には、都道府県などの区画、緑地や河川、道路や鉄道、記号や注記など多くの表示対象があるため、性質の似たものに分類し各分類ごとに描画できるようになっている。それぞれに分類された表示対象又は表示対象が描画された状態をレイヤーといい、地図はいくつかのレイヤーを重ねることで描画される。各レイヤーの地図データは、ベクトルデータ又はラスターデータのうち表示対象に適したフォーマットで記述されている。また、地図データは経度・緯度などが既知のメッシュ状に区切られており、1つ以上のメッシュを結合してナビ画面dが作成される。ベクトルベータの場合は、緯度・経度でポイント、ポリライン、ポリゴンの位置が定められている。また、ラスターデータの場合は緯度・経度に対応づけて縮尺に応じたデータが用意されている。
【0035】
道路ネットワークDB36は、車両が通行可能な道路の構造を表すデータであって、ノードテーブルとリンクテーブルとを有している。ノードテーブルには道路、緯度・経度に対応づけて道路網表現上の結節点が登録されている。結節点をノードという。ノードは例えば交差点、分岐点、合流点、屈曲点などである。リンクテーブルにはノードのノード番号に対応づけて車両が通行可能な道路が登録されている。車両が通行可能な道路は、一般道、高速道路、専用道路、私道などである。また、リンクテーブルには、リンク種別、幅員、リンク長などが登録されている。2つのノード間の道路をリンクといい、リンクはノード同士を結ぶ線分となる。
【0036】
歩行者ネットワークDB37は、ノードテーブルとリンクテーブルとを有する点で道路ネットワークDB36と同様である。ただし、歩行者ネットワークDB37には、歩行者が通行可能な道(歩道、横断歩道、歩道橋、地下道、通り抜け可能な通路など)のリンクと、リンクの始点と終点のノード等が登録されている。
【0037】
この他、様々な交通手段の最適な組み合わせを提案するナビゲーションでは、電車の路線図、バスの運行地図、飛行機の運航地図、及び、これらの時刻表が用いられるが、図では省略されている。
【0038】
サーバ送受信部31は、端末22からナビゲーションに関する種々の要求を受け付ける。この要求には、例えば目的地までの検索要求a、ナビ画面dの更新要求b(拡大・縮小、表示範囲の変更など)などがある。これらの要求は、ナビ画面作成部32とルート検索部33に振り分けられる。
【0039】
ルート検索部33は、検索要求aに対し、道路ネットワークDB36又は歩行者ネットワークDB37の少なくとも一方を用いてルート検索し、経路情報cを作成する。経路情報cには、出発地から目的地までの経路を示すリンクやノード、進路変更するノード、ノードの位置情報、進路変更を案内する位置などが含まれている。
【0040】
ルート検索には、リンク長や幅員をコストに換算して、出発地から目的地までのコストの合計が最も少なくなる経路を選ぶダイクストラ法が知られている。なお、ダイクストラ法以外の検索方法が用いられてもよい。また、ルート検索においては、有料道路の利用有無、地下道を優先するなどのユーザ設定が考慮される。
【0041】
ルート検索部33は、検索して得られた出発地から目的地までの経路情報cをナビ画面作成部32に送出する。ナビ画面作成部32は、出発地から目的地までの領域を含み、経路、出発地及び目的地が強調表示されたナビ画面dを作成する。さらに、ユーザの現在位置を表示してもよい。また、ユーザが移動を開始すると、ナビ画面作成部32は案内に適した縮尺のナビ画面dを作成する。また、端末22から更新要求bを取得すると、ナビ画面作成部32は要求された縮尺や表示範囲に応じてナビ画面dを作成する。サーバ送受信部31はこのようにして作成された経路情報cとナビ画面dを端末22に送信する。
【0042】
直線性評価部34は、ナビ画面作成部32からの評価要求eによりポリラインが直線か否かを評価して評価結果fをナビ画面作成部32に返す。詳細は後述する。
【0043】
端末22は、端末送受信部41、操作受付部42、ルート案内部43、ナビ画面表示部44、及び、位置検出部45を有している。これらは、
図4に示したCPU211がプログラム2102を実行して端末22のハードウェアと協働することで実現される機能又は手段である。これらの機能の一部又は全てがICなどのハードウェア回路により実現されてもよい。
【0044】
端末送受信部41は、ナビゲーションサーバ21に検索要求aや更新要求bを送信したり、ナビゲーションサーバ21からナビ画面dや経路情報cを受信したりする。
【0045】
操作受付部42は、ユーザから、出発地と目的地、拡大・縮尺、表示範囲変更などの操作入力を受け付ける。ナビ画面表示部44は、表示装置213にナビ画面dを表示する。また、位置検出部45から取得した推定位置をルート上に補正して(この処理をルートマッチングという)、又は、道路や道などユーザが存在するはずのリンク上に補正して(この処理をマップマッチングという)、ユーザの現在地としてナビ画面dに表示する。なお、ルートマッチング又はマップマッチングはナビゲーションサーバ21が行ってもよい。
【0046】
ルート案内部43は、ナビゲーションサーバ21から取得した経路情報cと、ルートマッチング又はマップマッチングにより得られた現在地とに基づいて、経路案内を行う。すなわち、ユーザの現在地が経路情報cに含まれる進路変更すべき位置に到達すると、曲がり角などを指示する音声データを音声入出力装置218に出力させる。なお、音声データはナビゲーションサーバ21から送信されてもよいし、端末22が音声合成をおこなって作成してもよい。
【0047】
位置検出部45は、GPS受信装置219が十分な数のGPS衛星を補足している場合はGPS受信装置219が検出した位置を取得してナビ画面表示部44に送出する。また。GPS受信装置219が十分な数のGPS衛星を補足していない場合、加速度センサーとジャイロセンサーの検出信号に基づき自律航法で現在地を推定し、ナビ画面表示部44に送出する。
【0048】
<地図データについて>
図5は、地図データDBに記憶されている地図データを模式的に説明する図の一例であり、
図5(a)は図形データを
図5(b)は属性データをそれぞれ示している。この図形データは、ポイント、ポリライン、及び、ポリゴンの各図形タイプについてベクターデータで記述されている。ポイントは長さや幅のない対象物の位置を点で表し、ポリラインは長さと方向とを備え複数の点が接続されて表示される対象物の形状と位置を表し、ポリゴンは地図上で地域として示される対象物を多辺図形の各頂点の位置で表す。
【0049】
各図形は図形IDにより属性データと対応づけられている。図形データには対象物の種々の属性が登録される。例えば、対象物の名称(注記データの一例)や文字サイズなどが登録される。この名称が注記として地図に描画される。文字サイズは文字ごとに定められており、
図5(b)では名称を構成する文字の順番に文字サイズが登録されている。
【0050】
なお、
図5(b)では図形タイプの種類に関係なく属性データが同じ項目を有するが、属性は図形タイプによって異なっていてよい。また、文字間隔が登録されていてもよい。
【0051】
<曲線注記の描画方法>
図6は、曲線注記の描画方法を説明する図の一例である。描画の手順は以下のとおりである。なお以下の手順は、ナビゲーションサーバ21のナビ画面作成部32が行う。まず、ナビ画面作成部32は地
図DB35から、ポリライン、名称及び文字サイズを読み出す。
1.ポリラインlnを描画する(
図6(a))。
2.文字サイズとポリラインlnから文字間隔を決定する。例えば文字サイズ又はポリラインlnが長ければ文字間隔は大きくなる。
3.1文字ごとに文字サイズに対応した仮想的な円cirを描画する(
図6(b))。最初の文字の円cirの描画位置(円の中心)は、例えばポリラインlnの最初の点とするが、ポリラインの最初の点以外を最初の文字の円の描画位置としてもよい。
4.円cirとポリラインlnの交点P1,P2を求める(
図6(c))。
5.2つの交点のうち文字が続く方向の交点P2と円の中心Oを結ぶ仮想的な直線s1を引く(
図6(d))。
6.円cirの中心Oを通過する仮想的な水平線s2を引く(
図6(e))。
7.直線s1と水平線s2がなす角度θを算出する(
図6(f))。
8.角度θを文字の回転角度に決定する(
図6(g))。
9.円cirの中に文字を描画する。
次の文字は2番目の手順から実行される以外は同じである。2番目の文字のための円は、文字間隔で決まった位置だけ前の文字の円の中心から離れ、2番目の文字のための円の中心がポリライン上になるように描画される。円に対する文字の描画手順は同様になる。
【0052】
図7(a)は、曲線注記が描画された際の注記とポリラインlnの関係を示す図の一例である。
図7(a)では「首都高速3号線」という注記が描画されている。各文字の描画位置がポリラインlnに沿って文字サイズと文字間隔により決定され、さらにポリラインlnに垂直になるように文字の向き(文字の回転角度)を決定しているため、曲線に沿って注記が描画されている。ユーザにとっては、注記を把握しやすい表示態様の1つとなる。
【0053】
このように、曲線注記を描画するには、ナビ画面作成部32は1文字ごとに円を描いて描画位置を決定し、さらに、回転角度を決定する必要があるためナビゲーションサーバ21の処理負荷が大きい。
【0054】
なお、曲線注記において、円内の文字の向きは
図6、7に示すものに限られない。
図6,7ではポリラインlnに垂直な方向を文字の向きとしているが、例えば、文字の向きを北向き一定にすることができる。
【0055】
図7(b)は、文字の向きが北の場合の注記とポリラインlnの関係を示す図の一例である。「首都高速3号線」という注記を構成する文字が全て北向きに描画されている。このような描画では、文字の向きを算出する必要がないので、ナビゲーションサーバ21の処理負荷を低減することができる。
【0056】
このように、曲線注記であっても、円の中の文字の向きの関してはどのように設計してもよい。また、ユーザの設定により文字の向きが変更可能であってもよい。
【0057】
<直線注記の描画方法>
図8は、直線注記の描画方法を説明する図の一例である。描画の手順は以下のとおりである。なお以下の手順は、ナビゲーションサーバ21のナビ画面作成部32が行う。まず、ナビ画面作成部32は地
図DB35から、ポリライン、名称及び文字サイズを読み出す。
1.ポリラインlnを描画する(
図8(a))。
2.文字サイズとポリラインlnから文字間隔を決定する。
3.注記(注記に含まれる全ての文字)を描画する(
図8(b))。
4.ポリラインlnの水平方向hrに対する角度θを求める。
5.求めた角度θ、注記を回転させる。
【0058】
図9(a)は、直線注記が描画された地図の一例を示す図である。
図9(a)では「常磐線」という注記が描画されている。
図9(a)のポリラインは線路が相当するが、ポリラインの角度が水平方向hrに対し90度近いため、「常磐線」という文字も90度回転されている。
【0059】
このように、直線注記では、ポリラインlnと水平方向hrの角度を求め、文字列を回転すればよいので、曲線注記と比べて処理負荷が小さい。
【0060】
なお、直線注記において文字が描画される順番は、角度を求めた後でもよい。文字の描画よりも先にポリラインlnの水平方向hrに対する角度を求めることで、その角度に応じて縦書きと横書きを切り替えることができる。
【0061】
例えば、水平方向hrに対する角度が45度を超えている場合は、
図9(b)に示すように縦書きとする。よって、求めた角度θ、注記を回転させることでユーザは注記を読みやすくなる。また、
図9(c)に示すように、水平方向hrに対する角度が45度以下の場合は横書きとする。
【0062】
このように、文字の描画よりも先にポリラインlnの水平方向hrに対する角度を求めることで、ポリラインの方向が垂直方向に近い場合は縦書きにすることができ、ユーザの視認性が向上する。
【0063】
<曲線注記又は直線注記のどちらで描画するかの判断>
視認性という観点からはポリラインの注記は全て曲線注記で描画することが好ましいが、ナビゲーションサーバ21の処理負荷が高くなり描画が遅れるなどの不都合が生じてしまう。一方、ポリラインが直線と見なせるのであれば、直線注記により描画しても注記が対象物から大きくはずれることは少なく、ユーザが見ても視認性が低下するほどではない。
【0064】
そこで、本実施形態では、ポリラインが直線と見なせるか否かの判断結果に応じて、曲線注記と直線注記を切り替えて描画する。
【0065】
図10は、曲線注記と直線注記を切り替えて描画する手順を示すフローチャート図の一例である。
図10の手順は、例えば、ナビゲーションサーバ21が検索要求aやナビ画面dの更新要求bを受信することでスタートする。
【0066】
まず、ナビ画面作成部32は地
図DB35から描画範囲の地図データを読み出す(S10)。すなわち、地図データのうちポリラインを読み出し、ポリラインごとに
図10の処理を行う。
【0067】
ナビ画面作成部32は、ポリラインを読み出すと、直線と見なせるか否かを判断するためポリラインに注記があるか否かを判定する(S20)。注記がない場合(S20のYes)、直線と見なせる否かを判断する必要はないので
図10の処理は終了する。
【0068】
注記がある場合(S20のYes)、ナビ画面作成部32は直線性評価部34に評価要求eを送出し直線と見なせるか否かを評価させる(S30)。直線性評価部34は次述するようにポリラインが直線と見なせるか否かを評価して評価結果fをナビ画面作成部32に送出する。
【0069】
直線と見なせると判断された場合(S30のYes)、ナビ画面作成部32はポリラインの名称を直線注記で描画する。これにより、注記の描画に関する処理負荷を低減できる。
【0070】
直線と見なせないと判断された場合(S30のNo)、ナビ画面作成部32はポリラインの名称を曲線注記で描画する。これにより、ポリラインの曲線に沿って注記を描画できる。
【0071】
<<直線性の評価>>
図11(a)は直線と見なせるか否かの判定方法を説明するための図の一例である。直線性評価部34は以下のようにして直線と見なせるか否かを判断する。
(i)ポリラインの座標点q1〜q5を最小二乗法で直線Gに近似する。
(ii)座標点q1〜q5から直線Gまでの距離Δ1〜Δ5をそれぞれ算出する。
(iii)距離Δ1〜Δ5の中央値が閾値以下か否かを判定し、閾値未満の場合は直線と見なせると判定し、閾値以上の場合は曲線と判定する。
【0072】
なお、(iii)では、距離Δ1〜Δ5の中央値でなく、平均や最大値と閾値を比較して判定してもよい。
【0073】
また、(iii)で直線と見なせるか否かの判定では、相関係数rを用いてもよい。相関係数rは−1〜+1の間の数値を取り、+1に近いほど正の相関が強いことを示すので、+1にどのくらい近いかにより直線と見なせるか否かを判定できる。
【0074】
また、(i)で直線Gに近似する際にハフ変換を用いてもよい。ハフ変換により直線Gが検出された後は最小二乗法と同様に(ii)(iii)の処理で直線と見なせるか否かを判定できる。
【0075】
なお、ナビ画面作成部32は、直線近似で得られたy=ax+bのうち傾きaを直線注記の傾きとして採用する。したがって、直線と見なせるか否かの判定により、直線注記の傾きを求める処理を省略できる。
【0076】
直線評価に用いられる座標点q1〜q5は1つのポリラインの全ての座標点であり、注記は、例えば先頭の座標点q1を描画の開始位置として描画される。したがって、例えば、描画の開始位置が2番目の座標点q2であれば、直線評価に用いられる座標点は座標点q2〜q5でよい。
【0077】
また、
図11(a)において、直線評価に用いられる座標点q1〜q5は1つのポリラインの全ての座標点であり、注記の文字数(記号数)は考慮されていない。しかし、注記は文字数分しか描画されないので、直線性の評価に用いる座標点はその全てである必要はない。
【0078】
そこで、
図11(b)に示すように、注記の描画範囲でのみ直線性を評価してもよい。この場合、直線性評価部34は、注記の文字数からおよその描画範囲を推定するか、又は、文字ごとのサイズと文字間隔から正確な描画範囲を推定する。文字数を3文字とする。文字サイズを10ポイント、表示装置213の解像度を96dpiとすれば1文字は13ピクセルぐらいである。すると3文字では約40ピクセルとなる。1つの座標点から次の座標点までがどのくらいのピクセル数に相当するかは縮尺によるが、座標点の間のピクセル数を数えればわかる。したがって、例えば40ピクセルに相当する座標点を取り出せば、注記の描画範囲にある座標点のみを抽出できる。
図11(b)では5つの座標点q1〜q5が抽出されている。
【0079】
このように一部の座標点のみを抽出することで、直線性の評価の処理負荷を低減できるだけでなく、全ての座標点では曲線と評価されるはずのポリラインを直線と見なすことができるので、注記の描画のための処理負荷を低減できる。
【0080】
以上説明したように、本実施形態の経路案内システム100は、注記が必要なポリラインの直線性を評価することで、ナビゲーションサーバ21の処理負荷を低減しながら、視認性の優れたナビ画面dを作成できる。
【0081】
<好適な変形例>
<<直線性の評価の省略>>
図10の処理では直線と見なせるか否かの判断を全ての注記について行ったが、注記の文字数が少ない場合、直線性の評価を省略できる。
【0082】
例えば、注記の文字数が2個の場合、文字を囲む円の中心は必ず直線を形成する。したがって、直線注記しても曲線注記してもそれほど大きな視認性の違いはない。また、注記の文字数が3個の場合、文字を囲む円の中心は直線になるとは限らないが、文字数が少ないので、直線注記することで曲線状の対象物からはずれて描画されてもはずれる部分はわずかである。したがって、注記の文字数が少ない場合、直線性の評価を省略して、全て直線注記してもよい。
【0083】
図12は、曲線注記と直線注記を切り替えて描画する手順を示すフローチャート図の一例である。
図12の手順は
図10と同様なので相違点のみを説明する。
図12では、ステップS22において、注記の文字数が閾値以下か否かが判定されている(S22)。閾値は例えば3とする。
【0084】
注記の文字数が閾値以下でない場合(S22のNo)、
図12の処理は終了し、注記の文字数が閾値以下の場合(S22のYes)、直線と見なせるか否かが判定される(S30)。
【0085】
したがって、注記の文字数が少ない場合、直線性の評価が行われるポリラインの数を少なくできるので、ナビゲーションサーバ21の処理負荷を
図10の処理よりも低減できる。
【0086】
<<一部の文字のみ曲線注記とする>>
図13(a)は、直線と評価されたポリラインと注記の一例を示す図である。
図13(a)では、注記を表す5つの文字(中央環状線)、ポリラインln、および、座標点の近似により得られた直線Gが描画されている。ポリラインlnはほぼ直線状であるため、全体として直線と見なせると判定されたが、ポリラインlnの終端近くで湾曲している。このため、直線注記された最後の5番目の文字が対象物から外れている。
【0087】
このような注記は、視認性を低下させるとは限らないが、ポリラインlnから大きく離れた文字のみを曲線注記として描画してもよい。これにより、
図13(b)に示すように、注記を構成する文字のほぼ全てが対象物に重畳した状態で描画される。
【0088】
文字がポリラインlnから大きく離れた場合の描画は以下のように行う。
(i)直線性評価部34は、先頭又は末尾の1,2点の文字に相当する文字の中心とポリラインlnの距離kを算出する。1,2点としたのは、これより多くの文字がポリラインlnから大きく離れる場合は曲線と判定される可能性が高いためである。また、先頭又は末尾としたのは、中央の1,2文字のみが曲線注記により描画され直線から外れるとかえって文字の視認性が低下するおそれがあるためである。なお、文字の中心は文字の外接矩形を求めその対角線の交点として求められる。
(ii)直線性評価部34は、先頭又は末尾の1,2点の文字の中心とポリラインlnの距離kが閾値以上か否かを判定する。
(iii)距離kが閾値以上の場合、その文字のみを曲線注記として描画する。
【0089】
こうすることで、ポリラインlnが直線と評価されたが、一部が湾曲したポリラインlnについて、直線注記の一部が対象から外れることを抑制し、視認性を向上させることができる。
【0090】
<<直線注記と曲線注記の混在>>
注記を構成する文字数が多くポリラインが曲線状の場合、曲線注記が採用されるが、直線注記と曲線注記が混在した注記を描画してもよい。
【0091】
図14(a)は、曲線注記とポリラインの一例を示す図である。9つの文字(首都高速中央環状線)で形成される注記がポリラインlnに沿って曲線注記で描画されているが、このうち円cir1〜3と円cir7〜9の描画範囲のポリラインlnはほぼ直線状である。したがって、曲線と判断されるポリラインlnであっても全てを曲線注記する必要はない可能性がある。
【0092】
そこで、直線からのかい離が大きい部分のみを曲線注記とすることで、曲線注記される文字数を減らしナビゲーションサーバ21の処理負荷を低減できる。描画手順は、以下のようになる。この処理は、ポリラインlnが曲線であると評価された場合にのみ行ってもよいし、直線性の評価の前に行ってもよい。
(i)例えば、文字数が6文字以上である場合、3文字分を描画するためのピクセル数に含まれるポリラインの座標点を取り出す。
(ii)この座標点の直線性を評価する。
(iii)直線と評価されたらこの3文字だけを直線注記し、曲線と評価されたらこの3文字だけを曲線注記する。
(iv)以降は、3文字ずつこの処理を繰り返す。
【0093】
なお、この場合、文字の向きが統一されないおそれがあるので、全ての文字を同じ方向(例えば北向き)にそろえることが好ましい。
【0094】
例えば、1〜3番目の文字を描画するためのピクセル数に含まれるポリラインlnの座標点が直線、同じく4〜6番目の座標点が曲線、7〜9番目の座標点が直線、と評価された場合、
図14(b)のように描画される。本来、曲線注記される文字も3文字ずつであれば直線注記しても全体を曲線注記した場合と遜色がないため、視認性をあまり低下させずにナビゲーションサーバ21の処理負荷を低減できる。
【0095】
なお、直線からのかい離が大きい部分を、ポリライン全体を近似して得られた直線Gとポリラインlnとのかい離から決定してもよい。すなわち、
図11で算出した座標点から直線までの距離Δ1〜Δ5が閾値以上に大きい座標点の範囲がある場合、その範囲に相当する文字だけを曲線注記する。このようにしても、直線注記と曲線注記を混在させることができ、視認性をあまり低下させずにナビゲーションサーバ21の処理負荷を低減できる。
【0096】
<<並列型の曲線注記>>
これまで、曲線注記の例として文字を1列に配置する例を説明したが、曲線注記を複数文字ずつ描画してもよい。
図15は、複数文字ずつ描画された曲線注記の描画例を示す図の一例である。
図15(a)ではこれまで説明した曲線注記が描画されている。これに対し、
図15(b)は文字列を2文字ずつ分解して水平に描画し、2文字をひとまとまりとする注記の描画方向を2文字ずつポリラインに沿わせたものである。
【0097】
このような曲線注記は、例えば以下のようにして描画される。
(i)ポリラインlnの左側に接する円cir1を描画する。
(ii)その円cir1の右に水平に円cir2を描画する。どれくらい離すかは文字ごとに計算された文字間隔で決定される。
(iii)2段目以降は、円cir1と重ならない程度の下方に円cir3を描画し、次いで円cir4を描画する。
【0098】
このような曲線注記であれば、2文字分のひとまとまりの注記はポリラインlnに対し沿っているように見えるので視認性の低下を抑制できる。また、ポリラインlnに接する円cir1,3を描画した後は、これに水平な円cir2,4を描画すればよいのでナビゲーションサーバ21の処理負荷の増大を抑制できる。
【0099】
なお、注記を2文字ずつひとまとまりにしたのは一例であって、読みやすい文字数をひとまとまりとすることが好ましい。例えば、3文字をひとまとまりとしてもよい。この場合、注記の文字数が5文字であれば、3文字と2文字に分解され、6文字の場合は3文字と3文字に分解される。
【0100】
または、全体の文字数に応じて分解する位置が決まっていてもよい。例えば、以下のように決定する。
1〜4文字 : 分解なし
5文字 : 2+3文字
6文字 : 3+3文字
7文字 : 3+4文字
8文字 : 4+4文字
9文字 : 3+3+3文字
また、注記ごとに文字をどこで分解するかが定められていてもよい。これにより意味的に区切りのよい位置で注記を分解できる。例えば、「首都高速中央環状線」の場合、「首都高速」と「中央」と「環状線」や、「首都高速」と「中央環状線」に分解する。また、例えば、英語表記の場合は、単語ごとに分解することができる。
【0101】
なお、ひとまとまりの注記の文字数が3文字以上の場合、ひとまとまりの注記の文字数が奇数か偶数かによって描画位置を変更する。
図16は、複数文字ずつ描画された曲線注記の描画例を示す図の一例である。例えば、ひとまとまりの注記の文字数が奇数の場合、中央の文字に相当する円cir2の中心Oがポリラインlnと一致するように描画する(
図16の上段)。左右の円cir1と3は円cir2の隣に水平に描画される。
【0102】
ひとまとまりの注記の文字数が偶数の場合、ひとまとまりの注記の文字数が2文字の場合と同様に、ポリラインlnに近い方の文字に相当する円cir5をポリラインと接するように配置する(
図16の下段)。左右の円cir4と6は円cir5の隣に水平に描画され、円cir7は円cir6の隣に水平に配置される。
【0103】
<<その他の変形例>
以上、本発明を実施するための最良の形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
【0104】
例えば、本実施形態ではナビゲーションサーバ21がポリラインを含むナビ画面dを描画しているが、端末22がポリラインを含むナビ画面dを描画してもよい。
【0105】
また、本実施形態では主に日本語の注記を例に説明したが、英語の注記も同様に描画することができる。
【0106】
また、複数の文字の書き順は、ポリラインに対し、左から右、右から左、上から下、又は、下から上のうちどの順番で記載してもよく、処理負荷や見やすさを考慮して決定される。