(57)【特許請求の範囲】
【請求項１】
地図を描画する情報処理装置であって、
道路データを記憶する道路データ記憶手段から、ベクトルデータと注記データを読み出し、前記注記データが描画される範囲のベクトルデータを抽出してベクトルデータの直線性を評価する直線性評価手段と、
前記直線性評価手段により曲線であると評価された場合、前記注記データに含まれる各記号の位置と大きさに対応するベクトルデータの一部と同じ傾きに前記注記データに含まれる記号の１つ１つを回転させ、曲線であると評価されたベクトルデータの前記範囲に前記注記データをベクトルデータに沿って描画し、
前記直線性評価手段により直線であると評価された場合、ベクトルデータと共に読み出された前記注記データの全体を前記範囲のベクトルデータと同じ傾きに回転させ、直線であると評価されたベクトルデータの前記範囲に前記注記データを直線状に描画する注記データ描画手段と、
を有する情報処理装置。
【請求項２】
前記注記データ描画手段は、前記直線性評価手段により直線であると評価されたベクトルデータと共に読み出された注記データを直線状に描画し、前記直線性評価手段により曲線であると評価されたベクトルデータと共に読み出された注記データをベクトルデータに沿って描画する、ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記直線性評価手段は、注記データの記号数が所定数以下の場合に、注記データと共に読み出されたベクトルデータの直線性を評価し、
前記注記データ描画手段は、前記直線性評価手段により直線であると評価された場合、ベクトルデータと共に読み出された記号数が所定数以下の注記データを直線状に描画する、ことを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記直線性評価手段によりベクトルデータが直線であると評価された場合、前記直線性評価手段は、前記注記データに含まれる記号のうち直線との距離が閾値以上の記号を検出して、
前記注記データ描画手段は、直線との距離が閾値以上の前記記号をベクトルデータに重畳させて描画する、ことを特徴とする請求項２に記載の情報処理装置。
【請求項５】
前記直線性評価手段は、ベクトルデータと共に読み出された注記データに含まれる記号を２つ以上の所定数ずつ取得して、該所定数が描画される範囲のベクトルデータの直線性を評価し、
前記注記データ描画手段は、直線であると評価されたベクトルデータの前記範囲にベクトルデータと共に読み出された前記所定数の注記データを直線状に描画し、曲線であると評価されたベクトルデータの前記範囲にベクトルデータと共に読み出された前記所定数の注記データを前記範囲のベクトルデータに沿って描画する、ことを特徴とする請求項２に記載の情報処理装置。
【請求項６】
前記直線性評価手段によりベクトルデータが曲線であると評価された場合、
前記注記データ描画手段は、ベクトルデータと共に読み出された注記データから記号を２つ以上ずつ取り出して、２つ以上の記号を地図に対し水平に配置すると共に、２つ以上の記号をひとまとまりにベクトルデータに沿って配置する、ことを特徴とする請求項２に記載の情報処理装置。
【請求項７】
地図を描画する情報処理装置に、
道路データを記憶する道路データ記憶手段から、ベクトルデータと注記データを読み出し、前記注記データが描画される範囲のベクトルデータを抽出してベクトルデータの直線性を評価する直線性評価ステップと、
前記直線性評価ステップにより曲線であると評価された場合、前記注記データに含まれる各記号の位置と大きさに対応するベクトルデータの一部と同じ傾きに前記注記データに含まれる記号の１つ１つを回転させ、曲線であると評価されたベクトルデータの前記範囲に前記注記データをベクトルデータに沿って描画し、
前記直線性評価ステップにより直線であると評価された場合、ベクトルデータと共に読み出された前記注記データの全体を前記範囲のベクトルデータと同じ傾きに回転させ、直線であると評価されたベクトルデータの前記範囲に注記データを直線状に描画する注記データ描画ステップと、
を実行させるプログラム。
【請求項８】
地図を描画する情報処理装置により行われる地図描画方法であって、
道路データを記憶する道路データ記憶手段から、ベクトルデータと注記データを読み出し、前記注記データが描画される範囲のベクトルデータを抽出してベクトルデータの直線性を評価する直線性評価ステップと、
前記直線性評価ステップにより曲線であると評価された場合、前記注記データに含まれる各記号の位置と大きさに対応するベクトルデータの一部と同じ傾きに前記注記データに含まれる記号の１つ１つを回転させ、曲線であると評価されたベクトルデータの前記範囲に前記注記データをベクトルデータに沿って描画し、
前記直線性評価ステップにより直線であると評価された場合、ベクトルデータと共に読み出された前記注記データの全体を前記範囲のベクトルデータと同じ傾きに回転させ、直線であると評価されたベクトルデータの前記範囲に注記データを直線状に描画する注記データ描画ステップと、
を有する地図描画方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、地図を描画する情報処理装置、プログラム及び描画方法に関する。
【背景技術】
【０００２】
現在地や指定した位置などの周辺の地図をディスプレイなどに表示するナビゲーション装置が知られている。ナビゲーション装置は表示範囲に含まれる施設、地名、ビル名、道路、鉄道などの対象物の名称を対象物の近くに注記として表示することで、紙媒体の地図と同様の地図を作成する。
【０００３】
従来から、ナビゲーション装置が地図を描画する際は、対象物に対する注記を見やすく表示するための工夫が行われている（例えば、特許文献１参照。）。特許文献１には、道路の種別により道路名を表示する重要度を設定し、一定以上の重要度が設定された道路につき道路名を描画する車載用ナビゲーション装置が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平０８−０２１７３８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来の地図の描画方法では道路や鉄道など対象物の形状が線状である場合、注記を対象物に平行な直線状に配置することが一般的であるため、以下のような問題が生じる。
【０００６】
図１（ａ）は名称が表示された道路を含む地図の一例である。図１（ａ）では線路上に路線名（武蔵野線）が直線状に表示されている。このように、対象物が線状であっても直線状であれば、対象物に重畳して注記を表示することができる。
【０００７】
しかしながら、図１（ｂ）に示すように、線状の対象物が曲線を含む場合、対象物から注記（東名高速）がはみ出して表示されてしまう。図１（ｂ）では対象物に注記が重畳しているものの、一部がはみ出している。図１（ｂ）のように、注記の文字数が少なく付近の他の対象物も少ない場合、注記（東名高速）がどの対象物のものなのかユーザは容易に判断できる。しかしながら、注記が長い場合や近くに他の対象物があるような場合、注記がどの対象物のものなのか、ユーザが把握しにくくなる場合がある。
【０００８】
このため、地図を描画する際に、曲線に沿って注記を描画することが行われる場合がある。図１（ｃ）は湾曲した高速道路に沿って高速名（首都高速３号渋谷線）が表示されている（以下、このような曲線に沿った注記を曲線注記という）。曲線注記では、注記が対象物から大きくはみ出すことなく表示されるので、ユーザは対象物と注記の関係を把握しやすい。
【０００９】
対象物が直線状であっても、曲線注記と同じ処理で注記を描画することは可能である。したがって、全ての注記を曲線注記で描画すれば、対象物が直線か曲線かに関係なく、対象物に沿って対象物の内側に注記を表示できる。
【００１０】
しかしながら、曲線注記の描画には注記を構成する文字の位置などを演算する必要があるため、描画が遅くなる又はナビ画面を作成する情報処理装置に高い演算能力が必要になるという問題が生じてしまう。
【００１１】
本発明は上記課題に鑑み、注記を描画する際の処理負荷を低減することが可能な情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【００１２】
上記課題に鑑み、本発明は、地図を描画する情報処理装置であって、道路データを記憶する道路データ記憶手段から、ベクトルデータと注記データを読み出し、前記注記データが描画される範囲のベクトルデータを抽出してベクトルデータの直線性を評価する直線性評価手段と、前記直線性評価手段により曲線であると評価された場合、前記注記データに含まれる各記号の位置と大きさに対応するベクトルデータの一部と同じ傾きに前記注記データに含まれる記号の１つ１つを回転させ、曲線であると評価されたベクトルデータの前記範囲に前記注記データをベクトルデータに沿って描画し、前記直線性評価手段により直線であると評価された場合、ベクトルデータと共に読み出された前記注記データの全体を前記範囲のベクトルデータと同じ傾きに回転させ、直線であると評価されたベクトルデータの前記範囲に注記データを直線状に描画する注記データ描画手段と、を有することを特徴とする。
【発明の効果】
【００１３】
注記を描画する際の処理負荷を低減することが可能な情報処理装置を提供することができる。
【図面の簡単な説明】
【００１４】
【図１】名称が表示された道路を含む地図の一例である。
【図２】本実施形態にかかる経路案内システムのシステム構成図の一例である。
【図３】ナビゲーションサーバ及び端末のハードウェア構成図の一例である。
【図４】本実施形態の経路案内システムが備える機能ブロック図の一例である。
【図５】地図データＤＢに記憶されている地図データを模式的に説明する図の一例である。
【図６】曲線注記の描画方法を説明する図の一例である。
【図７】曲線注記が描画された際の注記とポリラインの関係を示す図の一例である。
【図８】直線注記の描画方法を説明する図の一例である。
【図９】直線注記が描画された地図の一例を示す図である。
【図１０】曲線注記と直線注記を切り替えて描画する手順を示すフローチャート図の一例である。
【図１１】直線と見なせるか否かの判定方法を説明するための図の一例である。
【図１２】曲線注記と直線注記を切り替えて描画する手順を示すフローチャート図の一例である。
【図１３】直線と評価されたポリラインと注記の一例を示す図である。
【図１４】曲線注記とポリラインの一例を示す図である。
【図１５】複数文字ずつ描画された曲線注記の描画例を示す図の一例である。
【図１６】複数文字ずつ描画された曲線注記の描画例を示す図の一例である。
【発明を実施するための形態】
【００１５】
以下、本発明を実施するための形態について図面を参照しながら説明する。
【００１６】
＜本実施形態で用いられる用語について＞
線状の対象物に沿わせて表示される注記は斜向注記と称される場合がある。本実施形態では、斜向注記のうち、線状の対象物に直線で沿わせた注記を直線注記、線状の対象物に曲線で沿わせた注記を曲線注記と称する。
【００１７】
本実施形態では、主に、直線の対象物に直線注記を描画し、曲線の対象物に曲線注記を描画する。
【００１８】
また、注記は主に文字で構成されるが、文字以外の数字、特殊記号（！＃＄＆％＜＞＠￥等）、ギリシャ文字、又は、アルファベットなどを含んでいてもよい。本実施形態では、文字を例にして説明するが、注記として使用されうる文字、数字、記号、ギリシャ文字、及び、アルファベットを記号と称する。
【００１９】
＜システムなどの構成例＞
図２は、本実施形態にかかる経路案内システム１００のシステム構成図の一例である。経路案内システム１００は、ネットワーク１３を介して接続されたナビゲーションサーバ２１及び端末２２を有している。ネットワーク１３は、インターネット、ＷＡＮやＬＡＮなどの主に有線で構築される通信網と、携帯電話網や無線ＬＡＮなどの主に無線で構築される通信網とを有している。有線のみ又は無線のみで構築されていてもよい。端末２２は無線で基地局１４やアクセスポイント１５にアクセスすることでネットワーク１３に接続する。
【００２０】
ナビゲーションサーバ２１は、端末２２に対し、ナビゲーションに関するサービス・機能を提供する情報処理装置である。例えば、端末２２から現在地と目的地を取得してルートを検索し、後述する経路情報とナビ画面を端末２２に送信する。
【００２１】
端末２２は、ユーザが利用するナビゲーション端末である。端末２２は、汎用的な情報処理端末２２１である場合とナビゲーション専用端末２２２の場合がある。ナビゲーション専用端末２２２はＰＮＤ（Portable Navigation Device）とも呼ばれる。なお、本実施形態の端末２２は、情報処理端末２２１又はナビゲーション専用端末２２２以外でもよい。
【００２２】
情報処理端末２２１としての端末２２は、例えば、スマートフォン、タブレット端末、携帯電話、ＰＤＡ（Personal Digital Assistant）、ノートＰＣ、及び、ウェアラブルＰＣなどである。情報処理端末２２１はこれらに限定されるものではなく、経路案内に適切な装置であればよい。これらの装置は、普段は情報処理端末として利用されるが、ナビゲーションのためのアプリケーションソフトウェアを実行すると、ナビゲーション専用端末２２２と同様、ルート検索及び経路案内等を行う。
【００２３】
また、端末２２は、汎用的な情報処理端末２２１とナビゲーション専用端末２２２のどちらの場合でも、車載された状態と携帯可能な状態の切り替えが可能であってもよい。
【００２４】
端末２２の動作態様には大きく２つある。１つは、端末２２が例えば専用のアプリケーションソフトウェアやＷｅｂブラウザを起動してナビゲーションサーバ２１と通信し、経路案内に関する情報を受信して表示するクライアント型の動作態様である。もう１つは、原則的に地図の描画などの処理を端末内で完結し、地図データの取得など必要な場合にのみナビゲーションサーバ２１と通信するアプリケーション型の動作端末である。本実施形態では、クライアント型を例に説明するが、アプリケーション型に対しても本実施形態の経路案内を好適に適用できる。
【００２５】
なお、ユーザは２台の端末２２を用いて、経路案内システム１００を利用してもよい。例えば、ノートＰＣなどの端末２２でドライブポータルサイトにアクセスして、出発地から目的地までのルートを事前に検索しておく。ドライブポータルサイトは、運転者（ドライバ）のための情報サービスサイトである。検索されたルートはドライブポータルサイトに登録しておき、任意のタイミングでスマートフォンなどの端末２２から登録されている経路情報をダウンロードする。
【００２６】
図３は、ナビゲーションサーバ２１及び端末２２のハードウェア構成図の一例である。図３（ａ）に示すように、ナビゲーションサーバ２１は、ハードウェア構成として、ＣＰＵ（Central Processing Unit）２１１、ＲＯＭ（Read Only Memory）２１５、ＲＡＭ（Random Access Memory）２１６、補助記憶装置２１７、入力装置２１２、表示装置２１３、及び、通信装置２１４を有する。
【００２７】
また、図３（ｂ）に示すように、端末２２は、ハードウェア構成として、ＣＰＵ２１１、ＲＯＭ２１５、ＲＡＭ２１６、補助記憶装置２１７、入力装置２１２、表示装置２１３、通信装置２１４、音声入出力装置２１８、及び、ＧＰＳ受信装置２１９を有する。
【００２８】
ＣＰＵ２１１は、各種プログラムの実行や演算処理を行う。ＲＯＭ２１５には、起動時に必要なプログラムなどが記憶されている。ＲＡＭ２１６は、ＣＰＵ２１１での処理を一時的に記憶したり、データを記憶したりする作業エリアである。補助記憶装置２１７は、各種データ及びプログラム２１０１、２１０２を格納する不揮発性のメモリである。入力装置２１２は、例えばキーボードやマウスである。表示装置２１３は、ディスプレイやプロジェクタ、ＨＵＤ（Ｈｅａｄ Ｕｐ  Ｄｉｓｐｌａｙ）であり、例えば、ナビ画面等が表示される。
【００２９】
通信装置２１４は、ネットワーク１３に接続して他装置との通信を行う。音声入出力装置２１８は、音声の入出力を行う装置であり、例えば、ナビゲーションの音声ガイダンスが出力される。ＧＰＳ受信装置２１９は、ＧＰＳ衛星の電波を受信して現在位置を算出するＧＮＳＳ（Global Navigation Satellite System）の一例である。
【００３０】
なお、端末２２の入力装置２１２は、キーボードやマウスに代え又はこれらに加えて、画面に対する接触位置（タッチ座標）を検知可能なタッチパネルにより実現されうる。また、入力装置２１２は、音声入出力装置２１８が入力させた音声を認識する音声認識装置としての機能を有していてもよい。
【００３１】
ナビゲーションサーバ２１又は端末２２の補助記憶装置２１７に記憶されているプログラム２１０１，２１０２は、不図示の記憶媒体に記憶された状態で配布される。あるいは、不図示のサーバからダウンロードすることで配布される。端末２２のプログラム２１０２は経路案内システム１００に専用のアプリケーションソフトウェアでもよいし、ブラウザソフトウェアでもよい。
【００３２】
＜経路案内システムの機能構成例＞
図４は、本実施形態の経路案内システム１００が備える各機能を図示した機能ブロック図の一例である。ナビゲーションサーバ２１は、サーバ送受信部３１、ナビ画面作成部３２、ルート検索部３３及び直線性評価部３４を有している。サーバ送受信部３１、ナビ画面作成部３２、及び、ルート検索部３３は、図５に示したＣＰＵ２１１がプログラム２１０１を実行してナビゲーションサーバ２１のハードウェアと協働することで実現される機能又は手段である。これらの機能の一部又は全てがＩＣなどのハードウェア回路により実現されてもよい。
【００３３】
また、ナビゲーションサーバ２１は、地図ＤＢ３５、道路ネットワークＤＢ３６、及び、歩行者ネットワークＤＢ３７を有している。これらは、例えばナビゲーションサーバ２１の補助記憶装置２１７に構築されるが、ナビゲーションサーバ２１が直接有していなくてもよく、ナビゲーションサーバ２１がアクセス可能な場所にあればよい。
【００３４】
地図ＤＢ３５は、ナビ画面ｄを描画するためのデータを記憶している。ナビ画面ｄに表示される情報には、都道府県などの区画、緑地や河川、道路や鉄道、記号や注記など多くの表示対象があるため、性質の似たものに分類し各分類ごとに描画できるようになっている。それぞれに分類された表示対象又は表示対象が描画された状態をレイヤーといい、地図はいくつかのレイヤーを重ねることで描画される。各レイヤーの地図データは、ベクトルデータ又はラスターデータのうち表示対象に適したフォーマットで記述されている。また、地図データは経度・緯度などが既知のメッシュ状に区切られており、1つ以上のメッシュを結合してナビ画面ｄが作成される。ベクトルベータの場合は、緯度・経度でポイント、ポリライン、ポリゴンの位置が定められている。また、ラスターデータの場合は緯度・経度に対応づけて縮尺に応じたデータが用意されている。
【００３５】
道路ネットワークＤＢ３６は、車両が通行可能な道路の構造を表すデータであって、ノードテーブルとリンクテーブルとを有している。ノードテーブルには道路、緯度・経度に対応づけて道路網表現上の結節点が登録されている。結節点をノードという。ノードは例えば交差点、分岐点、合流点、屈曲点などである。リンクテーブルにはノードのノード番号に対応づけて車両が通行可能な道路が登録されている。車両が通行可能な道路は、一般道、高速道路、専用道路、私道などである。また、リンクテーブルには、リンク種別、幅員、リンク長などが登録されている。２つのノード間の道路をリンクといい、リンクはノード同士を結ぶ線分となる。
【００３６】
歩行者ネットワークＤＢ３７は、ノードテーブルとリンクテーブルとを有する点で道路ネットワークＤＢ３６と同様である。ただし、歩行者ネットワークＤＢ３７には、歩行者が通行可能な道（歩道、横断歩道、歩道橋、地下道、通り抜け可能な通路など）のリンクと、リンクの始点と終点のノード等が登録されている。
【００３７】
この他、様々な交通手段の最適な組み合わせを提案するナビゲーションでは、電車の路線図、バスの運行地図、飛行機の運航地図、及び、これらの時刻表が用いられるが、図では省略されている。
【００３８】
サーバ送受信部３１は、端末２２からナビゲーションに関する種々の要求を受け付ける。この要求には、例えば目的地までの検索要求ａ、ナビ画面ｄの更新要求ｂ（拡大・縮小、表示範囲の変更など）などがある。これらの要求は、ナビ画面作成部３２とルート検索部３３に振り分けられる。
【００３９】
ルート検索部３３は、検索要求ａに対し、道路ネットワークＤＢ３６又は歩行者ネットワークＤＢ３７の少なくとも一方を用いてルート検索し、経路情報ｃを作成する。経路情報ｃには、出発地から目的地までの経路を示すリンクやノード、進路変更するノード、ノードの位置情報、進路変更を案内する位置などが含まれている。
【００４０】
ルート検索には、リンク長や幅員をコストに換算して、出発地から目的地までのコストの合計が最も少なくなる経路を選ぶダイクストラ法が知られている。なお、ダイクストラ法以外の検索方法が用いられてもよい。また、ルート検索においては、有料道路の利用有無、地下道を優先するなどのユーザ設定が考慮される。
【００４１】
ルート検索部３３は、検索して得られた出発地から目的地までの経路情報ｃをナビ画面作成部３２に送出する。ナビ画面作成部３２は、出発地から目的地までの領域を含み、経路、出発地及び目的地が強調表示されたナビ画面ｄを作成する。さらに、ユーザの現在位置を表示してもよい。また、ユーザが移動を開始すると、ナビ画面作成部３２は案内に適した縮尺のナビ画面ｄを作成する。また、端末２２から更新要求ｂを取得すると、ナビ画面作成部３２は要求された縮尺や表示範囲に応じてナビ画面ｄを作成する。サーバ送受信部３１はこのようにして作成された経路情報ｃとナビ画面ｄを端末２２に送信する。
【００４２】
直線性評価部３４は、ナビ画面作成部３２からの評価要求ｅによりポリラインが直線か否かを評価して評価結果ｆをナビ画面作成部３２に返す。詳細は後述する。
【００４３】
端末２２は、端末送受信部４１、操作受付部４２、ルート案内部４３、ナビ画面表示部４４、及び、位置検出部４５を有している。これらは、図４に示したＣＰＵ２１１がプログラム２１０２を実行して端末２２のハードウェアと協働することで実現される機能又は手段である。これらの機能の一部又は全てがＩＣなどのハードウェア回路により実現されてもよい。
【００４４】
端末送受信部４１は、ナビゲーションサーバ２１に検索要求ａや更新要求ｂを送信したり、ナビゲーションサーバ２１からナビ画面ｄや経路情報ｃを受信したりする。
【００４５】
操作受付部４２は、ユーザから、出発地と目的地、拡大・縮尺、表示範囲変更などの操作入力を受け付ける。ナビ画面表示部４４は、表示装置２１３にナビ画面ｄを表示する。また、位置検出部４５から取得した推定位置をルート上に補正して（この処理をルートマッチングという）、又は、道路や道などユーザが存在するはずのリンク上に補正して（この処理をマップマッチングという）、ユーザの現在地としてナビ画面ｄに表示する。なお、ルートマッチング又はマップマッチングはナビゲーションサーバ２１が行ってもよい。
【００４６】
ルート案内部４３は、ナビゲーションサーバ２１から取得した経路情報ｃと、ルートマッチング又はマップマッチングにより得られた現在地とに基づいて、経路案内を行う。すなわち、ユーザの現在地が経路情報ｃに含まれる進路変更すべき位置に到達すると、曲がり角などを指示する音声データを音声入出力装置２１８に出力させる。なお、音声データはナビゲーションサーバ２１から送信されてもよいし、端末２２が音声合成をおこなって作成してもよい。
【００４７】
位置検出部４５は、ＧＰＳ受信装置２１９が十分な数のＧＰＳ衛星を補足している場合はＧＰＳ受信装置２１９が検出した位置を取得してナビ画面表示部４４に送出する。また。ＧＰＳ受信装置２１９が十分な数のＧＰＳ衛星を補足していない場合、加速度センサーとジャイロセンサーの検出信号に基づき自律航法で現在地を推定し、ナビ画面表示部４４に送出する。
【００４８】
＜地図データについて＞
図５は、地図データＤＢに記憶されている地図データを模式的に説明する図の一例であり、図５（ａ）は図形データを図５（ｂ）は属性データをそれぞれ示している。この図形データは、ポイント、ポリライン、及び、ポリゴンの各図形タイプについてベクターデータで記述されている。ポイントは長さや幅のない対象物の位置を点で表し、ポリラインは長さと方向とを備え複数の点が接続されて表示される対象物の形状と位置を表し、ポリゴンは地図上で地域として示される対象物を多辺図形の各頂点の位置で表す。
【００４９】
各図形は図形ＩＤにより属性データと対応づけられている。図形データには対象物の種々の属性が登録される。例えば、対象物の名称（注記データの一例）や文字サイズなどが登録される。この名称が注記として地図に描画される。文字サイズは文字ごとに定められており、図５（ｂ）では名称を構成する文字の順番に文字サイズが登録されている。
【００５０】
なお、図５（ｂ）では図形タイプの種類に関係なく属性データが同じ項目を有するが、属性は図形タイプによって異なっていてよい。また、文字間隔が登録されていてもよい。
【００５１】
＜曲線注記の描画方法＞
図６は、曲線注記の描画方法を説明する図の一例である。描画の手順は以下のとおりである。なお以下の手順は、ナビゲーションサーバ２１のナビ画面作成部３２が行う。まず、ナビ画面作成部３２は地図ＤＢ３５から、ポリライン、名称及び文字サイズを読み出す。
１．ポリラインｌｎを描画する（図６（ａ））。
２．文字サイズとポリラインｌｎから文字間隔を決定する。例えば文字サイズ又はポリラインｌｎが長ければ文字間隔は大きくなる。
３．１文字ごとに文字サイズに対応した仮想的な円ｃｉｒを描画する（図６（ｂ））。最初の文字の円ｃｉｒの描画位置（円の中心）は、例えばポリラインｌｎの最初の点とするが、ポリラインの最初の点以外を最初の文字の円の描画位置としてもよい。
４．円ｃｉｒとポリラインｌｎの交点Ｐ１，Ｐ２を求める（図６（ｃ））。
５．２つの交点のうち文字が続く方向の交点Ｐ２と円の中心Ｏを結ぶ仮想的な直線ｓ１を引く（図６（ｄ））。
６．円ｃｉｒの中心Ｏを通過する仮想的な水平線ｓ２を引く（図６（ｅ））。
７．直線ｓ１と水平線ｓ２がなす角度θを算出する（図６（ｆ））。
８．角度θを文字の回転角度に決定する（図６（ｇ））。
９．円ｃｉｒの中に文字を描画する。
次の文字は２番目の手順から実行される以外は同じである。２番目の文字のための円は、文字間隔で決まった位置だけ前の文字の円の中心から離れ、２番目の文字のための円の中心がポリライン上になるように描画される。円に対する文字の描画手順は同様になる。
【００５２】
図７（ａ）は、曲線注記が描画された際の注記とポリラインｌｎの関係を示す図の一例である。図７（ａ）では「首都高速３号線」という注記が描画されている。各文字の描画位置がポリラインｌｎに沿って文字サイズと文字間隔により決定され、さらにポリラインｌｎに垂直になるように文字の向き（文字の回転角度）を決定しているため、曲線に沿って注記が描画されている。ユーザにとっては、注記を把握しやすい表示態様の１つとなる。
【００５３】
このように、曲線注記を描画するには、ナビ画面作成部３２は１文字ごとに円を描いて描画位置を決定し、さらに、回転角度を決定する必要があるためナビゲーションサーバ２１の処理負荷が大きい。
【００５４】
なお、曲線注記において、円内の文字の向きは図６、７に示すものに限られない。図６，７ではポリラインｌｎに垂直な方向を文字の向きとしているが、例えば、文字の向きを北向き一定にすることができる。
【００５５】
図７（ｂ）は、文字の向きが北の場合の注記とポリラインｌｎの関係を示す図の一例である。「首都高速３号線」という注記を構成する文字が全て北向きに描画されている。このような描画では、文字の向きを算出する必要がないので、ナビゲーションサーバ２１の処理負荷を低減することができる。
【００５６】
このように、曲線注記であっても、円の中の文字の向きの関してはどのように設計してもよい。また、ユーザの設定により文字の向きが変更可能であってもよい。
【００５７】
＜直線注記の描画方法＞
図８は、直線注記の描画方法を説明する図の一例である。描画の手順は以下のとおりである。なお以下の手順は、ナビゲーションサーバ２１のナビ画面作成部３２が行う。まず、ナビ画面作成部３２は地図ＤＢ３５から、ポリライン、名称及び文字サイズを読み出す。
１．ポリラインｌｎを描画する（図８（ａ））。
２．文字サイズとポリラインｌｎから文字間隔を決定する。
３．注記（注記に含まれる全ての文字）を描画する（図８（ｂ））。
４．ポリラインｌｎの水平方向ｈｒに対する角度θを求める。
５．求めた角度θ、注記を回転させる。
【００５８】
図９（ａ）は、直線注記が描画された地図の一例を示す図である。図９（ａ）では「常磐線」という注記が描画されている。図９（ａ）のポリラインは線路が相当するが、ポリラインの角度が水平方向ｈｒに対し９０度近いため、「常磐線」という文字も９０度回転されている。
【００５９】
このように、直線注記では、ポリラインｌｎと水平方向ｈｒの角度を求め、文字列を回転すればよいので、曲線注記と比べて処理負荷が小さい。
【００６０】
なお、直線注記において文字が描画される順番は、角度を求めた後でもよい。文字の描画よりも先にポリラインｌｎの水平方向ｈｒに対する角度を求めることで、その角度に応じて縦書きと横書きを切り替えることができる。
【００６１】
例えば、水平方向ｈｒに対する角度が４５度を超えている場合は、図９（ｂ）に示すように縦書きとする。よって、求めた角度θ、注記を回転させることでユーザは注記を読みやすくなる。また、図９（ｃ）に示すように、水平方向ｈｒに対する角度が４５度以下の場合は横書きとする。
【００６２】
このように、文字の描画よりも先にポリラインｌｎの水平方向ｈｒに対する角度を求めることで、ポリラインの方向が垂直方向に近い場合は縦書きにすることができ、ユーザの視認性が向上する。
【００６３】
＜曲線注記又は直線注記のどちらで描画するかの判断＞
視認性という観点からはポリラインの注記は全て曲線注記で描画することが好ましいが、ナビゲーションサーバ２１の処理負荷が高くなり描画が遅れるなどの不都合が生じてしまう。一方、ポリラインが直線と見なせるのであれば、直線注記により描画しても注記が対象物から大きくはずれることは少なく、ユーザが見ても視認性が低下するほどではない。
【００６４】
そこで、本実施形態では、ポリラインが直線と見なせるか否かの判断結果に応じて、曲線注記と直線注記を切り替えて描画する。
【００６５】
図１０は、曲線注記と直線注記を切り替えて描画する手順を示すフローチャート図の一例である。図１０の手順は、例えば、ナビゲーションサーバ２１が検索要求ａやナビ画面ｄの更新要求ｂを受信することでスタートする。
【００６６】
まず、ナビ画面作成部３２は地図ＤＢ３５から描画範囲の地図データを読み出す（Ｓ１０）。すなわち、地図データのうちポリラインを読み出し、ポリラインごとに図１０の処理を行う。
【００６７】
ナビ画面作成部３２は、ポリラインを読み出すと、直線と見なせるか否かを判断するためポリラインに注記があるか否かを判定する（Ｓ２０）。注記がない場合（Ｓ２０のＹｅｓ）、直線と見なせる否かを判断する必要はないので図１０の処理は終了する。
【００６８】
注記がある場合（Ｓ２０のＹｅｓ）、ナビ画面作成部３２は直線性評価部３４に評価要求ｅを送出し直線と見なせるか否かを評価させる（Ｓ３０）。直線性評価部３４は次述するようにポリラインが直線と見なせるか否かを評価して評価結果ｆをナビ画面作成部３２に送出する。
【００６９】
直線と見なせると判断された場合（Ｓ３０のＹｅｓ）、ナビ画面作成部３２はポリラインの名称を直線注記で描画する。これにより、注記の描画に関する処理負荷を低減できる。
【００７０】
直線と見なせないと判断された場合（Ｓ３０のＮｏ）、ナビ画面作成部３２はポリラインの名称を曲線注記で描画する。これにより、ポリラインの曲線に沿って注記を描画できる。
【００７１】
＜＜直線性の評価＞＞
図１１（ａ）は直線と見なせるか否かの判定方法を説明するための図の一例である。直線性評価部３４は以下のようにして直線と見なせるか否かを判断する。
(i)ポリラインの座標点ｑ１〜ｑ５を最小二乗法で直線Ｇに近似する。
(ii)座標点ｑ１〜ｑ５から直線Ｇまでの距離Δ１〜Δ５をそれぞれ算出する。
(iii)距離Δ１〜Δ５の中央値が閾値以下か否かを判定し、閾値未満の場合は直線と見なせると判定し、閾値以上の場合は曲線と判定する。
【００７２】
なお、(iii)では、距離Δ１〜Δ５の中央値でなく、平均や最大値と閾値を比較して判定してもよい。
【００７３】
また、(iii)で直線と見なせるか否かの判定では、相関係数ｒを用いてもよい。相関係数ｒは−１〜＋１の間の数値を取り、＋１に近いほど正の相関が強いことを示すので、＋１にどのくらい近いかにより直線と見なせるか否かを判定できる。
【００７４】
また、(i)で直線Ｇに近似する際にハフ変換を用いてもよい。ハフ変換により直線Ｇが検出された後は最小二乗法と同様に(ii)(iii)の処理で直線と見なせるか否かを判定できる。
【００７５】
なお、ナビ画面作成部３２は、直線近似で得られたｙ＝ａｘ＋ｂのうち傾きａを直線注記の傾きとして採用する。したがって、直線と見なせるか否かの判定により、直線注記の傾きを求める処理を省略できる。
【００７６】
直線評価に用いられる座標点ｑ１〜ｑ５は１つのポリラインの全ての座標点であり、注記は、例えば先頭の座標点ｑ１を描画の開始位置として描画される。したがって、例えば、描画の開始位置が２番目の座標点ｑ２であれば、直線評価に用いられる座標点は座標点ｑ２〜ｑ５でよい。
【００７７】
また、図１１（ａ）において、直線評価に用いられる座標点ｑ１〜ｑ５は１つのポリラインの全ての座標点であり、注記の文字数（記号数）は考慮されていない。しかし、注記は文字数分しか描画されないので、直線性の評価に用いる座標点はその全てである必要はない。
【００７８】
そこで、図１１（ｂ）に示すように、注記の描画範囲でのみ直線性を評価してもよい。この場合、直線性評価部３４は、注記の文字数からおよその描画範囲を推定するか、又は、文字ごとのサイズと文字間隔から正確な描画範囲を推定する。文字数を３文字とする。文字サイズを１０ポイント、表示装置２１３の解像度を９６ｄｐｉとすれば１文字は１３ピクセルぐらいである。すると３文字では約４０ピクセルとなる。１つの座標点から次の座標点までがどのくらいのピクセル数に相当するかは縮尺によるが、座標点の間のピクセル数を数えればわかる。したがって、例えば４０ピクセルに相当する座標点を取り出せば、注記の描画範囲にある座標点のみを抽出できる。図１１（ｂ）では５つの座標点ｑ１〜ｑ５が抽出されている。
【００７９】
このように一部の座標点のみを抽出することで、直線性の評価の処理負荷を低減できるだけでなく、全ての座標点では曲線と評価されるはずのポリラインを直線と見なすことができるので、注記の描画のための処理負荷を低減できる。
【００８０】
以上説明したように、本実施形態の経路案内システム１００は、注記が必要なポリラインの直線性を評価することで、ナビゲーションサーバ２１の処理負荷を低減しながら、視認性の優れたナビ画面ｄを作成できる。
【００８１】
＜好適な変形例＞
＜＜直線性の評価の省略＞＞
図１０の処理では直線と見なせるか否かの判断を全ての注記について行ったが、注記の文字数が少ない場合、直線性の評価を省略できる。
【００８２】
例えば、注記の文字数が２個の場合、文字を囲む円の中心は必ず直線を形成する。したがって、直線注記しても曲線注記してもそれほど大きな視認性の違いはない。また、注記の文字数が３個の場合、文字を囲む円の中心は直線になるとは限らないが、文字数が少ないので、直線注記することで曲線状の対象物からはずれて描画されてもはずれる部分はわずかである。したがって、注記の文字数が少ない場合、直線性の評価を省略して、全て直線注記してもよい。
【００８３】
図１２は、曲線注記と直線注記を切り替えて描画する手順を示すフローチャート図の一例である。図１２の手順は図１０と同様なので相違点のみを説明する。図１２では、ステップＳ２２において、注記の文字数が閾値以下か否かが判定されている（Ｓ２２）。閾値は例えば３とする。
【００８４】
注記の文字数が閾値以下でない場合（Ｓ２２のＮｏ）、図１２の処理は終了し、注記の文字数が閾値以下の場合（Ｓ２２のＹｅｓ）、直線と見なせるか否かが判定される（Ｓ３０）。
【００８５】
したがって、注記の文字数が少ない場合、直線性の評価が行われるポリラインの数を少なくできるので、ナビゲーションサーバ２１の処理負荷を図１０の処理よりも低減できる。
【００８６】
＜＜一部の文字のみ曲線注記とする＞＞
図１３（ａ）は、直線と評価されたポリラインと注記の一例を示す図である。図１３（ａ）では、注記を表す５つの文字（中央環状線）、ポリラインｌｎ、および、座標点の近似により得られた直線Ｇが描画されている。ポリラインｌｎはほぼ直線状であるため、全体として直線と見なせると判定されたが、ポリラインｌｎの終端近くで湾曲している。このため、直線注記された最後の５番目の文字が対象物から外れている。
【００８７】
このような注記は、視認性を低下させるとは限らないが、ポリラインｌｎから大きく離れた文字のみを曲線注記として描画してもよい。これにより、図１３（ｂ）に示すように、注記を構成する文字のほぼ全てが対象物に重畳した状態で描画される。
【００８８】
文字がポリラインｌｎから大きく離れた場合の描画は以下のように行う。
(i)直線性評価部３４は、先頭又は末尾の１，２点の文字に相当する文字の中心とポリラインｌｎの距離ｋを算出する。１，２点としたのは、これより多くの文字がポリラインｌｎから大きく離れる場合は曲線と判定される可能性が高いためである。また、先頭又は末尾としたのは、中央の１，２文字のみが曲線注記により描画され直線から外れるとかえって文字の視認性が低下するおそれがあるためである。なお、文字の中心は文字の外接矩形を求めその対角線の交点として求められる。
(ii)直線性評価部３４は、先頭又は末尾の１，２点の文字の中心とポリラインｌｎの距離ｋが閾値以上か否かを判定する。
(iii)距離ｋが閾値以上の場合、その文字のみを曲線注記として描画する。
【００８９】
こうすることで、ポリラインｌｎが直線と評価されたが、一部が湾曲したポリラインｌｎについて、直線注記の一部が対象から外れることを抑制し、視認性を向上させることができる。
【００９０】
＜＜直線注記と曲線注記の混在＞＞
注記を構成する文字数が多くポリラインが曲線状の場合、曲線注記が採用されるが、直線注記と曲線注記が混在した注記を描画してもよい。
【００９１】
図１４（ａ）は、曲線注記とポリラインの一例を示す図である。９つの文字（首都高速中央環状線）で形成される注記がポリラインｌｎに沿って曲線注記で描画されているが、このうち円ｃｉｒ１〜３と円ｃｉｒ７〜９の描画範囲のポリラインｌｎはほぼ直線状である。したがって、曲線と判断されるポリラインｌｎであっても全てを曲線注記する必要はない可能性がある。
【００９２】
そこで、直線からのかい離が大きい部分のみを曲線注記とすることで、曲線注記される文字数を減らしナビゲーションサーバ２１の処理負荷を低減できる。描画手順は、以下のようになる。この処理は、ポリラインｌｎが曲線であると評価された場合にのみ行ってもよいし、直線性の評価の前に行ってもよい。
(i)例えば、文字数が６文字以上である場合、３文字分を描画するためのピクセル数に含まれるポリラインの座標点を取り出す。
(ii)この座標点の直線性を評価する。
(iii)直線と評価されたらこの３文字だけを直線注記し、曲線と評価されたらこの３文字だけを曲線注記する。
(iv)以降は、３文字ずつこの処理を繰り返す。
【００９３】
なお、この場合、文字の向きが統一されないおそれがあるので、全ての文字を同じ方向（例えば北向き）にそろえることが好ましい。
【００９４】
例えば、１〜３番目の文字を描画するためのピクセル数に含まれるポリラインｌｎの座標点が直線、同じく４〜６番目の座標点が曲線、７〜９番目の座標点が直線、と評価された場合、図１４（ｂ）のように描画される。本来、曲線注記される文字も３文字ずつであれば直線注記しても全体を曲線注記した場合と遜色がないため、視認性をあまり低下させずにナビゲーションサーバ２１の処理負荷を低減できる。
【００９５】
なお、直線からのかい離が大きい部分を、ポリライン全体を近似して得られた直線Ｇとポリラインｌｎとのかい離から決定してもよい。すなわち、図１１で算出した座標点から直線までの距離Δ１〜Δ５が閾値以上に大きい座標点の範囲がある場合、その範囲に相当する文字だけを曲線注記する。このようにしても、直線注記と曲線注記を混在させることができ、視認性をあまり低下させずにナビゲーションサーバ２１の処理負荷を低減できる。
【００９６】
＜＜並列型の曲線注記＞＞
これまで、曲線注記の例として文字を１列に配置する例を説明したが、曲線注記を複数文字ずつ描画してもよい。図１５は、複数文字ずつ描画された曲線注記の描画例を示す図の一例である。図１５（ａ）ではこれまで説明した曲線注記が描画されている。これに対し、図１５（ｂ）は文字列を２文字ずつ分解して水平に描画し、２文字をひとまとまりとする注記の描画方向を２文字ずつポリラインに沿わせたものである。
【００９７】
このような曲線注記は、例えば以下のようにして描画される。
(i)ポリラインｌｎの左側に接する円ｃｉｒ１を描画する。
(ii)その円ｃｉｒ１の右に水平に円ｃｉｒ２を描画する。どれくらい離すかは文字ごとに計算された文字間隔で決定される。
(iii)２段目以降は、円ｃｉｒ１と重ならない程度の下方に円ｃｉｒ３を描画し、次いで円ｃｉｒ４を描画する。
【００９８】
このような曲線注記であれば、２文字分のひとまとまりの注記はポリラインｌｎに対し沿っているように見えるので視認性の低下を抑制できる。また、ポリラインｌｎに接する円ｃｉｒ１，３を描画した後は、これに水平な円ｃｉｒ２，４を描画すればよいのでナビゲーションサーバ２１の処理負荷の増大を抑制できる。
【００９９】
なお、注記を２文字ずつひとまとまりにしたのは一例であって、読みやすい文字数をひとまとまりとすることが好ましい。例えば、３文字をひとまとまりとしてもよい。この場合、注記の文字数が５文字であれば、３文字と２文字に分解され、６文字の場合は３文字と３文字に分解される。
【０１００】
または、全体の文字数に応じて分解する位置が決まっていてもよい。例えば、以下のように決定する。
１〜４文字      ：  分解なし
５文字          ：  ２＋３文字
６文字          ：  ３＋３文字
７文字          ：  ３＋４文字
８文字          ：  ４＋４文字
９文字          ：  ３＋３＋３文字
また、注記ごとに文字をどこで分解するかが定められていてもよい。これにより意味的に区切りのよい位置で注記を分解できる。例えば、「首都高速中央環状線」の場合、「首都高速」と「中央」と「環状線」や、「首都高速」と「中央環状線」に分解する。また、例えば、英語表記の場合は、単語ごとに分解することができる。
【０１０１】
なお、ひとまとまりの注記の文字数が３文字以上の場合、ひとまとまりの注記の文字数が奇数か偶数かによって描画位置を変更する。図１６は、複数文字ずつ描画された曲線注記の描画例を示す図の一例である。例えば、ひとまとまりの注記の文字数が奇数の場合、中央の文字に相当する円ｃｉｒ２の中心Ｏがポリラインｌｎと一致するように描画する（図１６の上段）。左右の円ｃｉｒ１と３は円ｃｉｒ２の隣に水平に描画される。
【０１０２】
ひとまとまりの注記の文字数が偶数の場合、ひとまとまりの注記の文字数が２文字の場合と同様に、ポリラインｌｎに近い方の文字に相当する円ｃｉｒ５をポリラインと接するように配置する（図１６の下段）。左右の円ｃｉｒ４と６は円ｃｉｒ５の隣に水平に描画され、円ｃｉｒ７は円ｃｉｒ６の隣に水平に配置される。
【０１０３】
＜＜その他の変形例＞
以上、本発明を実施するための最良の形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
【０１０４】
例えば、本実施形態ではナビゲーションサーバ２１がポリラインを含むナビ画面ｄを描画しているが、端末２２がポリラインを含むナビ画面ｄを描画してもよい。
【０１０５】
また、本実施形態では主に日本語の注記を例に説明したが、英語の注記も同様に描画することができる。
【０１０６】
また、複数の文字の書き順は、ポリラインに対し、左から右、右から左、上から下、又は、下から上のうちどの順番で記載してもよく、処理負荷や見やすさを考慮して決定される。
【符号の説明】
【０１０７】
２１    ナビゲーションサーバ
２２    端末
３２    ナビ画面作成部
３３    ルート検索部
３４    直線性評価部
１００  経路案内システム
【図１】
0006574570.tif 000002
【図２】
0006574570.tif 000003
【図３】
0006574570.tif 000004
【図４】
0006574570.tif 000005
【図５】
0006574570.tif 000006
【図６】
0006574570.tif 000007
【図７】
0006574570.tif 000008
【図８】
0006574570.tif 000009
【図９】
0006574570.tif 000010
【図１０】
0006574570.tif 000011
【図１１】
0006574570.tif 000012
【図１２】
0006574570.tif 000013
【図１３】
0006574570.tif 000014
【図１４】
0006574570.tif 000015
【図１５】
0006574570.tif 000016
【図１６】
0006574570.tif 000017