JPH0652305A - データの圧縮装置 - Google Patents
データの圧縮装置Info
- Publication number
- JPH0652305A JPH0652305A JP24541992A JP24541992A JPH0652305A JP H0652305 A JPH0652305 A JP H0652305A JP 24541992 A JP24541992 A JP 24541992A JP 24541992 A JP24541992 A JP 24541992A JP H0652305 A JPH0652305 A JP H0652305A
- Authority
- JP
- Japan
- Prior art keywords
- data
- vector
- smooth
- points
- point
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Processing Or Creating Images (AREA)
- Image Processing (AREA)
Abstract
(57)【要約】
【構成】 1番目のベクトルの角度範囲番号を算出し、
I番目のベクトルに対する滑らかな範囲を角度範囲番号
により算出し、滑らかである範囲においてデータの圧縮
が可能であるか否かを判定し、圧縮が可能な場合にはデ
ータの圧縮を行う。 【効果】 効率よく小縮尺用の地図データを生成して、
保持できる。
I番目のベクトルに対する滑らかな範囲を角度範囲番号
により算出し、滑らかである範囲においてデータの圧縮
が可能であるか否かを判定し、圧縮が可能な場合にはデ
ータの圧縮を行う。 【効果】 効率よく小縮尺用の地図データを生成して、
保持できる。
Description
【0001】
【産業上の利用分野】本発明は、データベースに保存さ
れた地形や設備等の地図データの縮尺を縮小して小縮尺
の地図データを形成するデータの圧縮装置に関するもの
である。
れた地形や設備等の地図データの縮尺を縮小して小縮尺
の地図データを形成するデータの圧縮装置に関するもの
である。
【0002】
【従来の技術】一般に、ベクトル地図データがデータベ
ースとして保存されたマッピングシステムにおいては、
地図データベースよりベクトル地図データが読み出さ
れ、この地図データのフォーマット変換が行われ、プロ
ッタ装置から出図が行われる。
ースとして保存されたマッピングシステムにおいては、
地図データベースよりベクトル地図データが読み出さ
れ、この地図データのフォーマット変換が行われ、プロ
ッタ装置から出図が行われる。
【0003】ところで、出図を行う場合、これらのベク
トルデータをもとに任意の縮尺で表示あるいは出図する
ことが必要とされる場合がある。特に、特定な縮尺率で
小縮尺の地図データを繰り返し出図することが必要とさ
れる場合がある。
トルデータをもとに任意の縮尺で表示あるいは出図する
ことが必要とされる場合がある。特に、特定な縮尺率で
小縮尺の地図データを繰り返し出図することが必要とさ
れる場合がある。
【0004】
【発明が解決しようとする課題】このような場合、地図
データが連続ベクトルデータとしてシステムに登録され
ているので、縮尺係数を設定することにより、小縮尺図
面を出図するようにされてきたが、小縮尺図面では大量
のデータを扱うために出図速度が遅くなるとともに、プ
ロッタ装置の記憶装置を拡張しなければならない等の問
題があった。
データが連続ベクトルデータとしてシステムに登録され
ているので、縮尺係数を設定することにより、小縮尺図
面を出図するようにされてきたが、小縮尺図面では大量
のデータを扱うために出図速度が遅くなるとともに、プ
ロッタ装置の記憶装置を拡張しなければならない等の問
題があった。
【0005】このため、小縮尺の地図データを作成して
データベース化することが考えられる。
データベース化することが考えられる。
【0006】本発明は、このような要望に沿ってなされ
たもので、その目的とするところは、効率よく小縮尺用
の地図データを生成して、これを保持する地図データの
圧縮装置を提供することにある。
たもので、その目的とするところは、効率よく小縮尺用
の地図データを生成して、これを保持する地図データの
圧縮装置を提供することにある。
【0007】
【課題を解決するための手段】前述した目的を達成する
ために本発明は、点列の滑らかな範囲を算出する算出手
段と、前記算出手段により算出された滑らかな範囲の点
列を一線分で置換できるかを判定し、置換できる場合、
該点列を一線分で置換して点列の圧縮を行う圧縮手段
と、を具備するデータの圧縮装置である。
ために本発明は、点列の滑らかな範囲を算出する算出手
段と、前記算出手段により算出された滑らかな範囲の点
列を一線分で置換できるかを判定し、置換できる場合、
該点列を一線分で置換して点列の圧縮を行う圧縮手段
と、を具備するデータの圧縮装置である。
【0008】
【作用】本発明では、点列の滑らかな範囲を算出し、滑
らかな範囲の点列を一線分で置換できるかを判定し、置
換できる場合、該点列を一線分で置換して点列の圧縮が
行われる。
らかな範囲の点列を一線分で置換できるかを判定し、置
換できる場合、該点列を一線分で置換して点列の圧縮が
行われる。
【0009】
【実施例】以下、図面に基づいて本発明の実施例を詳細
に説明する。
に説明する。
【0010】図1は、本発明の一実施例に係る地図デー
タの圧縮装置を用いたシステムの構成を示す図である。
このシステムは、ワークファイル1、アプリケーション
プログラム3、大縮尺用データベース5、小縮尺用デー
タベース7、ホストコンピュータ9、端末10、プロッ
タ装置11、アプリケーションプログラム13を有す
る。
タの圧縮装置を用いたシステムの構成を示す図である。
このシステムは、ワークファイル1、アプリケーション
プログラム3、大縮尺用データベース5、小縮尺用デー
タベース7、ホストコンピュータ9、端末10、プロッ
タ装置11、アプリケーションプログラム13を有す
る。
【0011】アプリケーションプログラム3には、図5
に示すようなアプリケーションプログラム3が格納され
ている。このプログラムの内容については後述する。大
縮尺用データベース5には、圧縮される前の地図データ
が保存されている。小縮尺用データベース7には、圧縮
された後の地図データが保存される。端末10は、アプ
リケーションプログラム3に従って、大縮尺用データベ
ース5に保持された地図データを圧縮して小縮尺用デー
タベース7に保存させ、またアプリケーションプログラ
ム13を用いて、フォーマット変換を行う。プロッタ装
置11は、端末10から入力された出図縮尺に応じて、
その入力された縮尺の地図データを小縮尺用データベー
ス7から読み取り出図を行う。なお、通常の出図を行う
場合には、プロッタ装置11は大縮尺用データベース5
に格納された地図データを読み取って出図を行う。
に示すようなアプリケーションプログラム3が格納され
ている。このプログラムの内容については後述する。大
縮尺用データベース5には、圧縮される前の地図データ
が保存されている。小縮尺用データベース7には、圧縮
された後の地図データが保存される。端末10は、アプ
リケーションプログラム3に従って、大縮尺用データベ
ース5に保持された地図データを圧縮して小縮尺用デー
タベース7に保存させ、またアプリケーションプログラ
ム13を用いて、フォーマット変換を行う。プロッタ装
置11は、端末10から入力された出図縮尺に応じて、
その入力された縮尺の地図データを小縮尺用データベー
ス7から読み取り出図を行う。なお、通常の出図を行う
場合には、プロッタ装置11は大縮尺用データベース5
に格納された地図データを読み取って出図を行う。
【0012】図2は、図1に示すデータの圧縮装置の概
略動作を示すフローチャートである。端末10は、大縮
尺用データベース5から対象となる線画レコードを抽出
し、ワークファイル1に展開する(ステップ201)。
そして、ワークファイル1から線画レコードを順次取り
出し配列として展開する(ステップ202)。線画レコ
ードIとレコード全数Nとを比較し(ステップ20
3)、線画レコードIがレコード全数Nよりも小さいか
または等しい場合には、I番目の線画レコードの全ベク
トルの角度範囲番号Eiを算出する(ステップ20
4)。そして、I番目の線画レコードの全ベクトルに対
する滑らかな範囲を角度範囲番号Eiに基づいて算出す
る(ステップ205)。さらに、滑らかである範囲にお
いてデータの圧縮が可能であるか否かを判定し(ステッ
プ206)、圧縮可能な場合にはデータの圧縮を行い
(ステップ207)、圧縮されたデータを小縮尺用デー
タベース7に保存する(ステップ208)。
略動作を示すフローチャートである。端末10は、大縮
尺用データベース5から対象となる線画レコードを抽出
し、ワークファイル1に展開する(ステップ201)。
そして、ワークファイル1から線画レコードを順次取り
出し配列として展開する(ステップ202)。線画レコ
ードIとレコード全数Nとを比較し(ステップ20
3)、線画レコードIがレコード全数Nよりも小さいか
または等しい場合には、I番目の線画レコードの全ベク
トルの角度範囲番号Eiを算出する(ステップ20
4)。そして、I番目の線画レコードの全ベクトルに対
する滑らかな範囲を角度範囲番号Eiに基づいて算出す
る(ステップ205)。さらに、滑らかである範囲にお
いてデータの圧縮が可能であるか否かを判定し(ステッ
プ206)、圧縮可能な場合にはデータの圧縮を行い
(ステップ207)、圧縮されたデータを小縮尺用デー
タベース7に保存する(ステップ208)。
【0013】ステップ206において圧縮ができない場
合、もしくはステップ208の処理が終了するとIを1
増加させ(ステップ209)、ステップ203に移行す
る。ステップ203において線画レコードIがレコード
全数Nよりも大きくなると処理を終了する。
合、もしくはステップ208の処理が終了するとIを1
増加させ(ステップ209)、ステップ203に移行す
る。ステップ203において線画レコードIがレコード
全数Nよりも大きくなると処理を終了する。
【0014】図3は、線画レコードのフォーマット図で
ある。同図に示すように、線画レコードは、ヘッダ3
1、座標数を示す欄32、座標データ33(以下線画デ
ータと称する)および終了データ34からなる。ヘッダ
にはその線画データが実線あるいは点線であるかという
属性データ等が含まれる。なお、このレコードのフォー
マットについては例えば、「パソコンマッピング入門
K・WESTLAND著日刊工業新聞社 79頁」に記
載されている。
ある。同図に示すように、線画レコードは、ヘッダ3
1、座標数を示す欄32、座標データ33(以下線画デ
ータと称する)および終了データ34からなる。ヘッダ
にはその線画データが実線あるいは点線であるかという
属性データ等が含まれる。なお、このレコードのフォー
マットについては例えば、「パソコンマッピング入門
K・WESTLAND著日刊工業新聞社 79頁」に記
載されている。
【0015】なお、線画レコードのフォーマットは、図
3に示すものに限定されることは無い。
3に示すものに限定されることは無い。
【0016】図4は、対象となる線画データを示すもの
であり、9個の点列P1、…P9からなる線画データで
ある。
であり、9個の点列P1、…P9からなる線画データで
ある。
【0017】図5は、大縮尺用データベース5から抽出
されて、ワークファイル1に展開された線画レコードの
フォーマット図である。
されて、ワークファイル1に展開された線画レコードの
フォーマット図である。
【0018】図6は、ワークファイル1から線画レコー
ドが取り出されて、配列として展開された場合の該配列
を示す。ここで、nはレコード番号、xは各点のx座
標、yは各点のy座標を示す。Eは後述する角度範囲番
号である。図7は、この角度範囲番号を示すもので、1
6分割された領域からなり、この領域は、n=0、1、
2、3とするとき、 θ4n =nπ/2 θ4n+1=nπ/2+tan−1(1/2) θ4n+2=nπ/2+tan−11 θ4n+3=nπ/2+tan−12 で表される。そして、16分割された領域に「0」から
「15」までの角度範囲番号Eiが与えられ、ベクトル
Vがこの16分割された領域のいずれの領域に入るかに
よって、そのベクトルにその領域の角度範囲番号Eiが
付けられる。
ドが取り出されて、配列として展開された場合の該配列
を示す。ここで、nはレコード番号、xは各点のx座
標、yは各点のy座標を示す。Eは後述する角度範囲番
号である。図7は、この角度範囲番号を示すもので、1
6分割された領域からなり、この領域は、n=0、1、
2、3とするとき、 θ4n =nπ/2 θ4n+1=nπ/2+tan−1(1/2) θ4n+2=nπ/2+tan−11 θ4n+3=nπ/2+tan−12 で表される。そして、16分割された領域に「0」から
「15」までの角度範囲番号Eiが与えられ、ベクトル
Vがこの16分割された領域のいずれの領域に入るかに
よって、そのベクトルにその領域の角度範囲番号Eiが
付けられる。
【0019】図8は、16分割された領域にあるベクト
ル(x、y)のxの符号およびyの符号と│y/x│の
関係を示す図である。
ル(x、y)のxの符号およびyの符号と│y/x│の
関係を示す図である。
【0020】ステップ204 図9は、図4に示す線画データに角度範囲番号を付した
場合の配列を示すものである。例えば、ベクトルP1P
2の角度範囲番号は、図7より「0」となるので、図9
に示す配列の角度範囲番号Eiの欄に「0」が入る。
場合の配列を示すものである。例えば、ベクトルP1P
2の角度範囲番号は、図7より「0」となるので、図9
に示す配列の角度範囲番号Eiの欄に「0」が入る。
【0021】また、ベクトルP2P3の角度範囲番号
は、図7より「15」となるので、図9に示す配列の角
度範囲番号Eiの欄に「15]が入る。以下、同様にし
て各ベクトルの角度範囲番号Eiが算出される。
は、図7より「15」となるので、図9に示す配列の角
度範囲番号Eiの欄に「15]が入る。以下、同様にし
て各ベクトルの角度範囲番号Eiが算出される。
【0022】図10および図11は、ステップ204の
さらに詳細なフローチャートである。まず、iを1とし
(ステップ1001)、P1の座標(x1、y1)の値
を(x0、y0)に挿入する(ステップ1002)。i
を1増加させ(ステップ1003)、iとレコード数n
とを比較する(ステップ1004)。iがレコード数n
よりも大きい場合には処理を終了する。iがレコード数
nよりも小さいか等しい場合には、xi、yiの値をそ
れぞれxN、yNに入れる(ステップ1005)。そし
て、 A=│(yN−y0)/(xN−x0)│ B=SGN{(xN−x0)・(yN−y0)} を算出する(ステップ1006)。
さらに詳細なフローチャートである。まず、iを1とし
(ステップ1001)、P1の座標(x1、y1)の値
を(x0、y0)に挿入する(ステップ1002)。i
を1増加させ(ステップ1003)、iとレコード数n
とを比較する(ステップ1004)。iがレコード数n
よりも大きい場合には処理を終了する。iがレコード数
nよりも小さいか等しい場合には、xi、yiの値をそ
れぞれxN、yNに入れる(ステップ1005)。そし
て、 A=│(yN−y0)/(xN−x0)│ B=SGN{(xN−x0)・(yN−y0)} を算出する(ステップ1006)。
【0023】このステップ1006の処理は、2点で構
成されるベクトルの勾配の絶対値Aおよび{(xN−x
0)・(yN−y0)}の符号Bを算出するものであ
る。
成されるベクトルの勾配の絶対値Aおよび{(xN−x
0)・(yN−y0)}の符号Bを算出するものであ
る。
【0024】2Aが1よりも小さいか等しい場合には
(ステップ1007)、Iに「0」を代入する(ステッ
プ1008)。2Aが1よりも大きく(ステップ100
7)、Aが1よりも小さいか等しい場合には(ステップ
1009)、Iに「1」を代入する(ステップ101
0)。Aが1よりも大きく(ステップ1009)、Aが
2よりも小さいか等しい場合には(ステップ101
1)、Iに「2」を代入する(ステップ1012)。A
が2よりも大きい場合(ステップ1011)、Iに
「3」を代入する(ステップ1013)。
(ステップ1007)、Iに「0」を代入する(ステッ
プ1008)。2Aが1よりも大きく(ステップ100
7)、Aが1よりも小さいか等しい場合には(ステップ
1009)、Iに「1」を代入する(ステップ101
0)。Aが1よりも大きく(ステップ1009)、Aが
2よりも小さいか等しい場合には(ステップ101
1)、Iに「2」を代入する(ステップ1012)。A
が2よりも大きい場合(ステップ1011)、Iに
「3」を代入する(ステップ1013)。
【0025】次に、Bが0よりも小さく(ステップ10
14)、xが0よりも大きいか等しい場合(ステップ1
015)、IIに「15」を代入し(ステップ101
6)、xが0より小さい場合(ステップ1015)、I
Iに「7」を代入する(ステップ1017)。
14)、xが0よりも大きいか等しい場合(ステップ1
015)、IIに「15」を代入し(ステップ101
6)、xが0より小さい場合(ステップ1015)、I
Iに「7」を代入する(ステップ1017)。
【0026】Bが0より大きいか等しい場合で(ステッ
プ1014)、xが0よりも大きいか等しい場合(ステ
ップ1018)、IIに「0」を代入し(ステップ10
19)、xが0よりも小さい場合(ステップ101
8)、IIに「8」を代入する(ステップ1020)。
そして、(II+B・I)の値を角度範囲番号Eiに代
入する(ステップ1021)。
プ1014)、xが0よりも大きいか等しい場合(ステ
ップ1018)、IIに「0」を代入し(ステップ10
19)、xが0よりも小さい場合(ステップ101
8)、IIに「8」を代入する(ステップ1020)。
そして、(II+B・I)の値を角度範囲番号Eiに代
入する(ステップ1021)。
【0027】ステップ1007からステップ1021ま
での処理は、図8を元にして効率よく角度範囲番号Ei
を算出したものである。
での処理は、図8を元にして効率よく角度範囲番号Ei
を算出したものである。
【0028】次に、角度範囲番号Eiを格納し(ステッ
プ1022)、xN、yNの値をx0、y0に代入し
(ステップ1023)、ステップ1003に移行する。
プ1022)、xN、yNの値をx0、y0に代入し
(ステップ1023)、ステップ1003に移行する。
【0029】ステップ205、206、207 次に、ステップ205、ステップ206、ステップ20
7の処理について説明する。ステップ205からステッ
プ207の処理は、I番目の線画レコードのベクトルに
対する滑らかな範囲を算出し、滑らかな範囲においてデ
ータの圧縮が可能であるか否かを判定し、可能であれば
データの圧縮を行うものである。
7の処理について説明する。ステップ205からステッ
プ207の処理は、I番目の線画レコードのベクトルに
対する滑らかな範囲を算出し、滑らかな範囲においてデ
ータの圧縮が可能であるか否かを判定し、可能であれば
データの圧縮を行うものである。
【0030】ここで、滑らかな範囲とは、連続するベク
トルの方向が図7で示す16分割された領域の同じ領域
もしくは隣接する領域にある場合、それらのベクトルを
滑らかとし、その範囲を滑らかな範囲とする。
トルの方向が図7で示す16分割された領域の同じ領域
もしくは隣接する領域にある場合、それらのベクトルを
滑らかとし、その範囲を滑らかな範囲とする。
【0031】例えば、図12において、ベクトルP1P
2の角度範囲番号は「0」であり、ベクトルP2P3の
角度範囲番号は「15」であり、図7から角度範囲番号
が「0」の領域と「15」の領域は隣接しているので滑
らかと判断する。
2の角度範囲番号は「0」であり、ベクトルP2P3の
角度範囲番号は「15」であり、図7から角度範囲番号
が「0」の領域と「15」の領域は隣接しているので滑
らかと判断する。
【0032】図12、図13は、この場合処理される線
画データを示すものである。
画データを示すものである。
【0033】図12に示すように、ベクトルP1P2、
ベクトルP2P3、ベクトルP3P4が滑らかであると
判定される。また、ベクトルP6P7、ベクトルP7P
8、ベクトルP8P9も滑らかであると判定される。
ベクトルP2P3、ベクトルP3P4が滑らかであると
判定される。また、ベクトルP6P7、ベクトルP7P
8、ベクトルP8P9も滑らかであると判定される。
【0034】次に、滑らかであると判定された範囲にお
いて、データの圧縮が可能かどうかが判定され、圧縮可
能の場合、データの圧縮が行われる。すなわち、滑らか
であると判定された範囲の始端と終端とを通る線分を想
定し、この線分とその間にある点との距離をそれぞれ求
め、閾値δと比較し、閾値δよりも小さい場合には、始
端と終端とを直線で結合して、その中間にある点を無視
する。距離が閾値δよりも大きくなるような点がある場
合、その点を始端または終端として同様の処理を繰り返
す。
いて、データの圧縮が可能かどうかが判定され、圧縮可
能の場合、データの圧縮が行われる。すなわち、滑らか
であると判定された範囲の始端と終端とを通る線分を想
定し、この線分とその間にある点との距離をそれぞれ求
め、閾値δと比較し、閾値δよりも小さい場合には、始
端と終端とを直線で結合して、その中間にある点を無視
する。距離が閾値δよりも大きくなるような点がある場
合、その点を始端または終端として同様の処理を繰り返
す。
【0035】例えば図12において、滑らかであると判
定された範囲で、線分P1P4を想定し、この線分P1
P4と点P2、点P3との距離を求め、閾値δと比較
し、この場合、2つの距離は共に閾値δよりも小さい。
したがって、図13に示すように、点P1と点P4とを
直線で結合する。
定された範囲で、線分P1P4を想定し、この線分P1
P4と点P2、点P3との距離を求め、閾値δと比較
し、この場合、2つの距離は共に閾値δよりも小さい。
したがって、図13に示すように、点P1と点P4とを
直線で結合する。
【0036】もし点P3と線分P1P4との距離が閾値
δよりも大きいとするならば、線分P1P3を想定し、
線分P1P3と点P2の距離を求め、閾値δと比較し、
距離の方が閾値δよりも小さければ、点P1、点P3を
直線で結合する。
δよりも大きいとするならば、線分P1P3を想定し、
線分P1P3と点P2の距離を求め、閾値δと比較し、
距離の方が閾値δよりも小さければ、点P1、点P3を
直線で結合する。
【0037】また点P2と線分P1P4との距離が閾値
δよりも大きいとするならば、線分P2P4を想定し、
この線分P2P4と点P3との距離を求め、閾値δと比
較する。距離の方が閾値δよりも小さければ、点P2P
4を直線で結合する。点P6から点P9までも同様の処
理を行うと、図13に示すように点P6と点P9が直線
で結合される。
δよりも大きいとするならば、線分P2P4を想定し、
この線分P2P4と点P3との距離を求め、閾値δと比
較する。距離の方が閾値δよりも小さければ、点P2P
4を直線で結合する。点P6から点P9までも同様の処
理を行うと、図13に示すように点P6と点P9が直線
で結合される。
【0038】図14、図15は、ステップ205からス
テップ207までの処理を詳細に示すフローチャートで
ある。図16から図19は、この処理の途中の線画デー
タおよび配列を示すものである。
テップ207までの処理を詳細に示すフローチャートで
ある。図16から図19は、この処理の途中の線画デー
タおよび配列を示すものである。
【0039】図14、図15に示すフローチャートにお
いて、iは圧縮しようとするベクトルの始端を示し、i
iは圧縮後の座標データを入れる位置を示す。jは図1
4においてはベクトルの始端iからj番目の座標データ
が滑らかであるかを示すパラメータであり、図15にお
いては、滑らかであるとされた範囲jMAxの間で始端
iからj番目の座標データについて距離を計算するため
のパラメータである。kは計算している座標番号の絶対
位置を示しており、k=i+jである。
いて、iは圧縮しようとするベクトルの始端を示し、i
iは圧縮後の座標データを入れる位置を示す。jは図1
4においてはベクトルの始端iからj番目の座標データ
が滑らかであるかを示すパラメータであり、図15にお
いては、滑らかであるとされた範囲jMAxの間で始端
iからj番目の座標データについて距離を計算するため
のパラメータである。kは計算している座標番号の絶対
位置を示しており、k=i+jである。
【0040】まず、iiに「0」を代入し、iに「1」
を代入する(ステップ1401)。iiを1増加させ
(ステップ1402)、iとnを比較する(ステップ1
403)。iがnよりも小さいときには、jに「0」を
代入し、Eiの値をE0に代入する(ステップ140
4)。jを1増加させ、i+jの値をkに代入し(ステ
ップ1405)、kとnを比較する(ステップ140
6)。
を代入する(ステップ1401)。iiを1増加させ
(ステップ1402)、iとnを比較する(ステップ1
403)。iがnよりも小さいときには、jに「0」を
代入し、Eiの値をE0に代入する(ステップ140
4)。jを1増加させ、i+jの値をkに代入し(ステ
ップ1405)、kとnを比較する(ステップ140
6)。
【0041】kがnよりも小さいか等しい場合は、│E
k−E0│と「1」とを比較し(ステップ1407)、
│Ek−E0│の方が「1」よりも大きい場合、│Ek
−E0│と「15」を比較し(ステップ1408)、│
Ek−E0│の値が「15」でない場合には、jと
「1」を比較する(ステップ1409)。ステップ14
06において、kがnより大きい場合、jおよびkの値
を「1」減じてステップ1409に移行する(ステップ
1430)。
k−E0│と「1」とを比較し(ステップ1407)、
│Ek−E0│の方が「1」よりも大きい場合、│Ek
−E0│と「15」を比較し(ステップ1408)、│
Ek−E0│の値が「15」でない場合には、jと
「1」を比較する(ステップ1409)。ステップ14
06において、kがnより大きい場合、jおよびkの値
を「1」減じてステップ1409に移行する(ステップ
1430)。
【0042】ステップ1407およびステップ1408
の処理は、隣接するベクトルの角度範囲番号が等しい
か、もしくはその角度範囲番号同士が図7の隣接する領
域にある場合には、滑らかであると判断するものであ
る。
の処理は、隣接するベクトルの角度範囲番号が等しい
か、もしくはその角度範囲番号同士が図7の隣接する領
域にある場合には、滑らかであると判断するものであ
る。
【0043】次に、kの値をjjに代入し、jの値をj
MAXに代入する(ステップ1410)。jに「0」を
代入し(ステップ1411)、jを1増加させ(ステッ
プ1412)、jとjMAXを比較する(ステップ14
13)。jがjMAXより小さいか等しい場合、i+j
の値をkに代入する(ステップ1414)。
MAXに代入する(ステップ1410)。jに「0」を
代入し(ステップ1411)、jを1増加させ(ステッ
プ1412)、jとjMAXを比較する(ステップ14
13)。jがjMAXより小さいか等しい場合、i+j
の値をkに代入する(ステップ1414)。
【0044】そして、yjj−yiの値をAに代入し、
−xjj+xiの値をBに代入し、−yjjxi+x
jjyiの値をCに代入し、│Axk+Byk+C│/
(A2+B2)1/2の値をΔに代入する(ステップ1
415)。すなわち、ステップ1415では、点
(xi、yi)と点(xjj、yjj)を結ぶ線分と、
点(xk、yk)との距離Δが算出される。
−xjj+xiの値をBに代入し、−yjjxi+x
jjyiの値をCに代入し、│Axk+Byk+C│/
(A2+B2)1/2の値をΔに代入する(ステップ1
415)。すなわち、ステップ1415では、点
(xi、yi)と点(xjj、yjj)を結ぶ線分と、
点(xk、yk)との距離Δが算出される。
【0045】Δとδとを比較し(ステップ1416)、
Δの方がδよりも小さいか等しい場合、ステップ141
2に移行する。Δの方がδよりも大きい場合、jと1を
比較する(ステップ1417)。jが1よりも大きい場
合、jjおよびjMAXの値を1減じて(ステップ14
18)、ステップ1411に移行する。
Δの方がδよりも小さいか等しい場合、ステップ141
2に移行する。Δの方がδよりも大きい場合、jと1を
比較する(ステップ1417)。jが1よりも大きい場
合、jjおよびjMAXの値を1減じて(ステップ14
18)、ステップ1411に移行する。
【0046】ステップ1407において、│Ek−E0
│の値が1より小さいか等しい場合、ステップ1408
において、│Ek−E0│の値が15に等しい場合、ス
テップ1409において、jの値が1に等しい場合、ま
たはステップ1417において、jの値が1に等しい場
合には、xi、yiの値をそれぞれxii、yiiに代
入し、kの値をiに代入する(ステップ1419)。
│の値が1より小さいか等しい場合、ステップ1408
において、│Ek−E0│の値が15に等しい場合、ス
テップ1409において、jの値が1に等しい場合、ま
たはステップ1417において、jの値が1に等しい場
合には、xi、yiの値をそれぞれxii、yiiに代
入し、kの値をiに代入する(ステップ1419)。
【0047】ステップ1403において、iの値がnよ
り大きいか等しくなると、ii−1の値をnに代入して
(ステップ1420)、処理を終了する。
り大きいか等しくなると、ii−1の値をnに代入して
(ステップ1420)、処理を終了する。
【0048】図16、図17は、図12に示す線画デー
タの圧縮処理の途中状態にある線画データおよび配列を
示すものである。すなわち、この状態においては、前述
した処理に従い点P2、P3が省略され、点P1と点P
4が直線で結合され、さらに点P6から点P9までが滑
らかであると判定され、点P6から点P9を圧縮できる
か否かを判定している状態である。
タの圧縮処理の途中状態にある線画データおよび配列を
示すものである。すなわち、この状態においては、前述
した処理に従い点P2、P3が省略され、点P1と点P
4が直線で結合され、さらに点P6から点P9までが滑
らかであると判定され、点P6から点P9を圧縮できる
か否かを判定している状態である。
【0049】すなわち、図16に示すように、座標デー
タとしては(x1、y1)に続き、(x4、y4)が現
れ、点P1と点P4が直線で結合されている。さらに、
座標データ(x5、y5)、(x6、y6)が滑らかな
点列でないため存在する。次の(x5、y5)は、ii
=5の場合の圧縮後の座標データを入れるために設けら
れている。そして、後続する(x6、y6)から
(x9、y9)が処理されようとしている。
タとしては(x1、y1)に続き、(x4、y4)が現
れ、点P1と点P4が直線で結合されている。さらに、
座標データ(x5、y5)、(x6、y6)が滑らかな
点列でないため存在する。次の(x5、y5)は、ii
=5の場合の圧縮後の座標データを入れるために設けら
れている。そして、後続する(x6、y6)から
(x9、y9)が処理されようとしている。
【0050】点P6から点P9までの処理が開始される
と、図13に示すように点P7と点P8が無視されて、
点P6と点P9が結合される。
と、図13に示すように点P7と点P8が無視されて、
点P6と点P9が結合される。
【0051】図18は、この時の座標データを示し、図
19は、この時の配列を示す。
19は、この時の配列を示す。
【0052】このようにして本実施例では、大縮尺用デ
ータベース5に保存されている地図データを小縮尺用の
データに変換して、小縮尺用データベース7に保存す
る。したがって、小縮尺用データを出図したい場合に
は、コントローラ13から指示を行えば、直ちにその縮
尺の地図データが小縮尺用データベース7から読み取ら
れ、プロッタ装置11から出図される。このため、プロ
ッタ装置の記憶装置を拡張することなく、短時間で所望
の小縮尺の出図を行うことができる。
ータベース5に保存されている地図データを小縮尺用の
データに変換して、小縮尺用データベース7に保存す
る。したがって、小縮尺用データを出図したい場合に
は、コントローラ13から指示を行えば、直ちにその縮
尺の地図データが小縮尺用データベース7から読み取ら
れ、プロッタ装置11から出図される。このため、プロ
ッタ装置の記憶装置を拡張することなく、短時間で所望
の小縮尺の出図を行うことができる。
【0053】
【発明の効果】以上、詳細に説明したように本発明によ
れば、効率よく小縮尺用の地図データを生成して、これ
を保持するデータの圧縮装置を提供することができる。
れば、効率よく小縮尺用の地図データを生成して、これ
を保持するデータの圧縮装置を提供することができる。
【図1】 本発明の一実施例に係るデータの圧縮装置を
有するシステムの概略構成図
有するシステムの概略構成図
【図2】 本実施例に係るデータの圧縮装置の概略動作
を示すフローチャート
を示すフローチャート
【図3】 レコードフォーマットを示す図
【図4】 対象となる線画データを示す図
【図5】 図4に示す線画データの座標データを示す図
【図6】 図5の座標データを有する配列を示す図
【図7】 16分割された領域を示す図
【図8】 16分割された領域にあるベクトル(x、
y)のxの符号およびyの符号と│y/x│の関係を示
す図
y)のxの符号およびyの符号と│y/x│の関係を示
す図
【図9】 角度範囲番号が算出された時の配列を示す図
【図10】 ステップ204の処理を詳細に示すフロー
チャート
チャート
【図11】 ステップ204の処理を詳細に示すフロー
チャート
チャート
【図12】 図4に示す線画データの圧縮を示す図
【図13】 圧縮された線画データを示す図
【図14】 ステップ205、206、207の処理を
示すフローチャート
示すフローチャート
【図15】 ステップ205、206、207の処理を
示すフローチャート
示すフローチャート
【図16】 計算途中の座標データを示す図
【図17】 図16に示す座標データを有する配列を示
す図
す図
【図18】 圧縮処理された座標データを示す図
【図19】 図18に示す座標データを有する配列を示
す図
す図
1………ワークファイル 3………アプリケーションプログラム 5………大縮尺用データベース 7………小縮尺用データベース 9………ホストコンピュータ 10………端末
Claims (6)
- 【請求項1】 点列の滑らかな範囲を算出する算出手段
と、 前記算出手段により算出された滑らかな範囲の点列を一
線分で置換できるかを判定し、置換できる場合、該点列
を一線分で置換して点列の圧縮を行う圧縮手段と、 を具備するデータの圧縮装置。 - 【請求項2】 前記点列の連続する2点でベクトルを構
成するとき、 前記算出手段は連続するベクトルの方向の差が所定の閾
値以内にあるとき滑らかであるとして滑らかな範囲を算
出するものである請求項1記載のデータの圧縮装置。 - 【請求項3】 前記ベクトルの方向を算出する際に1/
16分割された領域のどの領域に該ベクトルの方向があ
るかにより前記ベクトルの方向を算出する請求項2記載
のデータの圧縮装置。 - 【請求項4】 前記1/16分割された領域は、 n=0、1、2、3とするとき、 θ4n =nπ/2 θ4n+1=nπ/2+tan−1(1/2) θ4n+2=nπ/2+tan−11 θ4n+3=nπ/2+tan−12 により決定される請求項3記載のデータの圧縮装置。
- 【請求項5】 前記算出手段は、 連続するベクトルの方向が前記1/16分割された領域
の同じ領域または隣接する領域にある場合、滑らかであ
るとする請求項3記載のデータの圧縮装置。 - 【請求項6】 前記圧縮手段は、 滑らかな範囲にある点列の2点間を直線で連結し、この
2点間の間にある点と前記直線との距離が所定の閾値以
内であれば、2点間の間にある点を無視して2点間を直
線で連結するものである請求項1記載のデータの圧縮装
置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP24541992A JPH0652305A (ja) | 1992-07-31 | 1992-07-31 | データの圧縮装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP24541992A JPH0652305A (ja) | 1992-07-31 | 1992-07-31 | データの圧縮装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0652305A true JPH0652305A (ja) | 1994-02-25 |
Family
ID=17133379
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP24541992A Pending JPH0652305A (ja) | 1992-07-31 | 1992-07-31 | データの圧縮装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0652305A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100250997B1 (ko) * | 1997-04-28 | 2000-04-15 | 이계철 | 지리정보 시스템을 위한 벡터 도면 데이타 축약 방법 |
JP2009095677A (ja) * | 2007-10-17 | 2009-05-07 | Sony Computer Entertainment Inc | デジタル・イメージ・キャプチャを用いて対話型エンタテインメントのためにアセットを生成する方法 |
-
1992
- 1992-07-31 JP JP24541992A patent/JPH0652305A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100250997B1 (ko) * | 1997-04-28 | 2000-04-15 | 이계철 | 지리정보 시스템을 위한 벡터 도면 데이타 축약 방법 |
JP2009095677A (ja) * | 2007-10-17 | 2009-05-07 | Sony Computer Entertainment Inc | デジタル・イメージ・キャプチャを用いて対話型エンタテインメントのためにアセットを生成する方法 |
US8395614B2 (en) | 2007-10-17 | 2013-03-12 | Sony Computer Entertainment Inc. | Generating an asset for interactive entertainment using digital image capture |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH0652305A (ja) | データの圧縮装置 | |
JP3250841B2 (ja) | 図形データの処理方法及び装置 | |
JPS61107468A (ja) | 文書編集方式 | |
JPH081553B2 (ja) | 画像データの圧縮方式 | |
JPH0351894A (ja) | ベクトルフオントによる文字パターン発生機能を備えた情報処理装置 | |
JPH0652288A (ja) | 地図データの圧縮装置 | |
JPH09319828A (ja) | オンライン文字認識装置 | |
JPS63208898A (ja) | 文字処理装置 | |
JP2795047B2 (ja) | 解析入力データ作成処理装置 | |
JP2507812B2 (ja) | 平方根計算方法 | |
JP2993880B2 (ja) | 電子ファイル装置 | |
US5680153A (en) | Image Processing apparatus | |
JP2968617B2 (ja) | Cad装置 | |
JP2833921B2 (ja) | ベクトルフォント変形処理方式 | |
JPH0776988B2 (ja) | 直線描画装置 | |
JP3057959B2 (ja) | データ変換装置 | |
JP2740506B2 (ja) | 画像認識方法 | |
KR900002811B1 (ko) | 문자, 화상 데이터의 압축방법 | |
JPH06290272A (ja) | 高速マッチング方式 | |
JPH056209A (ja) | 数値制御装置 | |
JP2854588B2 (ja) | ラスタベクタ変換方法及び線図形入力装置 | |
JP3137857B2 (ja) | オンライン手書き文字認識装置 | |
JPH07203178A (ja) | 画像データ処理方法 | |
JPH10255042A (ja) | 点パターン正規化方法及び装置 | |
JPH06110445A (ja) | 漢字生成装置 |