説明

図形表示方法及び図形表示装置

【課題】複数の縮尺表示に対応する図形表示用データのデータ量を抑制し、かつ、概略図形表示の演算量も抑制すると共に、詳細図形と形状が乖離しない概略図形を表示する。
【解決手段】記録部110は、表示縮尺が最大である第1の表示縮尺の図形の詳細形状の描画に必要とされる複数の頂点の座標データが連続して並ぶ座標データ列と、表示縮尺が最大未満である1つ以上の表示縮尺の図形の概略形状の描画に必要とされる複数の頂点の座標データを、第2の表示縮尺に応じて座標データ列から特定するための座標参照データとを有する表示図形データを1つ以上記録している。変換部130は、記録部110から読み出した表示図形データ中の座標参照データにより、指定表示縮尺に応じて表示図形データ中の座標データ列から特定された第2の座標データのみで構成される座標データ群の各座標値を、指定表示縮尺の座標系にそれぞれ補正した概略座標データ群を生成する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は図形表示方法及び図形表示装置に係り、特に地図等の図形を画面上に表示する図形表示方法及び図形表示装置に関する。
【背景技術】
【0002】
地図と見なす図形データを画面上に表示するカーナビゲーションシステム等の図形表示装置において、同一の道路や区域を示す図形を縮尺に応じて、特に広範囲を表示するような場合は、概略図形としてユーザーが見やすい様に本来の詳細図形とは異なる形状で表示する必要がある。
【0003】
この要求を満たすために、概略図形を表示する場合、以下の2通りの方法が通常考えられる。
【0004】
まず1つ目の方法として、最も詳細な図形描画に必要な座標データ列だけを用意しておき、指定された表示縮尺に応じて、座標データ列に対して座標値除算、座標間引きや補間座標追加等の演算・補正処理を行い、概略図形用の座標データ列をその都度生成する方法が考えられる。しかし、この方法は、比較的単純な演算・補正処理を行うと詳細図形と概略図形の形状とが大きく異なる(詳細図形で円形に近い形状が、概略図形で三角形になる等)場合が考えられ、この表示画面を見るユーザーに誤解を与えてしまう。
【0005】
この問題を解決するために、様々な間引条件を基に詳細図形用の座標データ列から概略図形用の座標データ列を生成する地図データ生成方法が知られている(例えば、特許文献1参照)。この特許文献1記載の地図データ生成方法では、拡大図用に用意された詳細形状を表示可能な詳細ポリゴンを構成する頂点から対象頂点を選択し、その対象頂点と、隣接する隣接頂点との相対位置関係を表す所定のパラメータが、所定の間引き条件を満たす場合に、対象頂点を削除することで、概略形状を表示するための概略ポリゴンを生成する。
【0006】
次に2つ目の手法として、各縮尺別に図形描画に必要な座標データ列を用意し、指定された表示縮尺に応じて利用する座標データ列を選択して表示する手法が考えられる。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2007−256402号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
しかしながら、特許文献1記載の方法は、複雑な演算・補正処理が必要となるため、演算量が増加し、それにより表示処理速度が低下するという問題がある。
【0009】
一方、2つ目の手法は、1つ目の手法による問題は解決されるが、同一の図形に対して縮尺別に図形描画に必要な座標データ列を複数用意しなければならないため、データ量が膨大になるという問題がある。
【0010】
本発明は以上の点に鑑みなされたもので、複数の縮尺表示に対応する図形表示用データのデータ量を抑制し、かつ、概略図形表示の演算量も抑制すると共に、詳細図形と形状が乖離しない概略図形を表示する図形表示方法及び図形表示装置を提供することを目的とする。
【課題を解決するための手段】
【0011】
上記の目的を達成するため、本発明の図形表示方法は、予め定められた複数の表示縮尺の中から表示する図形の表示縮尺を指定する第1のステップと、表示縮尺が最大である第1の表示縮尺の図形の詳細形状の描画に必要とされる複数の頂点の座標データである第1の座標データが連続して並ぶ座標データ列と、表示縮尺が最大未満である1つ以上の第2の表示縮尺の図形の概略形状の描画に必要とされる1つ以上の頂点の座標データであり、第1の座標データ中に包含されている座標データである第2の座標データを、1つ以上の第2の表示縮尺毎に対応して座標データ列から特定するための座標参照データとを有する表示図形データが1つ以上記録されている記録部から、第1のステップにより任意の1つの第2の表示縮尺が指定表示縮尺として指定されたときに表示図形データを読み出し、この表示図形データ中の指定表示縮尺に対応した座標参照データにより表示図形データ中の座標データ列から指定表示縮尺に応じた第2の座標データのみで構成される座標データ群を特定する第2のステップと、第2のステップで特定された座標データ群の各座標値を、指定表示縮尺の座標系にそれぞれ補正した概略座標データ群を生成する第3のステップと、生成された概略座標データ群を記憶部に記憶した後、記憶部から取得した概略座標データ群に基づいて、指定表示縮尺で図形の概略形状を表示部に描画して表示させる第4のステップとを含むことを特徴とする。
【0012】
また、上記の目的を達成するため、本発明の図形表示装置は、予め定められた複数の表示縮尺の中から表示する図形の表示縮尺を指定する入力手段と、表示縮尺が最大である第1の表示縮尺の図形の詳細形状の描画に必要とされる複数の頂点の座標データである第1の座標データが連続して並ぶ座標データ列と、表示縮尺が最大未満である1つ以上の第2の表示縮尺の図形の概略形状の描画に必要とされる1つ以上の頂点の座標データであり、第1の座標データ中に包含されている座標データである第2の座標データを、1つ以上の第2の表示縮尺毎に対応して座標データ列から特定するための座標参照データとを有する表示図形データが1つ以上記録されている記録手段と、入力手段により任意の1つの第2の表示縮尺が指定表示縮尺として指定された場合に、記録手段から読み出した表示図形データ中の指定表示縮尺に対応した座標参照データにより、指定表示縮尺に応じて表示図形データ中の座標データ列から特定された第2の座標データのみで構成される座標データ群の各座標値を、指定表示縮尺の座標系にそれぞれ補正した概略座標データ群を生成する変換手段と、概略座標データ群を記憶する記憶手段と、記憶手段より概略座標データ群を取得して、指定表示縮尺で図形の概略形状を表示手段に描画して表示させる描画手段とを有することを特徴とする。
【0013】
ここで、上記の座標参照データは、第2の表示縮尺毎に、座標データ列を構成する1つ以上の第1の座標データの中から、その第1の座標データの並び順に対応したビットフラグで第2の座標データを特定するフラグ列で構成するようにしてもよい。
【0014】
また、上記の座標参照データは、指定表示縮尺よりも一段階表示縮尺が大である第1又は第2の表示縮尺の座標データの中から、その座標データの並び順に対応したビットフラグで指定表示縮尺の第2の座標データを特定するフラグ列を構成するようにしてもよい。
【発明の効果】
【0015】
本発明によれば、複数の縮尺表示に対応する図形表示用データのデータ量を抑制し、かつ、概略図形表示の演算量も抑制すると共に、詳細図形と形状が乖離しない概略図形を表示することができる。
【図面の簡単な説明】
【0016】
【図1】本発明の図形表示装置の一実施の形態のブロック図である。
【図2】本発明における表示図形データのレベル構造及びブロック構造に関する一例を示す図である。
【図3】本発明におけるレベル間で同位置の座標算出の一例の説明図を示す図である。
【図4】本発明で用いる図形表示データ中のレベル管理テーブル、ブロック管理テーブル、図形テーブルの一例を示す図である。
【図5】本発明で用いる図形表示データ中の図形レコードとこれに対応する座標データ列テーブルとフラグ列テーブルとの対応関係の一例を示す図である。
【図6】本発明の実施の形態における座標データ列とフラグ列とを用いた図形描画の一例の説明図を示す図である。
【図7】本発明の図形表示装置及び図形表示方法の一実施の形態の動作説明用フローチャートである。
【発明を実施するための形態】
【0017】
次に、本発明の実施形態について図面を参照しながら詳細に説明する。
【0018】
図1は、本発明になる図形表示装置の一実施の形態のブロック図を示す。同図において、本実施の形態の図形表示装置100は、記録部110、読出部120、変換部130、入力部140、記憶部150、描画部160、及び表示部170から構成される。
【0019】
記録部110は、1つ以上の表示図形に関する情報を有する表示図形データを格納する。読出部120は、変換部130からの要求に応じて記録部110から表示図形データを読み出し、一時的に記憶する。
【0020】
変換部130は、入力部140から通知された内容に基づいて、読出部120が保持する表示図形データから表示対象となる図形を特定し、1つ以上の図形に対する座標データを記憶部150に出力する。その際、変換部130は、表示対象図形全てに対する座標データを記憶部150に出力したら、描画部160に対して描画開始命令を発行する。
【0021】
入力部140は、図形表示装置100の外部から表示縮尺や表示範囲を変換部130に指定する。記憶部150は、変換部130から出力された1つ以上の座標データを一時的に記憶する。描画部160は、変換部130から通知された描画開始命令の受信と同時に、記憶部150に格納される1つ以上の座標データを用いて、表示対象図形を表示部170に描画する。表示部170は、描画部160により描画された図形を表示する。
【0022】
次に、記録部110に記録される表示図形データについて説明する。
【0023】
記録部110に記録される表示図形データは、縮尺別の階層構造を有する。以下、この階層をレベルと呼び、最大縮尺(最拡大)をレベル0、以降縮尺が小さくなるほどレベル1,レベル2といったようにレベル値は「1」ずつ増加するものとし、レベル0から近いほど下位レベル、レベル0から遠いほど上位レベルと呼ぶものとする。従って、最下位レベルはレベル0である。
【0024】
また、表示図形データは、同一の座標サイズで表示範囲を分割したブロックと呼ばれる分割領域別に各図形が管理される。
【0025】
例えば、ある一定の解像度(座標サイズ)で表示部170に複数の縮尺で地図を表示する場合を考える。通常、上位レベルほど建物や道路等の図形描画縮尺は小さく、地理的に広範囲を表示する。一方、下位レベルほど建物や通路等の図形描画縮尺は大きく、地理的に狭範囲を表示する。
【0026】
但し、上位レベルも下位レベルも合計した地理的範囲(表示範囲)は同じである。しかし、下位レベルほど図形の詳細形状を描画する必要があるため、同じ地理的範囲に対して下位レベルは上位レベルより大きな座標幅が必要となり、結果的に下位レベルになるほどデータ量が増加する。
【0027】
そして、図形表示装置100が備えるキャッシュメモリ容量制限を考慮すると、レベルにかかわらず記録部110から読み出すデータ量をある一定のサイズに制限する必要があるため、ブロックという分割領域単位を用いる。
【0028】
図2は、上記表示図形データのレベル構造及びブロック構造に関する一例を示す。図2(A)は、レベル0の表示範囲と各ブロックの座標サイズとの関係を示し、一つの表示範囲は、16個のブロックから構成されている。図2(B)は、レベル1の表示範囲と各ブロックの座標サイズとの関係を示し、一つの表示範囲は、4個のブロックから構成されている。レベル1の図形はレベル0の図形を1/2に縮尺した図形である。図2(C)は、レベル2の表示範囲と各ブロックの座標サイズとの関係を示し、一つの表示範囲は、1個のブロックから構成されている。レベル2の図形はレベル1の図形を1/2に縮尺した図形である。
【0029】
図2(A)〜(C)に示すように、一つのブロックのサイズは、レベルに関係なく横方向のサイズがXで、縦方向のサイズがYであり、同一である。また、各ブロックを合計した表示範囲はレベルに関係なく同一である。
【0030】
すなわち、表示図形データにおいて、レベルL(Lは0以上の整数)のブロックの表示領域は、レベルL+1の1ブロックの領域を縦方向と横方向にそれぞれN分割(Nは2以上の整数)ずつ分割した領域に対応する。従って、下位レベルほどブロックの表示領域は細分化される。なお、図2では説明を簡単にするために、レベル数を「3」、各レベルの分割ブロック数Nを「2」、各ブロックの横方向、縦方向の各座標サイズを(X,Y)としている。ただし、ブロック分割数Nや1ブロックの座標サイズは、各レベル間で異なっていても問題はない。
【0031】
各レベルではブロックを一意に識別するため、各ブロックは、0から1ずつ増加する連番のブロック番号が割り当てられる。このブロック番号は、図2では各ブロック内の数値で示され、最左下ブロックから最右上ブロックに向かって横方向優先で、かつ、レベルL+1の1ブロックと同領域を構成するレベルLのNxNのブロック群に連番を割り当てるものとする。
【0032】
上記のようなブロック番号の割り当て規則を適用すると、レベルL+1のブロック(ブロック番号BID(L+1))と同領域を構成するレベルLのブロック群のブロック番号群{BIDs(L)}は、次式で導出できる。
【0033】
【数1】

例えば、レベル1のブロック番号3のブロック(BID(L+1)=3)と同領域を構成するレベル0のブロックのブロック番号群{BIDs(0)}は、式Aより次式で特定できる。
【0034】
{BIDs(0)}={3*(2*2)、3*(2*2)+1、・・・、(3+1)*(2*2)−1)}
={12,13,14,15}
また、地図等で表示縮尺を変更する場合、この表示縮尺に応じて各表示図形の頂点座標値を換算し、図形形状を拡大・縮小して表示する必要がある。すなわち、レベルLのあるブロックのブロック内座標と同一位置が存在するレベルL+1のブロック番号と、そのブロック内での座標とを算出する必要がある。
【0035】
前述したレベル構造・ブロック構造では、レベルLのブロック番号BID(L)で示される第1のブロックに対応するレベルL+1の第2のブロックのブロック番号BID(L+1)と、第1のブロックの左最下端座標(0,0)に対応する第2のブロックのブロック内座標(px0,qy0)とは、次式で導出される。
【0036】
BID(L+1)=BID(L)/(N*N) (式B)
(px0,qy0)=((BID(L)%N)*X/N,(BID(L+1)/N)*(Y/N)) (式C)
ただし、式B及び式C中、「A*B」はAとBとの乗算、「A/B」はAをBで除算した値(小数点以下切捨ての整数)、「A%B」はAをBで除算した剰余(整数)を示す。
【0037】
また、更に、レベルLのブロック番号BID(L)でのブロック内座標(x,y)に対応するレベルL+1のブロック番号BID(L+1)のブロック内座標(px,qy)は次式により算出される。
【0038】
(px,qy)=(px0+(x/N),qy0+(y/N)) (式D)
図3は、レベル間で同位置の座標算出の一例の説明図を示す。図3は、図2で示したレベル構造及びブロック構造に基づいた例で、レベル0のブロック番号BID(0)=15でのブロック内座標(x,y)に対応したレベル1のブロック番号BID(1)のブロック内座標(px,qy)を算出する例を示す。
【0039】
まず、レベル0のブロック番号BID(0)=15に対応するレベル1のブロック番号BID(1)が、式(B)に基づいて、「3」と算出される。
【0040】
次に、レベル0のブロック番号BID(0)=15のブロックの左最下端座標(0,0)に対応するレベル1のブロック番号BID(1)=3のブロック内座標(px0,qy0)が、式Cに基づいて次のように算出される。
【0041】
(px0,qy0)=((BID(0)%2)*X/2,(BID(1)/2)*(Y/2))=(X/2,Y/2)
そして、最後に式Dを用いることで、レベル0のブロック番号BID(0)=15のブロックのブロック内座標(x,y)に対応したレベル1のブロック番号BID(1)のブロックのブロック内座標(px,qy)が次のように算出される。
【0042】
(px,qy)=(px0+(x/2),qy0+(y/2))
この計算を繰り返すことで、更に上位レベルのブロック及びブロック内座標を特定することが可能となる。
【0043】
以上のように、本実施の形態で採用するレベル構造・ブロック構造では、式A〜式Dを利用して、任意の縮尺に応じて図形を拡大・縮小表示することが可能となる。
【0044】
次に、本発明における図形表示装置で用いる図形表示データの論理構造の一例について図4及び図5を参照して説明する。
【0045】
記録部110に記録される表示図形データは、レベル管理テーブル、ブロック管理テーブル、図形テーブル、座標データ列テーブル、及びフラグ列テーブルにより構成される。図4は、このうち、レベル管理テーブル、ブロック管理テーブル、及び図形テーブルの一例を示す。
【0046】
図4に示すように、レベル管理テーブル201は、レベル構成と各レベルのブロック構成を管理する情報を有し、レベル数分のレベル管理レコード211で構成される。レベル管理レコード211は、各レベルと最下位レベルとの縮尺比、及び各レベルのブロック数を有する。更に、レベル管理テーブル201又はレベル管理レコード211は、図4では図示を省略したが、記録部110内でのブロック管理テーブル202、図形テーブル203、及び図5に示す座標データ列テーブル204及びフラグ列テーブル205の記録領域を特定できる情報を保持するものとする。
【0047】
また、図4に示すように、ブロック管理テーブル202は、最下位レベル(レベル0)のブロック数N0分のブロック管理レコード212をブロック番号昇順で格納する。ブロック管理レコード212は、最下位レベル(レベル0)の各ブロックで表示する図形に対応する図形レコード213への参照情報(図形レコード先頭位置及び図形レコード数)を表示最上位レベル別に保持する。ここで、「表示最上位レベル」とは、図形が表示される最上位レベルを示す。
【0048】
なお、「表示最上位レベルLの図形」とは、レベルLからレベル0(最下位レベル)までの各レベルでの表示で描画が必要な図形である。具体的には、地図を縮小表示(上位レベルで表示)した際、大規模公園等の面積の広い施設は表示されるが、家等の面積の小さい施設は表示されないといった例が挙げられる。この場合、面積が広い施設の図形ほど表示最上位レベルはより上位となり、面積が小さい施設の図形ほど表示最小レベルはより下位となる。
【0049】
更に、図4に示すように、図形テーブル203は、各表示図形と一対一の関係となる図形レコード213を連続して格納する。図形テーブル203は、最下位レベルのブロック毎に、表示最上位レベル降順(上位レベルから下位レベル方向の順)で図形レコード213を連続して格納する。
【0050】
図5は、図形レコードとこれに対応する座標データ列テーブルとフラグ列テーブルとの対応関係の一例を示す。図5において、図形レコード213は、図4に示した図形レコード213であり、座標データ列と各レベルでの概略図形表示に用いるフラグ列とを、座標データ列テーブル204とフラグ列テーブル205とから特定する情報を有する。この情報としては、図5に214で示す先頭座標データ位置PP、215で示すこの図形レコードが参照する座標データ数NXY(F)、216で示す表示レベル毎のフラグ列先頭位置PB2(PB1)及びフラグ数NFLG(a,b)などがある。フラグ数NFLG(a,b)は、図形レコードaが参照する表示レベルbのフラグ数である。なお、図5に示す図形レコード213は、図形レコードFでもある。
【0051】
座標データ列テーブル204は、図形の詳細表示、すなわち最下位レベルでの表示に利用する一つ以上の頂点の座標データを図形毎に、かつ、各図形の描画順に連続して座標データ列として格納する。
【0052】
フラグ列テーブル205は、ある図形の各表示レベルでの概略図形の表示(描画)に必要な頂点の座標データを、座標データ列から特定する一つ以上のフラグFLGのフラグ列を格納する。ここでは、図5に示すように、ある図形レコードFが参照する座標データ列をXYs[F]と表記する。また、XYs[F]の座標データ数をNXY(F)、構成座標データ群をXY(F,0)〜XY(F,NXY(F)−1)と表記する。
【0053】
また、図形レコードFで特定されるレベルLの概略図形に用いられるフラグ列を図5に示すようにFLGs[F,L]と表記する。フラグ列FLGs[F,L]のフラグ数は、座標データ数、すなわちNXY(F)であり、その構成フラグ群をFLG(F,L,0),・・・,FLG(F,L,NXY(F)−1)と表記する。上記のように、フラグ列FLGs[F,L]は、レベルLの図形の概略形状の描画に必要な頂点の座標データを特定するための座標参照データである。
【0054】
次に、本実施の形態における座標データ列とフラグ列とを用いた図形描画の一例について図6と共に説明する。図6は、本実施の形態における座標データ列とフラグ列とを用いた図形描画の一例の説明図を示す。図6の例は、図2で示したレベル構造及びブロック構造に基づいた例とする。
【0055】
ある図形Fは最下位レベルであるレベル0では、図6に示すように、レベル0のブロック番号BID(0)=15のブロック301で表示されるものとする。図6に示すように、ブロック301において、この図形Fは、レベル0での図形Fの座標データ列XYs(F)の全座標データである5つの頂点の座標データXY(F,0)(=(x0,y0))、XY(F,1)(=(x1,y1))、XY(F,2)(=(x2,y2))、XY(F,3)(=(x3,y3))、XY(F,4)(=(x4,y4))を順に描画して繋いだ図形であるものとする。
【0056】
レベル1での図形Fの描画時は、座標データ列XYs(F)のうち、レベル1のフラグ列FLGs(F,1)により必要と判定される座標データのみを利用して描画が行われる。すなわち、フラグ列FLGs(F,1)中の例えば、フラグFLG(F,1,i)が「1」の場合は、座標データXY(F,i)は描画に必要な座標データと判定し、フラグFLG(F,1,i)が「0」の場合は、座標データXY(F,i)は描画に利用しない座標データと判定する(ただし、iは0〜NXY(F)−1までの整数)。そして、必要と判定された座標データ群のみに対して、前記式B、式C、式Dを用いた座標値の換算を行って、レベル1に応じた概略図形を描画する。
【0057】
ここでは、図6に示すように、レベル1の図形Fは、レベル1のブロック番号BID(1)=3のブロック302において、値が「1」である4つのフラグFLG(F,1,0)、FLG(F,1,1)、FLG(F,1,3)、FLG(F,1,4)にそれぞれ対応した座標データを、式B〜式Dにより座標値の換算を行って得られた、以下に示す4つの頂点の座標データ(p1,q1)、(p2,q2)、(p3,q3)、(p4,q4)を順に描画して繋いだ図形である。
【0058】
(p1,q1)=((x0/2)+px,(y0/2)+qy)
(p2,q2)=((x1/2)+px,(y1/2)+qy)
(p3,q3)=((x3/2)+px,(y3/2)+qy)
(p4,q4)=((x4/2)+px,(y4/2)+qy)
ただし、上記の4つの式中、px,qyは、ブロック番号BID(0)=15のブロックの左下端位置と同位置となるブロック番号BID(1)=3のブロックのブロック内のx座標、y座標を示す。
【0059】
レベル2での図形Fの描画時は、レベル1での判定操作と同様に、座標データ列XYs(F)のうち、レベル2のフラグ列FLGs(F,2)により必要と判定される座標データのみを利用して描画が行われる。ここでは、図6に示すように、レベル2の図形Fは、レベル2のブロック番号BID(2)=0のブロック303において、フラグ列FLGs(F,2)中の値が「1」である2つのフラグFLG(F,2,0)、FLG(F,2,4)にそれぞれ対応した座標データを、式B〜式Dにより座標値の換算を行って得られた、以下の2つの頂点の座標データ(a1,b1)、(a2,b2)を順に描画して繋いだ図形である。
【0060】
(a1,b1)=((p1/4)+ap,(q1/4)+bq)
(a2,b2)=((p4/4)+ap,(q4/4)+bq)
ただし、上記の2つの式中、ap,bqは、ブロック番号BID(1)=3のブロックの左下端位置と同位置となるレベル2のブロック番号BID(2)=0のブロックのブロック内のx座標、y座標を示す。
【0061】
なお、フラグ列FLGs(F,1)及びFLGs(F,2)は、記録部110に記録する図形表示データ生成時に、図形の座標データ列から各レベルの概略図形を描画に必要となる座標データを決定しておく。また、各レベルで図形Fを描画する際に、座標データXY(F,i)が必要と判定した場合には、そのレベルのフラグを「1」、不要と判定した場合には「0」となるように生成し、記録部110に記録する。
【0062】
また、フラグ列の別の形式として、ある図形に対する表示レベルL+1のフラグ列のビット数を、表示レベルLのフラグ列で値「1」のビット(1b)となるビット数とし、表示レベルLのフラグ列のi番目のビットフラグは、表示レベルL−1のフラグ列で先頭から1bとなるi番目のビットフラグが示す座標データが有効か否かを判定するようなフラグ列とする形式も考えられる。フラグ列がこの形式の場合、前者の形式に比べて、図形表示データのデータ量を更に抑制することができる。
【0063】
なお、フラグ列を生成するための概略図形の描画に必要となる座標データの決定方法は、公知であるのでここではその詳細な説明は省略するが、例えば特許文献1に記載された間引き条件等のように、レベル0とそれ以外の各レベルとの縮尺比率と詳細図形との形状差異を考慮して決定するものとする。
【0064】
次に、本実施の形態の図形表示装置100の処理動作について図7等を併せ参照して説明する。
【0065】
図7は、本発明になる図形表示装置及び図形表示方法の一実施の形態の動作説明用フローチャートを示す。処理動作開始時点で、読出部120は、記録部110から図形表示データ内のレベル管理テーブル201、ブロック管理テーブル202を読み出し、読出部120内の図示しないメモリに予め記憶しておくものとする。また、入力部140から表示レベル及びブロック番号を指定する外部装置又はユーザーは、記録部110に記録されている図形表示データのレベル数、各レベルと最下位レベルとの縮尺比率、各ブロックに対応する領域範囲は既知であるものとする。
【0066】
まず、入力部140は、変換部130に表示部170に表示する図形のレベルLと表示対象ブロック番号BID(L)とを指定する(ステップS1)。すると、変換部130は、指定された表示対象ブロック番号BID(L)と、同領域範囲を構成する最下位レベル(レベル0)のブロックのブロック番号群BIDs(0)とを特定する(ステップS2)。このブロック番号群BIDs(0)の特定処理では、レベルLに該当するレベル管理レコード201の内容とブロック番号BID(L)とから、ブロック番号群BIDs(0)のブロック個数NBsを特定すると共に、レベルLからレベル0に向かって下位レベルに1つ進む毎に式Aを計算することで、BIDs(0)を構成するブロック番号BID(0)[0]〜BID(0)[NBs-1]を特定する。
【0067】
続いて、変換部130は、変数iの値を「0」に初期化した後、変数iが上記ブロック個数NBs未満であるかどうかを判定する(ステップS3)。変数iは0以上NBs未満の整数であるが変数iは、最初は上記のように「0」に初期化されており、上記ブロック個数NBs未満である。この場合は、変換部130は、続いて変数lvを最上位レベルLmaxに設定した後、その変数lvがレベルL以上であるかどうかを判定する(ステップS4)。
【0068】
変数lvはL以上Lmax以下の整数である。通常は、最初の段階では最上位レベルLmaxに設定されている変数lvがレベルL以上であるので、その場合は変換部130は、読出部120に対して、記録部110からBID(0)[i]の表示最上位レベルlvの図形レコード群Fs(BID(0),[i],lv)を読み出させて、読出部120内のメモリに一時的に記憶させる(ステップS5)。以下、ステップS5で特定した図形レコード群Fs(BID(0),[i],lv)を構成する図形レコード数をNF、図形レコードをF[0]、・・・、F[NF-1]と表記する。
【0069】
続いて、変換部130は、変数jの値を「0」に初期化した後、変数jが上記図形レコード数NF未満であるかどうかを判定する(ステップS6)。変数jは0以上NF未満の整数であるが、最初は変数jは上記のように「0」であり、図形レコード数NF未満である。この場合は変換部130は、読出部120に対して、図形レコードF(j)に対応する座標データ列XYs(F[j])と、座標参照データとしての表示レベルLのフラグ列FLGs(F[j],L)とを読み出させ、変換部130内の図示しないメモリに格納する(ステップS7)。
【0070】
また、このステップS7では、変換部130は、図5で示した図形レコード213の座標データ列先頭位置214、座標データ数215、表示レベルLのフラグ列先頭位置及びフラグ数から、座標データ列XYs(F[j])の座標データ数NXYと、座標データ列XYs(F[j])を構成する座標データXY[0],・・・,XY[NXY-1]と、フラグ列FLGs(F[j],L)を構成するフラグFLG[0],・・・,FLG[NXY-1]を特定する。
【0071】
続いて、変換部130は、変数kの値を「0」に初期化した後、変数kが上記座標データ数NXY未満であるかどうかを判定する(ステップS8)。変数kは0以上NXY未満の整数であるが、最初は変数kは上記のように「0」に初期化されて座標データ数NXY未満である。この場合は変換部130は、ステップS7で特定したフラグFLG[k]の値が「1」であるかどうかを判定する(ステップS9)。
【0072】
変換部130は、フラグFLG[k]の値が「1」でなければ(すなわち、「0」であれば)、座標データXY[k]は表示レベルLの表示に不要な座標データと判断して、変数kの値を「1」インクリメントして再びステップS8及びS9の処理を繰り返す。一方、変換部130は、ステップS9においてフラグFLG[k]の値が「1」であると判定したときは、座標データXY[k]は表示レベルLの表示に必要な座標データと判断して、その座標データXY[k]を記憶部150に格納する(ステップS10)。このようにして、変換部130は、変数kの値が座標データ数NXYに等しくなるまでステップS8〜S10の処理を繰り返し、座標データ数NXYの全座標データのうち、表示レベルLの表示に必要な座標データのみを記憶部150に記憶する。なお、記憶部150では、各図形別に格納された座標データ数を管理するものとする。
【0073】
変数kの値が座標データ数NXYに等しくなると、変換部130は、ステップS8から変数jの値を「1」インクリメントした後、ステップS6に進んで再び変数jの値が図形レコード数NF未満であるかどうかを判定する。そして、変換部130は、変数jの値が図形レコード数に等しいとステップS6で判定されるまで、ステップS6〜S10の処理を繰り返す。
【0074】
変換部130は、変数jの値が図形レコード数NFに等しいとステップS6で判定されると、変数lvの値を「1」デクリメントした後ステップS4に戻り、再び変数lvがレベルLmax以上であるかどうかを判定する。
【0075】
上記のステップS5〜S10の処理をブロックBID(0)[i]に対して行うと、ステップS4において、変数lvがレベルLmax以上であると判定される。これにより変換部130は、ステップS10で記憶部150に記憶された座標データ列XYs(F[j])を構成するすべての座標データXY[0]〜XY[NXY-1]の各座標値を、レベルLとレベル0の縮尺比率Rm(L)で除算する(ステップS11)。ステップS11における縮尺比率Rm(L)は、レベルLに関するレベル管理レコード211に記述される。
【0076】
そして、変換部130は、ステップS11で除算して得られた座標データ群の各座標値に、ブロック番号群BIDs(0)のブロックの左下端に対応するレベルLのブロック番号BID(L)でのブロック内座標を算出して加算する(ステップS12)。ここで、加算するブロック内座標の座標値は、式B及び式Cを用いて計算することができる。
【0077】
ステップS12の加算処理に続いて、変換部130は、変数iの値を「1」インクリメントした後、ステップS3に戻り再び変数iの値がブロック個数NBs未満であるかどうかを判定する。このようにして、ステップS3で変数iの値がブロック番号群BIDs(0)のブロック個数NBsに等しいと判定されるまで、ステップS4〜S12の処理が図形表示データの最上位レベルLmaxから表示レベルLまで表示レベル毎に繰り返される。
【0078】
ステップS3において、変数iの値がブロック番号群BIDs(0)のブロック個数NBsに等しいと判定されると、記憶部150にはブロック番号群BIDs(0)の表示対象ブロック番号BID(L)のブロックの描画に必要な概略図形の座標データ列が格納された状態になっている。このため、ステップS3において、変数iの値がブロック番号群BIDs(0)のブロック個数NBsに等しいと判定されると、変換部130は描画部160に対して、描画開始命令を通知する(ステップS13)。
【0079】
この描画開始命令を通知された描画部160は、記憶部150から概略図形に関する座標データ列を読み出して、表示部170への描画を開始する。
【0080】
以上の処理を行うことで、図形表示装置100は入力部140から指定される表示対象のレベルとブロックの図形表示を行うことができる。
【0081】
このように、本実施の形態によれば、図形の詳細表示に利用する1つ以上の座標データを図形毎に、かつ、各図形の描画順に連続して格納した座標データ列テーブル204と、1つ以上のフラグを、ある図形の表示レベル毎に関する各表示レベルでの概略図形に必要な座標データを座標データ列から特定するフラグ列を格納したフラグ列テーブル205とを備え、最も詳細な図形表示時には座標データ列の全座標データを用いて表示を行い、概略図形表示時は、全座標データのうち、その概略図形の表示に必要な座標データのみを利用すると共に、必要とされた座標データの座標値の変換を所定の式に基づいて行って描画を行う。このため、本実施の形態によれば、前述した1つ目の方法に比べて詳細図形と概略図形の形状が大きく異なることはなく、また、特許文献1記載の方法のような概略図形用の座標データ列を生成する複雑な演算・補正処理が不要であり、更に、前述した2つ目の方法に比べて以下の理由で、本実施の形態の方がデータ量が少なくて済む。
【0082】
本実施の形態の方が2つ目の方法に比べてデータ量が少なくて済む理由は次の通りである。一般的に図形を表示するための座標データは、X、Y方向共に8〜32ビット程度で表現される。例えば、座標データをX、Y方向共に8ビットで表現するものとして、図6に示した図形Fを表示する場合、従来の2つ目の方法では、全レベルで表示に利用する座標データ列をそのまま用意するため、図6ではレベル0の座標点数が「5」、レベル1の座標点数が「4」、レベル2の座標点数が「2」であることから、図形Fの表示に必要なビット数は、176(={(5+4+2)*(8*2)})ビットである。
【0083】
これに対し、本実施の形態では、従来の方法の最下位レベル以外の座標データ列がフラグに置き換えられるため、レベル0の座標点数が「5」、レベル1のフラグ数が「5」、レベル2のフラグ数が「5」であることから、図形Fの表示に必要なビット数は、90(={5*(8*2)+5+5}ビットとなる。従って、本実施の形態のように、全レベルの座標データではなく、フラグを用いることでデータ量を従来の2つ目の方法に比べて削減することができる。
【符号の説明】
【0084】
110 記録部
120 読出部
130 変換部
140 入力部
150 記憶部
160 描画部
170 表示部

【特許請求の範囲】
【請求項1】
予め定められた複数の表示縮尺の中から表示する図形の表示縮尺を指定する第1のステップと、
表示縮尺が最大である第1の表示縮尺の前記図形の詳細形状の描画に必要とされる複数の頂点の座標データである第1の座標データが連続して並ぶ座標データ列と、前記表示縮尺が最大未満である1つ以上の第2の表示縮尺の前記図形の概略形状の描画に必要とされる1つ以上の頂点の座標データであり、前記第1の座標データ中に包含されている座標データである第2の座標データを、前記1つ以上の第2の表示縮尺毎に対応して前記座標データ列から特定するための座標参照データとを有する表示図形データが1つ以上記録されている記録部から、前記第1のステップにより任意の1つの前記第2の表示縮尺が指定表示縮尺として指定されたときに前記表示図形データを読み出し、この表示図形データ中の前記指定表示縮尺に対応した前記座標参照データにより前記表示図形データ中の前記座標データ列から前記指定表示縮尺に応じた前記第2の座標データのみで構成される座標データ群を特定する第2のステップと、
前記第2のステップで特定された前記座標データ群の各座標値を、前記指定表示縮尺の座標系にそれぞれ補正した概略座標データ群を生成する第3のステップと、
生成された前記概略座標データ群を記憶部に記憶した後、前記記憶部から取得した前記概略座標データ群に基づいて、前記指定表示縮尺で前記図形の概略形状を表示部に描画して表示させる第4のステップと
を含むことを特徴とする図形表示方法。
【請求項2】
予め定められた複数の表示縮尺の中から表示する図形の表示縮尺を指定する入力手段と、
表示縮尺が最大である第1の表示縮尺の前記図形の詳細形状の描画に必要とされる複数の頂点の座標データである第1の座標データが連続して並ぶ座標データ列と、前記表示縮尺が最大未満である1つ以上の第2の表示縮尺の前記図形の概略形状の描画に必要とされる1つ以上の頂点の座標データであり、前記第1の座標データ中に包含されている座標データである第2の座標データを、前記1つ以上の第2の表示縮尺毎に対応して前記座標データ列から特定するための座標参照データとを有する表示図形データが1つ以上記録されている記録手段と、
前記入力手段により任意の1つの前記第2の表示縮尺が指定表示縮尺として指定された場合に、前記記録手段から読み出した前記表示図形データ中の前記指定表示縮尺に対応した前記座標参照データにより、前記指定表示縮尺に応じて前記表示図形データ中の前記座標データ列から特定された前記第2の座標データのみで構成される座標データ群の各座標値を、前記指定表示縮尺の座標系にそれぞれ補正した概略座標データ群を生成する変換手段と、
前記概略座標データ群を記憶する記憶手段と、
前記記憶手段より前記概略座標データ群を取得して、前記指定表示縮尺で前記図形の概略形状を表示手段に描画して表示させる描画手段と
を有することを特徴とする図形表示装置。
【請求項3】
前記座標参照データは、前記第2の表示縮尺毎に、前記座標データ列を構成する1つ以上の前記第1の座標データの中から、その第1の座標データの並び順に対応したビットフラグで前記第2の座標データを特定するフラグ列で構成することを特徴とする請求項2記載の図形表示装置。
【請求項4】
前記座標参照データは、前記指定表示縮尺よりも一段階表示縮尺が大である前記第1又は第2の表示縮尺の座標データの中から、その座標データの並び順に対応したビットフラグで前記指定表示縮尺の前記第2の座標データを特定するフラグ列を構成することを特徴とする請求項2記載の図形表示装置。

【図1】
image rotate

【図4】
image rotate

【図5】
image rotate

【図7】
image rotate

【図2】
image rotate

【図3】
image rotate

【図6】
image rotate