(57)【要約】【課題】複数の縮尺表示に対応する図形表示用データのデータ量を抑制し、かつ、概略図形表示の演算量も抑制すると共に、詳細図形と形状が乖離しない概略図形を表示する。【解決手段】記録部１１０は、表示縮尺が最大である第１の表示縮尺の図形の詳細形状の描画に必要とされる複数の頂点の座標データが連続して並ぶ座標データ列と、表示縮尺が最大未満である１つ以上の表示縮尺の図形の概略形状の描画に必要とされる複数の頂点の座標データを、第２の表示縮尺に応じて座標データ列から特定するための座標参照データとを有する表示図形データを１つ以上記録している。変換部１３０は、記録部１１０から読み出した表示図形データ中の座標参照データにより、指定表示縮尺に応じて表示図形データ中の座標データ列から特定された第２の座標データのみで構成される座標データ群の各座標値を、指定表示縮尺の座標系にそれぞれ補正した概略座標データ群を生成する。【選択図】図１
2011065571.tif 000002
【特許請求の範囲】
【請求項１】
予め定められた複数の表示縮尺の中から表示する図形の表示縮尺を指定する第１のステップと、
表示縮尺が最大である第１の表示縮尺の前記図形の詳細形状の描画に必要とされる複数の頂点の座標データである第１の座標データが連続して並ぶ座標データ列と、前記表示縮尺が最大未満である１つ以上の第２の表示縮尺の前記図形の概略形状の描画に必要とされる１つ以上の頂点の座標データであり、前記第１の座標データ中に包含されている座標データである第２の座標データを、前記１つ以上の第２の表示縮尺毎に対応して前記座標データ列から特定するための座標参照データとを有する表示図形データが１つ以上記録されている記録部から、前記第１のステップにより任意の１つの前記第２の表示縮尺が指定表示縮尺として指定されたときに前記表示図形データを読み出し、この表示図形データ中の前記指定表示縮尺に対応した前記座標参照データにより前記表示図形データ中の前記座標データ列から前記指定表示縮尺に応じた前記第２の座標データのみで構成される座標データ群を特定する第２のステップと、
前記第２のステップで特定された前記座標データ群の各座標値を、前記指定表示縮尺の座標系にそれぞれ補正した概略座標データ群を生成する第３のステップと、
生成された前記概略座標データ群を記憶部に記憶した後、前記記憶部から取得した前記概略座標データ群に基づいて、前記指定表示縮尺で前記図形の概略形状を表示部に描画して表示させる第４のステップと
を含むことを特徴とする図形表示方法。
【請求項２】
予め定められた複数の表示縮尺の中から表示する図形の表示縮尺を指定する入力手段と、
表示縮尺が最大である第１の表示縮尺の前記図形の詳細形状の描画に必要とされる複数の頂点の座標データである第１の座標データが連続して並ぶ座標データ列と、前記表示縮尺が最大未満である１つ以上の第２の表示縮尺の前記図形の概略形状の描画に必要とされる１つ以上の頂点の座標データであり、前記第１の座標データ中に包含されている座標データである第２の座標データを、前記１つ以上の第２の表示縮尺毎に対応して前記座標データ列から特定するための座標参照データとを有する表示図形データが１つ以上記録されている記録手段と、
前記入力手段により任意の１つの前記第２の表示縮尺が指定表示縮尺として指定された場合に、前記記録手段から読み出した前記表示図形データ中の前記指定表示縮尺に対応した前記座標参照データにより、前記指定表示縮尺に応じて前記表示図形データ中の前記座標データ列から特定された前記第２の座標データのみで構成される座標データ群の各座標値を、前記指定表示縮尺の座標系にそれぞれ補正した概略座標データ群を生成する変換手段と、
前記概略座標データ群を記憶する記憶手段と、
前記記憶手段より前記概略座標データ群を取得して、前記指定表示縮尺で前記図形の概略形状を表示手段に描画して表示させる描画手段と
を有することを特徴とする図形表示装置。
【請求項３】
前記座標参照データは、前記第２の表示縮尺毎に、前記座標データ列を構成する１つ以上の前記第１の座標データの中から、その第１の座標データの並び順に対応したビットフラグで前記第２の座標データを特定するフラグ列で構成することを特徴とする請求項２記載の図形表示装置。
【請求項４】
前記座標参照データは、前記指定表示縮尺よりも一段階表示縮尺が大である前記第１又は第２の表示縮尺の座標データの中から、その座標データの並び順に対応したビットフラグで前記指定表示縮尺の前記第２の座標データを特定するフラグ列を構成することを特徴とする請求項２記載の図形表示装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は図形表示方法及び図形表示装置に係り、特に地図等の図形を画面上に表示する図形表示方法及び図形表示装置に関する。
【背景技術】
【０００２】
地図と見なす図形データを画面上に表示するカーナビゲーションシステム等の図形表示装置において、同一の道路や区域を示す図形を縮尺に応じて、特に広範囲を表示するような場合は、概略図形としてユーザーが見やすい様に本来の詳細図形とは異なる形状で表示する必要がある。
【０００３】
この要求を満たすために、概略図形を表示する場合、以下の２通りの方法が通常考えられる。
【０００４】
まず１つ目の方法として、最も詳細な図形描画に必要な座標データ列だけを用意しておき、指定された表示縮尺に応じて、座標データ列に対して座標値除算、座標間引きや補間座標追加等の演算・補正処理を行い、概略図形用の座標データ列をその都度生成する方法が考えられる。しかし、この方法は、比較的単純な演算・補正処理を行うと詳細図形と概略図形の形状とが大きく異なる（詳細図形で円形に近い形状が、概略図形で三角形になる等）場合が考えられ、この表示画面を見るユーザーに誤解を与えてしまう。
【０００５】
この問題を解決するために、様々な間引条件を基に詳細図形用の座標データ列から概略図形用の座標データ列を生成する地図データ生成方法が知られている（例えば、特許文献１参照）。この特許文献１記載の地図データ生成方法では、拡大図用に用意された詳細形状を表示可能な詳細ポリゴンを構成する頂点から対象頂点を選択し、その対象頂点と、隣接する隣接頂点との相対位置関係を表す所定のパラメータが、所定の間引き条件を満たす場合に、対象頂点を削除することで、概略形状を表示するための概略ポリゴンを生成する。
【０００６】
次に２つ目の手法として、各縮尺別に図形描画に必要な座標データ列を用意し、指定された表示縮尺に応じて利用する座標データ列を選択して表示する手法が考えられる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００７−２５６４０２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、特許文献１記載の方法は、複雑な演算・補正処理が必要となるため、演算量が増加し、それにより表示処理速度が低下するという問題がある。
【０００９】
一方、２つ目の手法は、１つ目の手法による問題は解決されるが、同一の図形に対して縮尺別に図形描画に必要な座標データ列を複数用意しなければならないため、データ量が膨大になるという問題がある。
【００１０】
本発明は以上の点に鑑みなされたもので、複数の縮尺表示に対応する図形表示用データのデータ量を抑制し、かつ、概略図形表示の演算量も抑制すると共に、詳細図形と形状が乖離しない概略図形を表示する図形表示方法及び図形表示装置を提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記の目的を達成するため、本発明の図形表示方法は、予め定められた複数の表示縮尺の中から表示する図形の表示縮尺を指定する第１のステップと、表示縮尺が最大である第１の表示縮尺の図形の詳細形状の描画に必要とされる複数の頂点の座標データである第１の座標データが連続して並ぶ座標データ列と、表示縮尺が最大未満である１つ以上の第２の表示縮尺の図形の概略形状の描画に必要とされる１つ以上の頂点の座標データであり、第１の座標データ中に包含されている座標データである第２の座標データを、１つ以上の第２の表示縮尺毎に対応して座標データ列から特定するための座標参照データとを有する表示図形データが１つ以上記録されている記録部から、第１のステップにより任意の１つの第２の表示縮尺が指定表示縮尺として指定されたときに表示図形データを読み出し、この表示図形データ中の指定表示縮尺に対応した座標参照データにより表示図形データ中の座標データ列から指定表示縮尺に応じた第２の座標データのみで構成される座標データ群を特定する第２のステップと、第２のステップで特定された座標データ群の各座標値を、指定表示縮尺の座標系にそれぞれ補正した概略座標データ群を生成する第３のステップと、生成された概略座標データ群を記憶部に記憶した後、記憶部から取得した概略座標データ群に基づいて、指定表示縮尺で図形の概略形状を表示部に描画して表示させる第４のステップとを含むことを特徴とする。
【００１２】
また、上記の目的を達成するため、本発明の図形表示装置は、予め定められた複数の表示縮尺の中から表示する図形の表示縮尺を指定する入力手段と、表示縮尺が最大である第１の表示縮尺の図形の詳細形状の描画に必要とされる複数の頂点の座標データである第１の座標データが連続して並ぶ座標データ列と、表示縮尺が最大未満である１つ以上の第２の表示縮尺の図形の概略形状の描画に必要とされる１つ以上の頂点の座標データであり、第１の座標データ中に包含されている座標データである第２の座標データを、１つ以上の第２の表示縮尺毎に対応して座標データ列から特定するための座標参照データとを有する表示図形データが１つ以上記録されている記録手段と、入力手段により任意の１つの第２の表示縮尺が指定表示縮尺として指定された場合に、記録手段から読み出した表示図形データ中の指定表示縮尺に対応した座標参照データにより、指定表示縮尺に応じて表示図形データ中の座標データ列から特定された第２の座標データのみで構成される座標データ群の各座標値を、指定表示縮尺の座標系にそれぞれ補正した概略座標データ群を生成する変換手段と、概略座標データ群を記憶する記憶手段と、記憶手段より概略座標データ群を取得して、指定表示縮尺で図形の概略形状を表示手段に描画して表示させる描画手段とを有することを特徴とする。
【００１３】
ここで、上記の座標参照データは、第２の表示縮尺毎に、座標データ列を構成する１つ以上の第１の座標データの中から、その第１の座標データの並び順に対応したビットフラグで第２の座標データを特定するフラグ列で構成するようにしてもよい。
【００１４】
また、上記の座標参照データは、指定表示縮尺よりも一段階表示縮尺が大である第１又は第２の表示縮尺の座標データの中から、その座標データの並び順に対応したビットフラグで指定表示縮尺の第２の座標データを特定するフラグ列を構成するようにしてもよい。
【発明の効果】
【００１５】
本発明によれば、複数の縮尺表示に対応する図形表示用データのデータ量を抑制し、かつ、概略図形表示の演算量も抑制すると共に、詳細図形と形状が乖離しない概略図形を表示することができる。
【図面の簡単な説明】
【００１６】
【図１】本発明の図形表示装置の一実施の形態のブロック図である。
【図２】本発明における表示図形データのレベル構造及びブロック構造に関する一例を示す図である。
【図３】本発明におけるレベル間で同位置の座標算出の一例の説明図を示す図である。
【図４】本発明で用いる図形表示データ中のレベル管理テーブル、ブロック管理テーブル、図形テーブルの一例を示す図である。
【図５】本発明で用いる図形表示データ中の図形レコードとこれに対応する座標データ列テーブルとフラグ列テーブルとの対応関係の一例を示す図である。
【図６】本発明の実施の形態における座標データ列とフラグ列とを用いた図形描画の一例の説明図を示す図である。
【図７】本発明の図形表示装置及び図形表示方法の一実施の形態の動作説明用フローチャートである。
【発明を実施するための形態】
【００１７】
次に、本発明の実施形態について図面を参照しながら詳細に説明する。
【００１８】
図１は、本発明になる図形表示装置の一実施の形態のブロック図を示す。同図において、本実施の形態の図形表示装置１００は、記録部１１０、読出部１２０、変換部１３０、入力部１４０、記憶部１５０、描画部１６０、及び表示部１７０から構成される。
【００１９】
記録部１１０は、１つ以上の表示図形に関する情報を有する表示図形データを格納する。読出部１２０は、変換部１３０からの要求に応じて記録部１１０から表示図形データを読み出し、一時的に記憶する。
【００２０】
変換部１３０は、入力部１４０から通知された内容に基づいて、読出部１２０が保持する表示図形データから表示対象となる図形を特定し、１つ以上の図形に対する座標データを記憶部１５０に出力する。その際、変換部１３０は、表示対象図形全てに対する座標データを記憶部１５０に出力したら、描画部１６０に対して描画開始命令を発行する。
【００２１】
入力部１４０は、図形表示装置１００の外部から表示縮尺や表示範囲を変換部１３０に指定する。記憶部１５０は、変換部１３０から出力された１つ以上の座標データを一時的に記憶する。描画部１６０は、変換部１３０から通知された描画開始命令の受信と同時に、記憶部１５０に格納される１つ以上の座標データを用いて、表示対象図形を表示部１７０に描画する。表示部１７０は、描画部１６０により描画された図形を表示する。
【００２２】
次に、記録部１１０に記録される表示図形データについて説明する。
【００２３】
記録部１１０に記録される表示図形データは、縮尺別の階層構造を有する。以下、この階層をレベルと呼び、最大縮尺（最拡大）をレベル０、以降縮尺が小さくなるほどレベル１，レベル２といったようにレベル値は「１」ずつ増加するものとし、レベル０から近いほど下位レベル、レベル０から遠いほど上位レベルと呼ぶものとする。従って、最下位レベルはレベル０である。
【００２４】
また、表示図形データは、同一の座標サイズで表示範囲を分割したブロックと呼ばれる分割領域別に各図形が管理される。
【００２５】
例えば、ある一定の解像度（座標サイズ）で表示部１７０に複数の縮尺で地図を表示する場合を考える。通常、上位レベルほど建物や道路等の図形描画縮尺は小さく、地理的に広範囲を表示する。一方、下位レベルほど建物や通路等の図形描画縮尺は大きく、地理的に狭範囲を表示する。
【００２６】
但し、上位レベルも下位レベルも合計した地理的範囲（表示範囲）は同じである。しかし、下位レベルほど図形の詳細形状を描画する必要があるため、同じ地理的範囲に対して下位レベルは上位レベルより大きな座標幅が必要となり、結果的に下位レベルになるほどデータ量が増加する。
【００２７】
そして、図形表示装置１００が備えるキャッシュメモリ容量制限を考慮すると、レベルにかかわらず記録部１１０から読み出すデータ量をある一定のサイズに制限する必要があるため、ブロックという分割領域単位を用いる。
【００２８】
図２は、上記表示図形データのレベル構造及びブロック構造に関する一例を示す。図２（Ａ）は、レベル０の表示範囲と各ブロックの座標サイズとの関係を示し、一つの表示範囲は、１６個のブロックから構成されている。図２（Ｂ）は、レベル１の表示範囲と各ブロックの座標サイズとの関係を示し、一つの表示範囲は、４個のブロックから構成されている。レベル１の図形はレベル０の図形を１／２に縮尺した図形である。図２（Ｃ）は、レベル２の表示範囲と各ブロックの座標サイズとの関係を示し、一つの表示範囲は、１個のブロックから構成されている。レベル２の図形はレベル１の図形を１／２に縮尺した図形である。
【００２９】
図２（Ａ）〜（Ｃ）に示すように、一つのブロックのサイズは、レベルに関係なく横方向のサイズがＸで、縦方向のサイズがＹであり、同一である。また、各ブロックを合計した表示範囲はレベルに関係なく同一である。
【００３０】
すなわち、表示図形データにおいて、レベルＬ（Ｌは０以上の整数）のブロックの表示領域は、レベルＬ＋１の１ブロックの領域を縦方向と横方向にそれぞれＮ分割（Ｎは２以上の整数）ずつ分割した領域に対応する。従って、下位レベルほどブロックの表示領域は細分化される。なお、図２では説明を簡単にするために、レベル数を「３」、各レベルの分割ブロック数Ｎを「２」、各ブロックの横方向、縦方向の各座標サイズを（Ｘ，Ｙ）としている。ただし、ブロック分割数Ｎや１ブロックの座標サイズは、各レベル間で異なっていても問題はない。
【００３１】
各レベルではブロックを一意に識別するため、各ブロックは、０から１ずつ増加する連番のブロック番号が割り当てられる。このブロック番号は、図２では各ブロック内の数値で示され、最左下ブロックから最右上ブロックに向かって横方向優先で、かつ、レベルＬ＋１の１ブロックと同領域を構成するレベルＬのＮｘＮのブロック群に連番を割り当てるものとする。
【００３２】
上記のようなブロック番号の割り当て規則を適用すると、レベルＬ＋１のブロック（ブロック番号ＢＩＤ（Ｌ＋１））と同領域を構成するレベルＬのブロック群のブロック番号群｛ＢＩＤｓ（Ｌ）｝は、次式で導出できる。
【００３３】
【数１】
2011065571.tif 000003
例えば、レベル１のブロック番号３のブロック(BID(L+1)=3)と同領域を構成するレベル０のブロックのブロック番号群｛BIDs(0)｝は、式Ａより次式で特定できる。
【００３４】
｛BIDs(0)｝＝{3＊(2＊2)、3＊(2＊2)＋1、・・・、(3+1)＊(2＊2)−1)}
＝{12,13,14,15}
また、地図等で表示縮尺を変更する場合、この表示縮尺に応じて各表示図形の頂点座標値を換算し、図形形状を拡大・縮小して表示する必要がある。すなわち、レベルＬのあるブロックのブロック内座標と同一位置が存在するレベルＬ＋１のブロック番号と、そのブロック内での座標とを算出する必要がある。
【００３５】
前述したレベル構造・ブロック構造では、レベルＬのブロック番号BID(L)で示される第１のブロックに対応するレベルＬ＋１の第２のブロックのブロック番号BID(L+1)と、第１のブロックの左最下端座標(0,0)に対応する第２のブロックのブロック内座標(px0,qy0)とは、次式で導出される。
【００３６】
BID(L+1)＝BID(L)／(N*N)                                （式Ｂ）
(px0,qy0)＝((BID(L)%N)＊X/N，(BID(L+1)/N)＊(Y/N))      （式Ｃ）
ただし、式Ｂ及び式Ｃ中、「A*B」はＡとＢとの乗算、「A/B」はＡをＢで除算した値（小数点以下切捨ての整数）、「A%B」はＡをＢで除算した剰余（整数）を示す。
【００３７】
また、更に、レベルＬのブロック番号BID(L)でのブロック内座標（ｘ,ｙ）に対応するレベルＬ＋１のブロック番号BID(L+1)のブロック内座標（px，qy）は次式により算出される。
【００３８】
（px，qy）＝（px0＋(x/N)，qy0＋(y/N)）                （式Ｄ）
図３は、レベル間で同位置の座標算出の一例の説明図を示す。図３は、図２で示したレベル構造及びブロック構造に基づいた例で、レベル０のブロック番号BID(0)＝15でのブロック内座標（ｘ，ｙ）に対応したレベル１のブロック番号BID(1)のブロック内座標（px,qy）を算出する例を示す。
【００３９】
まず、レベル０のブロック番号BID(0)＝15に対応するレベル１のブロック番号BID(1)が、式（Ｂ）に基づいて、「３」と算出される。
【００４０】
次に、レベル０のブロック番号BID(0)＝15のブロックの左最下端座標(0,0)に対応するレベル１のブロック番号BID(1)＝3のブロック内座標(px0,qy0)が、式Ｃに基づいて次のように算出される。
【００４１】
(px0,qy0)＝((BID(0)%2)＊X/2，(BID(1)/2)＊(Y/2))＝(X/2,Y/2)
そして、最後に式Ｄを用いることで、レベル０のブロック番号BID(0)＝15のブロックのブロック内座標（ｘ,ｙ）に対応したレベル１のブロック番号BID(1)のブロックのブロック内座標（px,qy）が次のように算出される。
【００４２】
(px,qy)＝(px0+(x/2),qy0+(y/2))
この計算を繰り返すことで、更に上位レベルのブロック及びブロック内座標を特定することが可能となる。
【００４３】
以上のように、本実施の形態で採用するレベル構造・ブロック構造では、式Ａ〜式Ｄを利用して、任意の縮尺に応じて図形を拡大・縮小表示することが可能となる。
【００４４】
次に、本発明における図形表示装置で用いる図形表示データの論理構造の一例について図４及び図５を参照して説明する。
【００４５】
記録部１１０に記録される表示図形データは、レベル管理テーブル、ブロック管理テーブル、図形テーブル、座標データ列テーブル、及びフラグ列テーブルにより構成される。図４は、このうち、レベル管理テーブル、ブロック管理テーブル、及び図形テーブルの一例を示す。
【００４６】
図４に示すように、レベル管理テーブル２０１は、レベル構成と各レベルのブロック構成を管理する情報を有し、レベル数分のレベル管理レコード２１１で構成される。レベル管理レコード２１１は、各レベルと最下位レベルとの縮尺比、及び各レベルのブロック数を有する。更に、レベル管理テーブル２０１又はレベル管理レコード２１１は、図４では図示を省略したが、記録部１１０内でのブロック管理テーブル２０２、図形テーブル２０３、及び図５に示す座標データ列テーブル２０４及びフラグ列テーブル２０５の記録領域を特定できる情報を保持するものとする。
【００４７】
また、図４に示すように、ブロック管理テーブル２０２は、最下位レベル（レベル０）のブロック数Ｎ０分のブロック管理レコード２１２をブロック番号昇順で格納する。ブロック管理レコード２１２は、最下位レベル（レベル０）の各ブロックで表示する図形に対応する図形レコード２１３への参照情報（図形レコード先頭位置及び図形レコード数）を表示最上位レベル別に保持する。ここで、「表示最上位レベル」とは、図形が表示される最上位レベルを示す。
【００４８】
なお、「表示最上位レベルＬの図形」とは、レベルＬからレベル０（最下位レベル）までの各レベルでの表示で描画が必要な図形である。具体的には、地図を縮小表示（上位レベルで表示）した際、大規模公園等の面積の広い施設は表示されるが、家等の面積の小さい施設は表示されないといった例が挙げられる。この場合、面積が広い施設の図形ほど表示最上位レベルはより上位となり、面積が小さい施設の図形ほど表示最小レベルはより下位となる。
【００４９】
更に、図４に示すように、図形テーブル２０３は、各表示図形と一対一の関係となる図形レコード２１３を連続して格納する。図形テーブル２０３は、最下位レベルのブロック毎に、表示最上位レベル降順（上位レベルから下位レベル方向の順）で図形レコード２１３を連続して格納する。
【００５０】
図５は、図形レコードとこれに対応する座標データ列テーブルとフラグ列テーブルとの対応関係の一例を示す。図５において、図形レコード２１３は、図４に示した図形レコード２１３であり、座標データ列と各レベルでの概略図形表示に用いるフラグ列とを、座標データ列テーブル２０４とフラグ列テーブル２０５とから特定する情報を有する。この情報としては、図５に２１４で示す先頭座標データ位置ＰＰ、２１５で示すこの図形レコードが参照する座標データ数ＮＸＹ（Ｆ）、２１６で示す表示レベル毎のフラグ列先頭位置ＰＢ２（ＰＢ１）及びフラグ数ＮＦＬＧ（ａ，ｂ）などがある。フラグ数ＮＦＬＧ（ａ，ｂ）は、図形レコードａが参照する表示レベルｂのフラグ数である。なお、図５に示す図形レコード２１３は、図形レコードＦでもある。
【００５１】
座標データ列テーブル２０４は、図形の詳細表示、すなわち最下位レベルでの表示に利用する一つ以上の頂点の座標データを図形毎に、かつ、各図形の描画順に連続して座標データ列として格納する。
【００５２】
フラグ列テーブル２０５は、ある図形の各表示レベルでの概略図形の表示（描画）に必要な頂点の座標データを、座標データ列から特定する一つ以上のフラグＦＬＧのフラグ列を格納する。ここでは、図５に示すように、ある図形レコードＦが参照する座標データ列をＸＹs［Ｆ］と表記する。また、ＸＹs［Ｆ］の座標データ数をＮＸＹ（Ｆ）、構成座標データ群をＸＹ（Ｆ,０）〜ＸＹ（Ｆ,NXY(F)−１）と表記する。
【００５３】
また、図形レコードＦで特定されるレベルＬの概略図形に用いられるフラグ列を図５に示すようにＦＬＧs［Ｆ,Ｌ］と表記する。フラグ列ＦＬＧs［Ｆ,Ｌ］のフラグ数は、座標データ数、すなわちＮＸＹ（Ｆ）であり、その構成フラグ群をＦＬＧ（Ｆ，Ｌ，０），・・・，ＦＬＧ（Ｆ，Ｌ，NXY(F)−１）と表記する。上記のように、フラグ列ＦＬＧs［Ｆ,Ｌ］は、レベルＬの図形の概略形状の描画に必要な頂点の座標データを特定するための座標参照データである。
【００５４】
次に、本実施の形態における座標データ列とフラグ列とを用いた図形描画の一例について図６と共に説明する。図６は、本実施の形態における座標データ列とフラグ列とを用いた図形描画の一例の説明図を示す。図６の例は、図２で示したレベル構造及びブロック構造に基づいた例とする。
【００５５】
ある図形Ｆは最下位レベルであるレベル０では、図６に示すように、レベル０のブロック番号BID(0)＝15のブロック３０１で表示されるものとする。図６に示すように、ブロック３０１において、この図形Ｆは、レベル０での図形Ｆの座標データ列ＸＹs(Ｆ)の全座標データである５つの頂点の座標データ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））を順に描画して繋いだ図形であるものとする。
【００５６】
レベル１での図形Ｆの描画時は、座標データ列ＸＹs(Ｆ)のうち、レベル１のフラグ列ＦＬＧs（Ｆ,１）により必要と判定される座標データのみを利用して描画が行われる。すなわち、フラグ列ＦＬＧs（Ｆ,１）中の例えば、フラグＦＬＧ（Ｆ,１,ｉ）が「１」の場合は、座標データＸＹ（Ｆ,ｉ）は描画に必要な座標データと判定し、フラグＦＬＧ（Ｆ,１,ｉ）が「０」の場合は、座標データＸＹ（Ｆ,ｉ）は描画に利用しない座標データと判定する（ただし、ｉは０〜NXY(F)−１までの整数）。そして、必要と判定された座標データ群のみに対して、前記式Ｂ、式Ｃ、式Ｄを用いた座標値の換算を行って、レベル１に応じた概略図形を描画する。
【００５７】
ここでは、図６に示すように、レベル１の図形Ｆは、レベル１のブロック番号BID(1)＝3のブロック３０２において、値が「１」である４つのフラグＦＬＧ（Ｆ,１,０）、ＦＬＧ（Ｆ,１,１）、ＦＬＧ（Ｆ,１,３）、ＦＬＧ（Ｆ,１,４）にそれぞれ対応した座標データを、式Ｂ〜式Ｄにより座標値の換算を行って得られた、以下に示す４つの頂点の座標データ（ｐ１，ｑ１）、（ｐ２，ｑ２）、（ｐ３，ｑ３）、（ｐ４，ｑ４）を順に描画して繋いだ図形である。
【００５８】
(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)
ただし、上記の４つの式中、px，qyは、ブロック番号BID(0)＝15のブロックの左下端位置と同位置となるブロック番号BID(1)＝3のブロックのブロック内のｘ座標、ｙ座標を示す。
【００５９】
レベル２での図形Ｆの描画時は、レベル１での判定操作と同様に、座標データ列ＸＹs(Ｆ)のうち、レベル２のフラグ列ＦＬＧs（Ｆ,２）により必要と判定される座標データのみを利用して描画が行われる。ここでは、図６に示すように、レベル２の図形Ｆは、レベル２のブロック番号BID(2)＝0のブロック３０３において、フラグ列ＦＬＧs（Ｆ,２）中の値が「１」である２つのフラグＦＬＧ（Ｆ,２,０）、ＦＬＧ（Ｆ,２,４）にそれぞれ対応した座標データを、式Ｂ〜式Ｄにより座標値の換算を行って得られた、以下の２つの頂点の座標データ（ａ１，ｂ１）、（ａ２，ｂ２）を順に描画して繋いだ図形である。
【００６０】
(a1,b1)＝((p1/4)＋ap，(q1/4)＋bq)
(a2,b2)＝((p4/4)＋ap，(q4/4)＋bq)
ただし、上記の２つの式中、ap，bqは、ブロック番号BID(1)＝3のブロックの左下端位置と同位置となるレベル２のブロック番号BID(2)＝0のブロックのブロック内のｘ座標、ｙ座標を示す。
【００６１】
なお、フラグ列ＦＬＧs（Ｆ,１）及びＦＬＧs（Ｆ,２）は、記録部１１０に記録する図形表示データ生成時に、図形の座標データ列から各レベルの概略図形を描画に必要となる座標データを決定しておく。また、各レベルで図形Ｆを描画する際に、座標データＸＹ(Ｆ,ｉ)が必要と判定した場合には、そのレベルのフラグを「１」、不要と判定した場合には「０」となるように生成し、記録部１１０に記録する。
【００６２】
また、フラグ列の別の形式として、ある図形に対する表示レベルＬ＋１のフラグ列のビット数を、表示レベルＬのフラグ列で値「１」のビット（１ｂ）となるビット数とし、表示レベルＬのフラグ列のｉ番目のビットフラグは、表示レベルＬ−１のフラグ列で先頭から１ｂとなるｉ番目のビットフラグが示す座標データが有効か否かを判定するようなフラグ列とする形式も考えられる。フラグ列がこの形式の場合、前者の形式に比べて、図形表示データのデータ量を更に抑制することができる。
【００６３】
なお、フラグ列を生成するための概略図形の描画に必要となる座標データの決定方法は、公知であるのでここではその詳細な説明は省略するが、例えば特許文献１に記載された間引き条件等のように、レベル０とそれ以外の各レベルとの縮尺比率と詳細図形との形状差異を考慮して決定するものとする。
【００６４】
次に、本実施の形態の図形表示装置１００の処理動作について図７等を併せ参照して説明する。
【００６５】
図７は、本発明になる図形表示装置及び図形表示方法の一実施の形態の動作説明用フローチャートを示す。処理動作開始時点で、読出部１２０は、記録部１１０から図形表示データ内のレベル管理テーブル２０１、ブロック管理テーブル２０２を読み出し、読出部１２０内の図示しないメモリに予め記憶しておくものとする。また、入力部１４０から表示レベル及びブロック番号を指定する外部装置又はユーザーは、記録部１１０に記録されている図形表示データのレベル数、各レベルと最下位レベルとの縮尺比率、各ブロックに対応する領域範囲は既知であるものとする。
【００６６】
まず、入力部１４０は、変換部１３０に表示部１７０に表示する図形のレベルＬと表示対象ブロック番号BID(L)とを指定する（ステップＳ１）。すると、変換部１３０は、指定された表示対象ブロック番号BID(L)と、同領域範囲を構成する最下位レベル（レベル０）のブロックのブロック番号群BIDs(0)とを特定する（ステップＳ２）。このブロック番号群BIDs(0)の特定処理では、レベルＬに該当するレベル管理レコード２０１の内容とブロック番号BID(L)とから、ブロック番号群BIDs(0)のブロック個数NBsを特定すると共に、レベルＬからレベル０に向かって下位レベルに１つ進む毎に式Ａを計算することで、BIDs(0)を構成するブロック番号BID(0)[0]〜BID(0)[NBs-1]を特定する。
【００６７】
続いて、変換部１３０は、変数ｉの値を「０」に初期化した後、変数ｉが上記ブロック個数NBs未満であるかどうかを判定する（ステップＳ３）。変数ｉは０以上NBs未満の整数であるが変数ｉは、最初は上記のように「０」に初期化されており、上記ブロック個数NBs未満である。この場合は、変換部１３０は、続いて変数ｌvを最上位レベルＬmaxに設定した後、その変数ｌvがレベルＬ以上であるかどうかを判定する（ステップＳ４）。
【００６８】
変数ｌvはＬ以上Ｌmax以下の整数である。通常は、最初の段階では最上位レベルＬmaxに設定されている変数ｌvがレベルＬ以上であるので、その場合は変換部１３０は、読出部１２０に対して、記録部１１０からBID(0)[i]の表示最上位レベルｌvの図形レコード群Fs(BID(0),[i],lv)を読み出させて、読出部１２０内のメモリに一時的に記憶させる（ステップＳ５）。以下、ステップＳ５で特定した図形レコード群Fs(BID(0),[i],lv)を構成する図形レコード数をＮＦ、図形レコードをF[0]、・・・、F[NF-1]と表記する。
【００６９】
続いて、変換部１３０は、変数ｊの値を「０」に初期化した後、変数ｊが上記図形レコード数ＮＦ未満であるかどうかを判定する（ステップＳ６）。変数ｊは０以上ＮＦ未満の整数であるが、最初は変数ｊは上記のように「０」であり、図形レコード数ＮＦ未満である。この場合は変換部１３０は、読出部１２０に対して、図形レコードF(j)に対応する座標データ列XYs(F[j])と、座標参照データとしての表示レベルＬのフラグ列FLGs(F[j],L)とを読み出させ、変換部１３０内の図示しないメモリに格納する（ステップＳ７）。
【００７０】
また、このステップＳ７では、変換部１３０は、図５で示した図形レコード２１３の座標データ列先頭位置２１４、座標データ数２１５、表示レベルＬのフラグ列先頭位置及びフラグ数から、座標データ列XYs(F[j])の座標データ数NXYと、座標データ列XYs(F[j])を構成する座標データXY[0],・・・,XY[NXY-1]と、フラグ列FLGs(F[j],L)を構成するフラグFLG[0],・・・,FLG[NXY-1]を特定する。
【００７１】
続いて、変換部１３０は、変数ｋの値を「０」に初期化した後、変数ｋが上記座標データ数NXY未満であるかどうかを判定する（ステップＳ８）。変数ｋは０以上NXY未満の整数であるが、最初は変数ｋは上記のように「０」に初期化されて座標データ数NXY未満である。この場合は変換部１３０は、ステップＳ７で特定したフラグFLG[k]の値が「１」であるかどうかを判定する（ステップＳ９）。
【００７２】
変換部１３０は、フラグFLG[k]の値が「１」でなければ（すなわち、「０」であれば）、座標データXY[k]は表示レベルＬの表示に不要な座標データと判断して、変数ｋの値を「１」インクリメントして再びステップＳ８及びＳ９の処理を繰り返す。一方、変換部１３０は、ステップＳ９においてフラグFLG[k]の値が「１」であると判定したときは、座標データXY[k]は表示レベルＬの表示に必要な座標データと判断して、その座標データXY[k]を記憶部１５０に格納する（ステップＳ１０）。このようにして、変換部１３０は、変数ｋの値が座標データ数NXYに等しくなるまでステップＳ８〜Ｓ１０の処理を繰り返し、座標データ数NXYの全座標データのうち、表示レベルＬの表示に必要な座標データのみを記憶部１５０に記憶する。なお、記憶部１５０では、各図形別に格納された座標データ数を管理するものとする。
【００７３】
変数ｋの値が座標データ数NXYに等しくなると、変換部１３０は、ステップＳ８から変数ｊの値を「１」インクリメントした後、ステップＳ６に進んで再び変数ｊの値が図形レコード数ＮＦ未満であるかどうかを判定する。そして、変換部１３０は、変数ｊの値が図形レコード数に等しいとステップＳ６で判定されるまで、ステップＳ６〜Ｓ１０の処理を繰り返す。
【００７４】
変換部１３０は、変数ｊの値が図形レコード数ＮＦに等しいとステップＳ６で判定されると、変数ｌvの値を「１」デクリメントした後ステップＳ４に戻り、再び変数ｌvがレベルＬmax以上であるかどうかを判定する。
【００７５】
上記のステップＳ５〜Ｓ１０の処理をブロックBID(0)[i]に対して行うと、ステップＳ４において、変数ｌvがレベルＬmax以上であると判定される。これにより変換部１３０は、ステップＳ１０で記憶部１５０に記憶された座標データ列XYs(F[j])を構成するすべての座標データXY[0]〜XY[NXY-1]の各座標値を、レベルＬとレベル０の縮尺比率Rm(L)で除算する（ステップＳ１１）。ステップＳ１１における縮尺比率Rm(L)は、レベルＬに関するレベル管理レコード２１１に記述される。
【００７６】
そして、変換部１３０は、ステップＳ１１で除算して得られた座標データ群の各座標値に、ブロック番号群BIDs(0)のブロックの左下端に対応するレベルＬのブロック番号BID(L)でのブロック内座標を算出して加算する（ステップＳ１２）。ここで、加算するブロック内座標の座標値は、式Ｂ及び式Ｃを用いて計算することができる。
【００７７】
ステップＳ１２の加算処理に続いて、変換部１３０は、変数ｉの値を「１」インクリメントした後、ステップＳ３に戻り再び変数ｉの値がブロック個数NBs未満であるかどうかを判定する。このようにして、ステップＳ３で変数ｉの値がブロック番号群BIDs(0)のブロック個数NBsに等しいと判定されるまで、ステップＳ４〜Ｓ１２の処理が図形表示データの最上位レベルＬmaxから表示レベルＬまで表示レベル毎に繰り返される。
【００７８】
ステップＳ３において、変数ｉの値がブロック番号群BIDs(0)のブロック個数NBsに等しいと判定されると、記憶部１５０にはブロック番号群BIDs(0)の表示対象ブロック番号BID(L)のブロックの描画に必要な概略図形の座標データ列が格納された状態になっている。このため、ステップＳ３において、変数ｉの値がブロック番号群BIDs(0)のブロック個数NBsに等しいと判定されると、変換部１３０は描画部１６０に対して、描画開始命令を通知する（ステップＳ１３）。
【００７９】
この描画開始命令を通知された描画部１６０は、記憶部１５０から概略図形に関する座標データ列を読み出して、表示部１７０への描画を開始する。
【００８０】
以上の処理を行うことで、図形表示装置１００は入力部１４０から指定される表示対象のレベルとブロックの図形表示を行うことができる。
【００８１】
このように、本実施の形態によれば、図形の詳細表示に利用する１つ以上の座標データを図形毎に、かつ、各図形の描画順に連続して格納した座標データ列テーブル２０４と、１つ以上のフラグを、ある図形の表示レベル毎に関する各表示レベルでの概略図形に必要な座標データを座標データ列から特定するフラグ列を格納したフラグ列テーブル２０５とを備え、最も詳細な図形表示時には座標データ列の全座標データを用いて表示を行い、概略図形表示時は、全座標データのうち、その概略図形の表示に必要な座標データのみを利用すると共に、必要とされた座標データの座標値の変換を所定の式に基づいて行って描画を行う。このため、本実施の形態によれば、前述した１つ目の方法に比べて詳細図形と概略図形の形状が大きく異なることはなく、また、特許文献１記載の方法のような概略図形用の座標データ列を生成する複雑な演算・補正処理が不要であり、更に、前述した２つ目の方法に比べて以下の理由で、本実施の形態の方がデータ量が少なくて済む。
【００８２】
本実施の形態の方が２つ目の方法に比べてデータ量が少なくて済む理由は次の通りである。一般的に図形を表示するための座標データは、Ｘ、Ｙ方向共に８〜３２ビット程度で表現される。例えば、座標データをＸ、Ｙ方向共に８ビットで表現するものとして、図６に示した図形Ｆを表示する場合、従来の２つ目の方法では、全レベルで表示に利用する座標データ列をそのまま用意するため、図６ではレベル０の座標点数が「５」、レベル１の座標点数が「４」、レベル２の座標点数が「２」であることから、図形Ｆの表示に必要なビット数は、１７６（＝{(5+4+2)*(8*2)}）ビットである。
【００８３】
これに対し、本実施の形態では、従来の方法の最下位レベル以外の座標データ列がフラグに置き換えられるため、レベル０の座標点数が「５」、レベル１のフラグ数が「５」、レベル２のフラグ数が「５」であることから、図形Ｆの表示に必要なビット数は、９０（＝{5*(8*2)+5+5}ビットとなる。従って、本実施の形態のように、全レベルの座標データではなく、フラグを用いることでデータ量を従来の２つ目の方法に比べて削減することができる。
【符号の説明】
【００８４】
１１０  記録部
１２０  読出部
１３０  変換部
１４０  入力部
１５０  記憶部
１６０  描画部
１７０  表示部
【図１】
2011065571.tif 000004
【図４】
2011065571.tif 000005
【図５】
2011065571.tif 000006
【図７】
2011065571.tif 000007
【図２】
2011065571.tif 000008
【図３】
2011065571.tif 000009
【図６】
2011065571.tif 000010