説明

描画装置

【課題】輪郭線の外側にラスタデータがはみ出す、あるいは輪郭線の内側にラスタデータの塗り残し領域が発生することのない描画装置を得る。
【解決手段】ベクタデータに基づいて所定の領域の輪郭を描画する輪郭描画部3と、輪郭部3が描画した輪郭の内側の領域を塗りつぶす領域内描画部4とを備え、領域内描画部4は、輪郭描画部3が描画した輪郭の内側に位置する画素を抽出する領域内画素抽出部41と、領域内画素抽出部41が抽出した各画素の座標に基づいてラスタデータ記憶部2に記憶されたラスタデータを検索し、各画素を着色するための色を決定する色決定部42とを備える。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、船舶や車両などの移動体に搭載し、自位置周辺の地図を描画する描画装置に関するものである。
【背景技術】
【0002】
一般に地図には、線分の集まりであるベクタデータで表現された地図と、点を格子状に並べたラスタデータで表現された地図とがある。典型的には、海岸線や道路などの情報はベクタデータで表現され、標高や植生など面的な広がりを持った情報はラスタデータで表現される。
このような表現形式が異なる複数の地図を重ねて表示する場合、ラスタデータに重畳しようとするベクタデータの拡大率、回転角度、移動量によりその都度、重畳のパラメータを計算する必要があり、処理が煩雑であった。この不都合を解消するため、特許文献1ではラスタデータおよびベクタデータの種類によらない重畳のキー情報(例えば衛星画像データと地図ベクトルデータの場合は、緯度経度)を用いてベクタデータを変換し、ラスタデータ上に重畳表示している。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開平6−230767号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ここで、ベクタデータで表現された海岸線データにより海岸線を表示し、さらに陸地の各地点をラスタデータで表現された標高データに基づき複数段階に色分けして表示する例を考えた場合、海岸線の外側領域には色づけが行われず、海岸線の内側領域のみに色づけが行われることが期待される。この場合、特許文献1に開示された技術では、まず標高によって色分けしたラスタデータを作成し、その後に海岸線を示すベクタデータを描画する。しかし、異なる地図を重ねると、一般に両者の間にはずれが生じる。図9は、従来の方式によりラスタデータとベクタデータとを重ねて描画した場合を示す説明図である、図9(a)に示すラスタデータに、図9(b)で示すベクタデータを重ねると、図9(c)に示す重畳結果のように、輪郭線Rの外側にラスタデータがはみ出す領域Ra、あるいは輪郭線Rの内側に塗り残し領域Rbが発生するという課題があった。
【0005】
この発明は、上記のような課題を解決するためになされたもので、ラスタデータとベクタデータとを重畳表示した場合に、輪郭線の外側にラスタデータがはみ出す、あるいは輪郭線の内側にラスタデータの塗り残し領域が発生することのない描画装置を得ることを目的とする。
【課題を解決するための手段】
【0006】
この発明に係る描画装置は、ベクタデータを記憶するベクタデータ記憶手段と、ラスタデータを記憶するラスタデータ記憶手段と、ベクタデータ記憶手段に記憶されたベクタデータに基づいて所定の領域の輪郭を描画する輪郭描画手段と、ラスタデータ記憶手段に記憶されたラスタデータに基づいて、輪郭描画手段が描画した輪郭の内側の領域を塗りつぶす領域内描画手段と、輪郭描画手段の描画結果と、領域内描画手段の描画結果とを記憶する画像記憶手段とを備え、領域内描画手段は、輪郭描画手段が描画した輪郭の内側に位置する画素を抽出する領域内画素抽出手段と、領域内画素抽出手段が抽出した各画素の座標に基づいてラスタデータ記憶手段に記憶されたラスタデータを検索し、各画素を着色するための色を決定する色決定手段とを備えるものである。
【発明の効果】
【0007】
この発明によれば、ベクタデータに基づいて描画された輪郭線の外側にラスタデータがはみ出す、あるいは輪郭線の内側にラスタデータの塗り残し領域が発生するのを防止することができる。
【図面の簡単な説明】
【0008】
【図1】この発明の実施の形態1による描画装置の構成を示すブロック図である。
【図2】この発明の実施の形態1による描画装置のベクタデータ記憶部の記憶情報の一例を示す説明図である。
【図3】この発明の実施の形態1による描画装置のラスタデータ記憶部の記憶情報の一例を示す説明図である。
【図4】この発明の実施の形態1による描画装置の領域内描画部の動作を示すフローチャートである。
【図5】この発明の実施の形態1による描画装置の領域内描画部の処理を示す説明図である。
【図6】この発明の実施の形態1による描画装置の色決定部の動作を示すフローチャートである。
【図7】この発明の実施の形態1による描画装置の色決定部の処理を示す説明図である。
【図8】この発明の実施の形態2による描画装置の化成空間を示す説明図である。
【図9】従来の課題を示す説明図である。
【発明を実施するための形態】
【0009】
実施の形態1.
図1は、この発明の実施の形態1による描画装置の構成を示すブロック図である。図1において、描画装置10は、ベクタデータ記憶部1、ラスタデータ記憶部2、輪郭描画部3、領域内描画部4、画像記憶部5および画像表示装置11で構成されている。
ベクタデータ記憶部1は、海岸線など線で表現する描画対象物のベクタ形式の図形データ(以下、ベクタデータと称する)を記憶する。描画対象物が例えば図2(a)に示す多角形である場合、該多角形のベクタデータは、図2(b)に示す各頂点の座標を示す頂点データと、図2(c)に示す各辺の始点および終点の頂点名を示した線分データで構成される。
【0010】
ラスタデータ記憶部2は、面的な広がりを持つ描画対象物のラスタ形式の図形データ(以下、ラスタデータと称する)を記憶する。図3はラスタデータ記憶部2が記憶するラスタデータの一例を示す図であり、図3の例では経度線Fで示す東経135度から経度線Gで示す東経136度の間、および緯度線Hで示す北緯35度から緯度線Iで示す北緯36度の間をそれぞれ5分間隔で分割し、13×13=169個の格子状の領域を作成する。各格子状の領域に、緯度および経度で示した標高値を格納することにより、東経135度から東経136度の間、および北緯35度から北緯36度の間の領域の地形情報を保持することができる。例えば、図3に示した領域Jには東経135度30分、北緯35度30分の標高値が格納される。
【0011】
輪郭描画部3は、ベクタデータ記憶部1に記憶されたベクタデータを読み出し、描画対象物の輪郭を描画する。輪郭描画部3の描画結果は画像記憶部5に出力され、記憶される。
輪郭描画部3の輪郭描画処理を図2に示したベクタデータを例に説明する。図2に示したベクタデータでは、各頂点の座標は緯度経度により表現されている。緯度経度により表現されている場合、各座標は予め定められた投影方法によって画素座標に変換されて描画される。
投影方法が正射投影の場合、頂点Aが描画される画素の座標(u,v)は次のように決定される。地球中心座標空間における緯度をφ、経度λ、楕円体高をhとすると、頂点Aの座標P=(X,Y,Z)は以下の式(1)で表される。

なお、Nは卯酉線曲率半径、eは楕円体の離心率である。また、楕円体高hは、ジオイド高と標高の和である。頂点が海岸線上の点であれば標高は0とみなせるので、ジオイド高のデータから楕円体高を決定できる。また、求められる精度と比べてジオイド高が十分に小さいとみなせる場合は楕円体高を0として計算してもよい。
【0012】
次に、正射投影の中心点oを原点とする地平座標空間における頂点Aの座標p=(x,y,z)は、回転行列Rと並進行列Tを用いて以下の式(2)で表される。
p=R-1(P−T) ・・・(2)
ここで、正射投影の中心点oの緯度をφ0、経度をλ0とすると、回転行列Rは以下の式(3)で表される。



また、並進行列Tは、以下の式(6)で表される。



なお、Nは卯酉線曲率半径、eは楕円体の離心率、aは楕円体の長半径である。以上により、緯度、経度で与えられた頂点Aの座標が地平座標に変換される。
【0013】
次に、画素座標と地平座標のx座標とy座標との間には、tを定数とした以下の式(7)に示す関係が成立する。



上記式(7)から座標(u,v)を決定することができる。
【0014】
領域内描画部4は、領域内画素抽出部41および色決定部42を備えている。領域内描画部4は、輪郭描画部3により輪郭が描画され画像記憶部5に記憶された画像を読み出し、領域内画素抽出部41において描画対象物の輪郭の内側の画素を抽出する。色決定部42は、領域内画素抽出部41が抽出した各画素に対して塗り分ける色を決定する。領域内描画部4は、色決定部42が決定した色に基づき描画対象物の輪郭の内側の各画素を塗り分ける。得られた結果は画像記憶部5に出力され、記憶される。
【0015】
画像記憶部5は、輪郭描画部3および領域内描画部4によって描画された画像を記憶する。画像表示装置11は、例えばディスプレイなどで構成され、画像記憶部5に記憶された画像を画面に表示する。なお、描画装置10内に画像表示装置を組み込み、全体を表示装置として構成してもよい。
【0016】
次に、領域内描画部4の動作について詳述する。図4は、実施の形態1による描画装置の領域内描画部の動作を示すフローチャートである。
領域内描画部4は、画像記憶部5から輪郭が描画された画像を読み出す(ステップST1)。領域内画素抽出部41は、ステップST1で読み出した画像において、輪郭の内側であり、塗りつぶしの対象となる画素を抽出する(ステップST2)。色決定部42は、ステップST2で抽出した各画素について着色する色を決定する(ステップST3)。領域内描画部4は、ステップST3で決定した色に従い、各画素を着色する(ステップST4)。
【0017】
その後、領域内描画部4は、着色すべき全ての画素について塗りつぶし処理が行われたか否か判定を行う(ステップST5)。ステップST5で、着色すべき全ての画素について塗りつぶし処理が行われていないと判定された場合、ステップST1の処理に戻り上述した処理を繰り返す。一方、ステップST5で、着色すべき全ての画素について塗りつぶし処理が行われたと判定された場合、処理を終了する。
【0018】
さらに、領域内描画部4の領域内画素抽出部41および色決定部42について詳述する。
まず、領域内画素抽出部41の抽出動作について、図5を参照しながら説明する。領域内画素抽出部41は、図5に示すように画像の各行を左から右に向けて走査し(走査線K参照)、該走査線Kと輪郭線Lとが交差する回数を数える。走査線Kの左端部側の開始点Kaが輪郭線Lの内側に位置する場合、輪郭を除く任意の画素までの走査における輪郭線Lとの交差回数が、偶数であれば輪郭線Lの内側の画素であり、奇数であれば輪郭線Lの外側の画素であると判定する。一方、走査線Kの左端部側の開始点Kaが輪郭線Lの外側に位置する場合、輪郭を除く任意の画素までの走査における輪郭線Lとの交差回数が偶数であれば輪郭線Lの外側の画素であり、奇数であれば輪郭線Lの内側の画素であると判定する。
【0019】
次に、上述した色決定部42の処理動作(図4のステップST3)について、図6のフローチャートを参照しながら説明を行う。
色決定部42は描画対象となる各画素がもつ画素座標に基づき、地表面上で対応する点(以下、地球中心座標と称する)を算出する(ステップST11)。ステップST11で得た地球中心座標を緯度経度で表す座標に変換する(ステップST12)。ステップST12で得た緯度経度の値に基づいて、ラスタデータ記憶部2に記憶されたラスタデータを検索し、該当する領域のデータを取り出す(ステップST13)。例えば、ステップST12において、北緯35度30分、東経135度30分の値を得た場合、図3で示した太枠で囲まれた格子状の領域Jが選択され、該領域のデータが取り出される。ステップST13で取り出された領域の値に基づいて着色する色を決定し(ステップST14)、処理を終了する。
【0020】
続いて、図6のフローチャートで示したステップST11およびステップST12の処理について、具体例を挙げてより詳細に説明する。
まずステップST11について図7を参照しながら説明する。投影中心である点oを原点とし、天頂方向をz軸、該z軸に直角に東方向に延びるx軸および北方向に延びるy軸を取ることにより定義される地平座標空間を考える。地平座標空間における位置は、以下の式(8)で示される点oを原点とした直交座標pにより表される。


【0021】
また、地球の重心を原点とし、X軸をグリニッジ子午線と赤道との交点の方向、Y軸を東経90度の方向、Z軸を北極の方向にとることにより定義される地球中心座標空間を考える。地球中心座標空間における位置は、以下の式(9)で示される地球中心Oを原点とした直交座標Pにより表される。


【0022】
地平座標空間の原点oの緯度をφ0、経度をλ0、楕円体高をhとする。地球中心座標Pから地平座標pへの変換は、回転行列Rと並進行列Tを用いて、以下の式(10)により表される。
p=R-1(P−T) ・・・(10)
ここで、回転行列Rは、以下の式(11),(12),(13)によって与えられる。


【0023】
また、並列行列Tは、以下の式(14)によって与えられる。



なお、Nは卯酉線曲率半径、eは楕円体の離心率、aは楕円体の長半径である。
【0024】
地図の投影方法にはいくつかの方法があるが、ここでは図7に示すように投影中心である点oを原点とする地平座標空間のxy平面を投影面Mとし、該投影面Mに垂直に投影を行うものとする。この投影方法は正射投影と呼ばれる。
対象とする画素(u,v)に対応する投影面上の点をS=(Xs,Ys,Zs)、地平座標をs=(xs,ys,zs)とすると、以下の式(15),(16)で表される。なお、tは定数とする。


【0025】
図7に示すように、地表面の点Qが投影面M上の点Sに投影されるとした場合、点Qは、点Sを視点とし、点S(視点)から投影面に垂直な方向を視線方向とし、視線と地表面との交点を求めることにより決定される。点Qは、投影面Mに垂直なベクトルをV=(Xv,Yv,Zv)とすると、定数kを用いて以下の式(17)で表される。
Q=S+kV ・・・(17)
すなわち、以下の式(18)で表される。



地表面は地球楕円体で近似されるものとすると、点Q(X,Y,Z)が地表面表に存在するという条件は以下の式(19)で表される。



なお、aは地球楕円体の長半径、bは地球楕円体の短半径である。
【0026】
式(18)を式(19)に代入して方程式を解くと、定数kの値が得られ、該定数kを式(17)に代入すると地点Qの地球中心座標(X,Y,Z)が得られる。
【0027】
次に、ステップST12として、ステップST11で得た地点Qの地球中心座標(X,Y,Z)を緯度経度に変換する。地球中心座標から緯度経度への変換は、一般的に次のような繰り返し計算が必要となる(国土地理院ホームページより引用)。


【0028】
以上のように、この実施の形態1によれば、描画対象物の領域の輪郭を描画する輪郭描画部3と、描画された輪郭の内側の領域の各画素の画素座標に基づいてラスタデータを検索し、得られた値に基づいて着色する色を決定して塗りつぶしを行う領域内描画部4とを備えるように構成したので、輪郭線の外側にラスタデータがはみ出す、あるいは輪郭線の内側にラスタデータの塗り残し領域が発生するのを防止することができる。
【0029】
実施の形態2.
上述した実施の形態1では、色決定部42が画像座標に基づいて地表面上の点を算出し、得られた地球中心座標を緯度経度に変換する方式を示したが、この実施の形態1の処理では地球中心座標を緯度経度に変換するための繰り返し計算が必要であった。そこで、この実施の形態2では、緯度経度に変換するための座標計算を簡略化し、計算量削減を図った構成を示す。なお、実施の形態2の描画装置10の構成要素は実施の形態1と同一であるため、ブロック図の記載を省略する。また、この実施の形態2では、地球中心座標空間を地球楕円体の極方向にa/b倍に拡大した空間を想定し、当該空間を化成空間と定義する。なお、aは地球楕円体の長半径、bは地球楕円体の短半径である。すなわち、化成空間は、地球楕円体と赤道で接する球面体による空間と定義される。
【0030】
まず、図8を参照しながら化成空間について説明を行う。
地球中心座標空間における点Pと、化成空間において点Pに対応する点P’との間には以下の式(20),(21)に示す関係が成立する。


【0031】
地球中心座標空間における点Pの緯度(地理緯度)は、点Pを通り地球楕円体に垂線な直線とXY平面がなす角φである。また、化成緯度は、化成空間において点Pに対応する点P´と原点を結ぶ直線とXY平面がなす角φ´である。化成緯度φ´と通常の緯度(地理緯度)φとの間には以下の式(22)に示す関係が成立する。


【0032】
次に、実施の形態1で示した図6で示したフローチャートに沿って、実施の形態2の色決定部42の動作について説明する。なお、色決定部42以外の構成の処理動作は実施の形態1と同様であるため、説明を省略する。
まずステップST11として、対象となる各画素が持つ画素座標に基づいて、地表面上で対応する点を算出する。実施の形態1と同様にして、地球中心座標空間における視点S=(XS,YS,ZS)および視線方向V=(XV,YV,ZV)を決定する。これらを化成空間にマッピングした視点S´および視線方向V´は以下の式(23)により算出される。


【0033】
化成空間において、点S´=(XS,YS,ZS´)を通り、視線方向V´=(XV,YV,ZV´)に平行な直線と地表面との交点をQ´=(X,Y,Z´)とすると、以下の式(24),(25)で表される。


【0034】
また、地表面は化成空間において球で近似されるものとすると、点Q´(X,Y,Z)が地表面上にある、という条件は、以下の式(26)で表される。なお、aは地球楕円対の長半径である。
2+Y2+Z´2=a2 ・・・(26)
式(25)を式(26)に代入して方程式を解くと、kの値が得られる。kの値を式(24)に代入すると地点Q´の化成空間における座標が得られる。
【0035】
次に、ステップST12として、ステップST11で得た地点Q´の化成空間における座標(X,Y,Z´)を以下の式(27),(28)に基づいて緯度経度へ変換する。



ここで、緯度φ´は化成緯度である。φ´を算出するために繰り返し計算を行う必要がない。また、上述した式(22)を適用すると、容易に緯度(地理緯度)φに変換することができる。
【0036】
次に、ステップST13として、ステップST12で得た緯度φおよび経度λの値に基づいて、ラスタデータ記憶部2に記憶されたラスタデータを検索し、該当する領域のデータを取り出す。
また、異なる構成として、ラスタデータを予め化成緯度と経度をインデックスとして格納するように構成し、化成緯度φおよび経度λをキーとしてラスタデータを検索し、目的とする領域のデータを得るように構成してもよい。これにより、ステップST12の処理における化成緯度φ´から地理緯度φへの変換処理を省略することができる。
最後にステップST14として、ステップST13で取り出された領域の値に基づいて着色する色を決定し、処理を終了する。
【0037】
以上のように、この実施の形態2によれば、色決定部42において、地表面上の領域を化成空間にマッピングし、化成空間の領域を緯度経度へ変換し、ラスタデータを検索するように構成したので、座標変換における計算量を削減することができる。
【0038】
また、この実施の形態2によれば、ラスタデータをあらかじめ化成緯度と経度とをインデックスとして格納するように構成した場合には、化成緯度φ´から地理緯度φへの変換処理を省略することができる。
【0039】
なお、本願発明はその発明の範囲内において、各実施の形態の自由な組み合わせ、あるいは各実施の形態の任意の構成要素の変形、もしくは各実施の形態において任意の構成要素の省略が可能である。
【符号の説明】
【0040】
1 ベクタデータ記憶部、2 ラスタデータ記憶部、3 輪郭描画部、4 領域内描画部、5 画像記憶部、10 描画装置、11 画像表示装置、41 領域内画素抽出部、42 色決定部。

【特許請求の範囲】
【請求項1】
ベクタデータを記憶するベクタデータ記憶手段と、
ラスタデータを記憶するラスタデータ記憶手段と、
前記ベクタデータ記憶手段に記憶されたベクタデータに基づいて所定の領域の輪郭を描画する輪郭描画手段と、
前記ラスタデータ記憶手段に記憶されたラスタデータに基づいて、前記輪郭描画手段が描画した輪郭の内側の領域を塗りつぶす領域内描画手段と、
前記輪郭描画手段の描画結果と、前記領域内描画手段の描画結果とを記憶する画像記憶手段とを備え、
前記領域内描画手段は、前記輪郭描画手段が描画した輪郭の内側に位置する画素を抽出する領域内画素抽出手段と、
前記領域内画素抽出手段が抽出した各画素の座標に基づいて前記ラスタデータ記憶手段に記憶されたラスタデータを検索し、各画素を着色するための色を決定する色決定手段とを備えた描画装置。
【請求項2】
前記ベクタデータ記憶手段は、ベクタデータを構成する頂点の座標を緯度および経度を用いて記憶し、
前記ラスタデータ記憶手段は、ラスタデータを所定間隔の緯度および経度で分割した格子状のデータとして記憶し、
前記輪郭描画手段は、前記ベクタデータ記憶手段に記憶された緯度および経度で示された頂点の座標を地球中心空間の座標に変換し、変換した地球中心空間の座標を地表面に対して設定した所定の投影面に投影して得られる画素座標に基づいて前記所定の領域の輪郭を描画し、
前記色決定手段は、前記領域内画素抽出手段が抽出した各画素の画素座標に基づいて、前記所定の投影面に投影した投影点および当該投影点を通る鉛直線を定義し、定義した鉛直線と前記地表面との交点を算出し、算出した交点を地球中心空間の座標に変換し、変換した地球中心空間の座標の緯度および経度に基づいて前記ラスタデータ記憶手段に記憶された前記ラスタデータを検索し、当該検索により得られたラスタデータの値に基づいて各画素を着色するための色を決定することを特徴とする請求項1記載の描画装置。
【請求項3】
地球楕円体と赤道で接する球面体の空間を化成空間と定義した場合に、
前記色決定手段は、前記領域内画素抽出手段が抽出した各画素の画素座標に基づいて、前記化成空間の地表面に対して設定した所定の投影面に対して投影した投影点および当該投影点を通る鉛直線を定義し、定義した鉛直線と前記化成空間の地表面との交点を算出し、算出した前記交点の化成緯度および経度に基づいて前記ラスタデータ記憶手段に記憶された前記ラスタデータを検索し、当該検索により得られたラスタデータの値に基づいて各画素を着色するための色を決定することを特徴とする請求項2記載の描画装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate