【実施例1】
【0015】
以下、本発明を、地図を描画しつつ、経路探索・経路案内を行う経路案内システムとして構成した場合の実施例を説明する。経路案内システムのうち、グラフィックスライブラリを用いて地図を描画する部分が、本発明における描画装置に相当する。また、そのためのデータを生成する部分が、本発明における描画データ生成装置に相当する。
本発明の描画対象は、地図に限られるものではないから、本発明は、経路案内システムとしての態様に限らず、グラフィックスライブラリを用いて画像を描画する種々の描画装置に適用可能である。
【0016】
A.システム構成:
図1は、経路案内システムの構成を示す説明図である。経路案内システムは、サーバ200から提供されるデータに基づいて、端末300において地図を表示しながら、ユーザが指定した出発地から目的地までの経路を案内するシステムである。サーバ200と端末300とはインターネットなどのネットワークNE2で接続されている。本実施例では、端末300としては、CPU、RAM、ROMを備えるスマートフォンを利用したが、携帯電話、パーソナルコンピュータ、タブレット端末など、電子地図を表示可能な種々の装置を利用することができる。
図1には、さらに、地図を効率的に描画するための描画データを生成する描画データ生成装置100も併せて示した。描画データ生成装置100は、CPU、RAM、ROMを備えるパーソナルコンピュータを利用して構成されており、原地図データベース104から、描画用地図データベースを生成する装置である。描画データ生成装置100は、ネットワークNE1でサーバ200に接続されており、生成された描画用地図データベースは、サーバ200に格納される。
描画データ生成装置100、サーバ200、端末300には、それぞれ図示する機能ブロックが備えられている。本実施例では、これらの機能ブロックは、それぞれの機能を実現するためのコンピュータプログラムをインストールすることによってソフトウェア的に構成したが、これらをハードウェア的に構成することも可能である。
また、本実施例で示した描画データ生成装置100、サーバ200、端末300が備える機能は、一例に過ぎず、全ての機能を1台で実現するスタンドアロンの装置として構成することも可能である。また、図示したよりも多数のサーバ等からなる分散システムとして構成してもよい。
以下、各装置ごとに構成を説明する。
【0017】
描画データ生成装置100の構成について説明する。
原地図データベース104は、地図で描画されるべき地物の形状等を表すポリゴンデータ、ラインデータを格納したデータベースである。本実施例では、3次元の形状を表す3次元地図データを格納するものとした。原地図データベース104を、そのまま用いて透視投影等によって3次元地図を描画することも可能なデータである。本実施例では、描画速度を向上させるため、描画データ生成装置100で、加工し、描画用地図データベース103を生成するのである。
コマンド入力部101は、原地図データベース104に対する加工について、オペレータからの指示等を入力する。
ラインデータ統合部102は、上述した加工として、原地図データベース104に含まれる複数のラインを表すラインデータを連結し、1本のラインデータにする処理を行う。以下では、この処理を、統合化と呼ぶこともある。
ダミー点追加部106は、加工の対象となるラインデータの端点に重ねて、連結用にダミーの点を生成する。ダミーの点を生成する理由については、統合化の処理概要とともに後述する。
描画用地図データベース103は、ラインデータ統合部102によって加工され、描画の処理速度向上を図った描画用の地図データを格納する。
送受信部105は、サーバ200との間でデータの送受信を行う。本実施例では、描画用地図データベース103に格納された地図データは、送受信部105により、ネットワークNE1経由でサーバ200に送信される。
【0018】
サーバ200の構成について説明する。
地図データベース210には、描画用地図データベース211およびネットワークデータ213が格納されている。描画用地図データベース210は、描画データ生成装置100で生成された地図データであり、地物の形状を表すポリゴンデータ、ラインデータおよび文字データが格納されている。ネットワークデータ213は、道路をリンクおよびノードで表した経路探索用のデータである。
データベース管理部202は、地図データベース210のデータの入出力を管理する。本実施例では、描画データ生成装置100で生成された描画用地図データベース211のアップデートを行ったり、地図表示時に必要な地図データを地図データベース210から読み出したりする。
経路探索部203は、ネットワークデータ213を利用して、端末300のユーザから指定された出発地から目的地までの経路を探索する。経路探索は、ダイクストラ法など周知の方法によって行うことができる。
送受信部201は、ネットワークNE1、NE2を介して、描画データ生成装置100および端末300との間で、種々のデータやコマンドの送受信を行う。
【0019】
端末300の構成について説明する。
主制御部304は、端末300に備えられた各機能ブロックの動作を統合制御する。
送受信部301は、ネットワークNE2を介してサーバ200との間で、データやコマンドの送受信を行う。
コマンド入力部302は、ユーザからの経路案内等に関する指示などを入力する。指示としては、例えば、経路案内の出発地、目的地の指定、地図表示時の表示スケールの指定などが挙げられる。
位置・通行情報取得部303は、GPS(Global Positioning System)等のセンサから端末300の現在位置を取得したり、ネットワークNE2経由で、交通渋滞や通行規制の情報を取得する。
地図情報記憶部305は、地図を表示する際に、サーバ200から取得した描画用地図データベース211を一時的に記憶する。本実施例では、端末300は、予め全ての地図データを記憶しておくのではなく、地図の表示範囲に応じて必要となる地図データを適宜、サーバ200から取得する。地図情報記憶部305は、こうして取得された地図データを記憶している。また、併せて、経路探索の結果も記憶する。
表示制御部306は、地図情報記憶部305に記憶されている地図データを用いて、端末300のディスプレイ300dへの地図表示を行う。表示制御部306には、ポリゴンやラインを描画するためのグラフィックスライブラリが備えられており、描画は、適宜、グラフィックスライブラリの関数を呼び出すことで実行される。グラフィックスライブラリとしては、例えば、OpenGLやDirectXを用いることができる。
ライン描画データ設定部307は、表示制御部306による描画速度を向上させるため、地図データの加工を行う。先に説明した通り、本実施例では、地図データには、描画データ生成装置100によって、描画速度を向上させるための加工が予め施されている。ただし、地図の表示範囲が定まっていない状態では、加工できる範囲にも制限がある。そこで、ライン描画データ設定部307は、地図を表示する時点で改めて実現可能な加工を施すのである。
【0020】
B.データ構造:
図2は、原地図データベースのデータ構造を示す説明図である。原地図データベースは、複数のレベル、即ち詳細度に分けて格納されている。図の上側にレベルの概要を示した。レベルnは、詳細度の高いデータであり、所定サイズの矩形形状からなるメッシュ単位でデータが格納されている。レベルn−1は、レベルnよりも粗いデータであり、主要な道路、建物等のデータを格納する。レベルn−1もメッシュ単位でデータが格納されるが、メッシュのサイズは、レベルnよりも広い。レベルn−2は、さらに粗く、広いメッシュ単位で格納された地図データである。
レベルnのデータを例にとって、地図データの構成を説明する。
【0021】
ラインデータは、地図中の道路、線路など線状の地物を描画するためのデータである。ラインデータは、地物単位で生成されており、固有のインデックス情報である「ID」が付されている。ラインデータの形状は、点1(XL1,YL1,ZL1)、点2(XL2,YL2,ZL2)のようにラインを形成する頂点の位置座標の集合で表される。これらの点の座標値は、各ラインデータ用の領域に格納されるようにしてもよいし、ラインデータとは個別の領域に格納し、ラインデータ用の領域には、その格納先を特定するポインタを記憶しておくようにしてもよい。
「属性」としては、ラインデータが表す地物の「名称」、道路種別など地物の「種別」、ラインを描画する際の「線種」、「線色」、「線幅」、および表示/非表示の指定などが設定されている。
文字データは、地図中に表示される文字を表すデータである。文字データにも、固有のインデックス情報である「ID」が付されて管理されている。「文字列」は“○○市”のように地図中に記載される文字を表し、「位置」は文字を表示すべき位置の座標値(XC,YC,ZC)を表している。また、文字を表示する際のフォント、サイズ、色なども併せて指定されている。
ポリゴンデータは、建物その他の地物の形状を表すデータである。ポリゴンデータも、地物単位で生成されており、固有のインデックス情報である「ID」によって管理されている。ポリゴン形状は、頂点1(XP1,YP1,ZP1)、点2(XP2,YP2,ZP2)のように、ポリゴンを規定する頂点の座標の集合で表される。「属性」としては、ポリゴンが表す地物の「名称」、建物や池などの「種別」等が指定されている。
図2では、原地図データベースのデータ構造を例示したが、描画用地図データベースの構造も同様である。本実施例における描画用地図データベースは、データ構造自体を大きく変更するものではなく、ラインデータに対して、付加的な情報を付すことによって、描画処理速度の向上を図るものである。
【0022】
C.描画用データの生成:
図3は、ラインデータの統合処理の概要を示す説明図である。
図3(a)に、統合化前のラインデータの様子を示した。図の例では、地図中には、街中の細い道路のように細線で描かれるラインL1、L3と、国道などの主要な道路のように太線で描かれるラインL2、L4、L5がある。図の右側には、これらのラインに対応するラインデータの格納状況を示した。この例では、各ラインを構成する頂点は、ラインデータ(
図2)におけるIDや属性とは別のメモリ領域にまとめて格納されているものとする。ラインデータには、頂点の座標列として、頂点が格納されたメモリ領域を特定するポインタが格納されることになる。
頂点記憶用のメモリ領域には、ラインL1については頂点P11、P12が記憶される。次に、ラインL2を構成する頂点P21、P22が記憶される。同様に、ラインL3、L4、L5を構成する頂点P31〜P33、P41〜P42、P51〜P52がそれぞれ記憶される。このように、ラインデータ内では、各ラインL1〜L5は個別のものとして扱われているため、頂点もラインごとに格納されている。
【0023】
図3(b)は、統合化の様子を示している。統合化とは、グラフィックスライブラリを共通の設定で用いることができるライン同士を連結する処理であり、この実施例では、線の太さが同じライン同士を連結する。以下の説明では、ラインを構成する頂点のうち、ラインの端に位置するものを「端点」と呼ぶ。
細線で描かれるラインL1、L3を統合化する場合、ラインL1の一方の端点P12と、ラインL3の一方の端点P31を非表示のラインLA1で連結する。非表示のラインLA1の線の太さは、ラインL1、L3と同じである。
非表示のラインLA1は、ラインL1の端点P11、P12、およびラインL3の端点P31,P33のいずれの間を連結してもよいが、本実施例では、連結の距離が最も短くなるよう端点P12と端点P31という組み合わせを選択した。ラインLA1は、端点P12と端点P31とを直接、連結するものとしてもよいが、本実施例では、端点P12に重ねてダミー点PA11、端点P31に重ねてダミー点PA12を生成し、ダミー点PA11、PA12を連結して非表示ラインLA1を定義した。
ダミー点PA11、PA12を設ける理由は、次の通りである。
【0024】
グラフィックスライブラリのライン関数では、ブレンド機能、即ち、第1の頂点から第2の頂点にかけて、徐々に線の色などの表示態様を変化させる機能が備えられている。従って、頂点P12、頂点P31を直接にラインLA1で連結しつつ、この区間を非表示に設定すると、ブレンド機能によって、ラインL1は頂点P11から頂点P12に向けて徐々に透明度が高くなるよう描画される現象が請じる。同様に、ラインL3は頂点P32ら頂点P31に向けて徐々に透明度が高くなるよう描画される。
これに対し、ダミー点PA11、PA12を追加しておけば、ラインLA1を非表示にする場合でも、頂点P11、P12の間、および頂点P31、P32の間は、その影響を受けることなく適正に描画される。厳密な意味では、頂点P12からダミー点PA11に向けてブレンドが行われることになるが、両者は同一の位置にある点なので、ブレンドの結果は、描画されたラインで視認することはできない。
【0025】
同様に、太線で描かれるラインL2、L4、L5を統合化する場合、ラインL2の一方の端点P22と、ラインL4の一方の端点P41とを非表示のラインLA2で連結し、さらに、ラインL4の端点P42とラインL5の端点P51とを非表示のラインLA3で連結する。非表示のラインLA2、LA3の線の太さは、ラインL2,L4、L5と同じである。ラインL2、L4、L5についても、いずれの端点同士を連結してもよい。また、非表示のラインLA2、LA3は、それぞれ端点P22、P41、P42、P51に重ねてダミー点PA21、PA22、PA31、PA32を生成した上で、これらのダミー点同士を連結するようにした。
【0026】
このように統合化処理を行うことにより、細線で描かれるラインL1、L3は、非表示のラインLA1を介して1本のラインに統合化される。また、太線で描かれるラインL2、L4、L5は、非表示のラインLA2、LA3を介して1本のラインに統合化される。
この結果、統合化の前は、ラインL1〜L5を描くために、ライン関数を5回、呼び出す必要があるのに対し、統合化の後は、細線を描くために1回、太線を描くために1回の合計2回、ライン関数を呼び出せば済むこととなり、ライン関数の呼び出し回数を減少させることができ、処理時間の短縮を図ることができる。
ライン関数においては、区間ごとにラインの表示/非表示を制御できるから、それぞれ非表示ラインLA1、LA2、LA3を非表示として描画することにより、ラインL1〜L5を個別に描画する場合と同じ描画結果を得ることができるのである。
【0027】
図3(c)は、ラインの統合化処理をした後のデータの様子を示している。ラインデータは、統合化前は、
図3(a)に示したように、ラインL1〜L5のそれぞれで、まとめて頂点を格納していた。この時点では、細線のラインL1、L3と、太線のラインL2、L4、L5は、分類されず、両者が混在する形でデータが格納されている。
統合化した後は、
図3(c)に示すように、細線のラインについては、これを1つのライン関数で描画するためには、ラインL1の頂点、非表示のラインLA3の頂点、ラインL3の頂点というようにまとめて格納しておくことが好ましい。また、太線のラインについては、1つのライン関数で描画するため、ラインL2の頂点、非表示のラインLA2の頂点、ラインL4の頂点、非表示のラインLA3の頂点、ラインL5の頂点というようにまとめて格納しておくことが好ましい。
しかし、統合化処理において、このようにデータの格納先を変更していては、処理負荷が多大となる。そこで、本実施例では、図示する通り、頂点の格納先を示すポインタ等を利用するものとした。
【0028】
図の左側には、各ラインL1〜L3の個別インデックスを示した。インデックスとは、
図2で示したラインデータの一形式であり、頂点の位置座標を格納するのではなく、頂点を格納するメモリ領域を特定するポインタを格納した形式を言う。例えば、ラインL1については、その頂点P11のメモリ領域を特定するポインタが格納されることになる。同様に、ラインL2については頂点P21、ラインL3については頂点P31のメモリ領域を表すポインタが格納される。
図の右側には、統合化した後のラインの線種別インデックスを示した。実施例では、細線で描画されるライン、太線で描画されるラインをそれぞれ統合化したため、2種類の線種別インデックスが生成されることになる。
【0029】
線種別インデックスの構造は、個別インデックスと同様である。
まず、統合化されたラインに固有の「ID」が付される。
その後、統合化されたラインの形状がポインタによって指示される。細線の場合には、まず、端点となる頂点P11のポインタが格納される。データ点数は、格納されたポインタから連続して読み出すべき頂点数を表す。例えば、細線を形成するラインL1、LA1、L3のデータが連続した領域に格納されている場合には、頂点P11から、7つの頂点を読み出せばよいから、データ点数として7が格納されることになる。
一方、非表示のラインLA1、ラインL3の頂点が、ラインL1の頂点P11、P12と連続した領域と異なる領域に格納されている場合には、それぞれ非表示のラインLA1の頂点PA11を表すポインタ、ラインL3の頂点P31を表すポインタも格納されることになる。
太線の場合も同様に、「ID」に対し、太線の端点となる頂点P21のポインタおよびデータ点数が格納される。太線を構成するラインL2、LA2、L4、L5の頂点が連続していない領域に格納されている場合には、それぞれの頂点を表すポインタも併せて格納されることになる。
【0030】
このように個別インデックスと、線種別インデックスの双方を用意することには、次の利点がある。個別インデックスを参照することによって、それぞれの頂点およびラインを、統合化される前の分離された個別のライン等として把握することができる。また、線種別インデックスを参照することによって、各頂点およびラインを、統合化された一本のラインとして把握することができる。このように個別インデックスと線種別インデックスの双方を用意しておくことにより、頂点およびラインを、個別のラインおよび統合化されたラインという2通りの方法で活用することが可能となる。
【0031】
図3で示した統合化を行うための処理内容について説明する。
図4は、ラインデータ統合処理のフローチャートである。描画データ生成装置100のラインデータ統合部102、およびダミー点追加部106が実行する処理であり、ハードウェア的には、描画データ生成装置100のCPUが実行する処理である。
図4(a)にはフローチャートを示し,
図4(b)には処理の例を示した。ここでは、統合化前の原データに存在するラインを実線で表し、統合化する過程で生成される非表示のラインを破線で表している。
【0032】
処理を開始すると、CPUは、処理対象メッシュからラインデータを読み込む(ステップS10)。
図2で説明した通り、実施例の原地図データベース104は、メッシュ単位で地図データを格納しているため、統合化処理もメッシュ単位で行うからである。処理対象メッシュは、オペレータが手動で指示してもよいし、予め設定したシーケンスに従うなどの方法で自動的に設定するものとしてもよい。
【0033】
CPUは、読み込んだラインデータを、線種、線幅ごとにグループ化する(ステップS11)。線種、線幅が同じライン同士が統合化の対象となるからである。グループ化の対象は、グラフィックスライブラリのライン関数における描画上の制約に応じて定まる。本実施例では、ライン関数は、線種および線幅の一方または双方が異なるラインは、一度に描くことができないという制約があるため、線種、線幅に基づいてグループ化を行うものとした。例えば、線種が同一であるラインならば線幅が異なっていても一度に描くことができるライン関数を用いる場合には、線種が同じラインをグループ化すればよい。
【0034】
CPUは、生成されたグループのいずれかを処理対象として選択し、処理対象のグループからスタートポイントを選択する(ステップS12)。スタートポイントとは、統合化後のラインの端点となる頂点である。スタートポイントは、処理対象のグループに含まれるラインの端点から任意に選択することができる。本実施例では、メッシュの境界上にある端点を優先的に選択するものとした。メッシュの境界にあるラインから順に連結することにより、統合化したライン全体の長さを抑えやすくなるからである。また、統合化したラインの端点がメッシュの境界にあることにより、後述するメッシュ間の統合化を行いやすくなるという利点もある。
図4(b)の例では、メッシュ境界上の頂点P1がスタートポイントとして選択されている。
【0035】
CPUは、選択したスタートポイントからラインデータをたどり、端点を特定する。そして、こうして特定されたラインデータの端点から最短距離にある端点を検索する(ステップS13)。
図4(b)の例では、スタートポイントP1からラインデータをたどり、端点P2が特定される。端点P2の近傍にある他の端点としては、端点P3,P5、P6が存在する。CPUは、端点P2と端点P3、P5、P6との距離をそれぞれ計算し、端点P2から最短の距離にある端点P3を選択する。この端点P3が非表示のラインで結合すべき端点となる。
【0036】
こうして結合すべき端点が見いだされると、CPUは、結合すべき双方の端点にダミー点を追加し、これらを非表示ラインで結合する(ステップS14)。
図4(b)の例では、端点P2にダミー点PA1、端点P3にダミー点PA2を追加し、両者間を破線で示した非表示ラインで連結している。
【0037】
CPUは、以上のステップS13,S14の処理を全ラインが結合されるまで(ステップS15)、繰り返し実行する。
図4(b)の例では、CPUは、端点P3からラインデータをたどり端点P5にたどり着くと、端点P5から最短距離にある端点P6を選択する(ステップS13)。そして、端点P5にダミー点PA3、端点P6にダミー点P4を追加し、両者間を非表示のラインで結合する。
さらに、CPUは、端点P6からラインデータをたどり端点P7にたどり着くと、端点P7から最短距離にある端点P8を選択する(ステップS13)。そして、端点P7にダミー点PA5、端点P8にダミー点PA6を追加し、両者間を非表示のラインで結合する。この結果、全ラインが1つに結合されたことになるから、ステップS15までの処理が完了することになる。
【0038】
CPUは、グループごとに、以上の処理を繰り返し実行し(ステップS16)、得られた結果を、描画用地図データベース103に格納するとともに、インデックスを生成する(ステップS17)。インデックスの内容は、
図3で説明した通りである。
こうして、ラインデータについては、メッシュ内で、線種、線幅ごとに、一本のラインに統合化されており、ライン関数を線種、線幅ごとに1回読み出すだけで描画できる状態となっている。
【0039】
D.経路案内処理:
次に、描画用地図データを活用して地図表示を行う例として、経路案内処理について示す。経路案内処理は、経路探索によって得られた経路を地図表示しながら案内する処理である。経路探索は、経路案内に先立ってサーバ200においてなされている。
図5は、経路案内処理のフローチャートである。これは、主として端末300の表示制御部306、ライン描画データ設定部307によって行われる処理であり、ハードウェア的には端末300のCPUによって行われる処理である。
処理を開始すると、端末300は、経路探索結果、現在位置、渋滞情報、地図表示サイズを入力する(ステップS20)。経路探索結果は、サーバ200から取得することができる。現在位置は、GPSなどのセンサを利用して検出することができる。渋滞情報は、インターネット等を介して取得できる。地図表示サイズは、ユーザからの指定を受け付ける。
そして、端末300は、地図表示に必要となる地図データを読み込む(ステップS21)。本実施例では、端末300は、まず地図情報記憶部305に格納されているデータを読み込む、そして地図を表示するために地図データが不足している場合には、不足分をサーバ200から取得する。
【0040】
次に、端末300は、経路探索結果、現在位置、渋滞情報に基づき、ダミー点の追加および表示色の設定を行う(ステップS22)。探索された経路や渋滞している道路を、通常の道路とは異なる色で表示するための処理である。
図中に処理の概要を示した。頂点P1、P2、P3を通る道路において、頂点P1、P2の間が、探索された経路または渋滞している道路に該当し、色を変更する必要があるものとする。
中段には、ダミー点を追加せずに色の設定を行った場合を例示した。ライン関数のブレンド機能により、頂点P1、P2に表示色を設定すると、頂点P2、P3の間でグラデーションがかかった表示となってしまうのである。例えば、本来、頂点P1、P2、P3を通る道路が赤で表示されるべき道路である場合において、探索された経路であることを表すために、頂点P1、P2間を青に設定したとする。この場合、頂点P1、P2間が青で表示されるのに伴い、頂点P2、P3間では、頂点P2から頂点P3に向けて青から徐々に赤になるように表示されてしまう。
下段には、ダミー点を追加した状態を例示した。原データの頂点P2と同じ位置にダミー点PAを追加し、色の設定を行う。例えば、頂点P1、P2間は青で、頂点PA,P3間は赤で表示するように設定する。こうすることにより、頂点P1、P2間の表示色の影響を受けることなく、頂点PA、P3間を表示することができる。厳密に言えば、頂点P2、PA間でブレンドが行われることになるが、両者は同一の位置にある点であるため、このブレンドは視認されないのである。
【0041】
こうして色の設定を終えると、端末300は、メッシュ間でラインデータを結合する(ステップS23)。
図中に処理の概要を示した。ラインデータ統合処理(
図4)によって、各メッシュ内では、線種、線幅が同じラインは、一本に統合化されている。メッシュ1、2内の各ラインは、それぞれメッシュ内で統合化された結果を表している。統合化されたラインには、線種別インデックス1,2が用意され、ラインを構成する頂点は、ポインタによって特定されている。
地図を表示する際には、メッシュをまたがって地図データを利用する場合がある。本実施例では、このような場合に、さらに描画の高速化を図るため、メッシュ間で線種、線幅が共通のライン同士を結合するのである。この処理は、メッシュ内の統合化と同様の方法によって行うことができる。即ち、異なるメッシュに存在する統合化されたラインを線種、線幅に基づいてグループ化し、これらの端点のうち、最短距離にあるもの同士を非表示のラインで結合するのである。
連結する端点同士の位置座標が異なる場合には、ブレンド機能による影響を回避するため、各端点にダミー点を追加した上で結合する。端点同士の位置座標が同一の場合には、ブレンド機能による影響は視認できないから、ダミー点の追加を省略してもよい。
【0042】
以上の前処理を終えると、端末300はディスプレイ300dに地図を表示する(ステップS24)。地図の表示には、グラフィックスライブラリが用いられる。ラインデータを表示する際には、ライン関数を呼び出すことになる。本実施例によれば、メッシュ内のラインが統合化されているだけでなく、さらに、メッシュ間のラインを結合するため、より一層、ライン関数の呼び出し回数を減少させることができ、描画の高速化を図ることができる。
【0043】
E.効果および変形例:
以上で説明した実施例によれば、地図を表示する際に、線種、線幅が共通のラインを統合化することによって、グラフィックスライブラリに備えられたライン関数の呼び出し回数を減らすことができ、表示処理に要する時間を短縮することができる。グラフィックスライブラリを用いて描画を行う場合、ライン関数の呼び出しに少なからず処理時間を要するため、呼び出し回数の減少による処理時間の短縮効果は大きいからである。
本実施例では、統合化の処理を静的処理/動的処理の2段階で行っている。静的処理とは、予めメッシュ単位で統合化処理を行って描画用地図データベースを生成する処理(
図4)を意味する。こうすることにより、メッシュ単位の描画速度を速めることができる。動的処理とは、端末300で地図表示時に行う、メッシュ間でのラインデータの結合処理である(
図5)。こうすることにより、複数のメッシュにまたがって地図を表示する場合、さらなる描画速度の高速化を図ることができる。
【0044】
以上、本発明の実施例について説明した。本発明は、必ずしも上述した実施例の全ての機能を備えている必要はなく、一部のみを実現するようにしてもよい。また、上述した内容に追加の機能を設けてもよい。
実施例では、経路案内システムを例示したが、本発明は、経路案内と無関係に地図を表示するシステムとして構成することも可能である。また、本発明は、地図に限らず、グラフィックスライブラリを利用して画像を描画する描画装置一般に利用可能である。
本発明は上述の実施例に限定されず、その趣旨を逸脱しない範囲で種々の構成を採ることができることはいうまでもない。例えば、実施例においてハードウェア的に構成されている部分は、ソフトウェア的に構成することもでき、その逆も可能である。