説明

線図の圧縮処理プログラム及び閉図形の分割処理プログラム

【課題】線図の精度を保持したまま頂点を間引くことができてデータ量を圧縮可能とする圧縮処理プログラムを提供する。
【解決手段】複数の頂点を繋いで生成された線図の頂点を間引いてデータ量を圧縮するに際し、線図の各頂点に頂点からの一定距離であるしきい値を設定し、間引き可能か否かの判定対象とする注目頂点の両側に位置する頂点同士を繋いだ線と注目頂点との間の最短長さがしきい値よりも小さい場合にその注目頂点を間引く手段としてコンピュータを機能させる線図の圧縮処理プログラム1において、互いに異なる一対の線図のうちの一方の線図の頂点と他方の線図の線分との間の最短長さが所定値よりも短い場合に上記しきい値を小さくするよう修正する手段としてコンピュータを機能させるしきい値調整処理プログラムを備えたことを特徴とする。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、線図の精度を保持したまま頂点を間引くことができてデータ量を圧縮可能とする圧縮処理プログラム等に関する。
【背景技術】
【0002】
SVG(Scalable Vector Graphics)形式やその他の形式の地図データにおいて、複数の頂点を繋いで生成された線図の頂点を間引いて地図データの容量を圧縮する方法として、Douglas−Peuckerアルゴリズム(以下、DP法という)が知られている(例えば、非特許文献1参照)。
図16を参照し、DP法を説明する。間引き処理の対象となる線図、即ち、始点となる頂点から終点となる頂点までの間において複数の頂点を繋いで生成された線図において、始点となる頂点a及び終点となる頂点z以外の各頂点b,c,d・・・・iには、頂点を間引くことが可能か否かの基準となるしきい値εが設定される。このしきい値εは、ε=A×Bで求めた値である。尚、Aは対象となる地図の縮尺の母数、Bは地図縮尺毎に決められた要求精度である。各頂点T(b,c,d・・・・i)のそれぞれには、図16(a);図17に示すように、頂点Tを中心としてしきい値εを半径寸法としたしきい値円Rが設定される。即ち、DP法による線図の圧縮処理プログラムは、線図の各頂点に頂点からの一定距離であるしきい値εが設定され、間引き可能か否かの判定対象とする注目頂点の両側に位置する頂点同士を繋いだ線と注目頂点との間の最短長さがしきい値よりも小さい場合にその注目頂点を間引く手段としてコンピュータを機能させるものである。つまり、図17に示すように、注目頂点を間引くことができるか否かは、コンピュータが、注目頂点に設定されるしきい値円と注目頂点の両側に位置する頂点同士を繋いだ線分とが交わるか否かを判断し、しきい値円と線分とが交わる場合にはその注目頂点を間引くことが可能であると判定し、しきい値円と線分とが交わらない場合にはその注目頂点を間引くことができないと判定する。
以下、図16を参照し、DP法の手順を説明する。まず、図16(b)のように、線分の始点となる頂点aと終点となる頂点zとを直線a1で繋ぐ。線分中の各頂点と直線a1とを結ぶ直線a1と直交する直交線(垂線)の長さの最長のものを求める。ここで最長の直交線の長さ、つまり、頂点cと直線a1との間の最短距離が頂点cのしきい値εよりも大きく、直線a1と頂点cのしきい値円Rとが交差しないので、頂点cは間引かれずに残る。図16(c)のように、頂点cと頂点a(始点)とを直線a2で繋ぐと共に頂点cと頂点z(終点)とを直線a3で繋ぐ。頂点bと直線a2との間の最短距離が頂点bのしきい値εよりも大きく、直線a2と頂点bのしきい値円Rとが交差するので、図16(d)の白丸で示すように、頂点bは間引かれる(削除される)。頂点cから頂点zまでの間の頂点のうち、直線a3と直交する直交線の長さの最長の頂点eを求める。直線a3と頂点eのしきい値円Rとが交差しないので、図16(d)に示すように、頂点eは間引かれずに残る。頂点eと頂点cとを直線a4で繋ぐと共に頂点eと頂点zとを直線a5で繋ぐ。直線a4と頂点dのしきい値円Rとが交差するので、頂点dは図16(e)のように間引かれる。頂点eから頂点zまでの間の頂点のうち、直線a5と直交する直交線の長さの最長の頂点gを求める。直線a5と頂点gのしきい値円Rとが交差しないので、頂点gは間引かれずに残る。頂点gと頂点eとを直線a6で繋ぐと共に頂点gと頂点zとを直線a7で繋ぐ。直線a5と頂点fのしきい値円Rとが交差するので、頂点fは間引かれる。頂点gから頂点zまでの間の頂点のうち、直線a7と直交する直交線の長さの最長の頂点iを求める。直線a7と頂点iのしきい値円Rとが交差しないので、図16(d)のように、頂点iは間引かれずに残る。頂点iと頂点gとを直線a8で繋ぐと共に頂点iと頂点zとを直線a9で繋ぐ。直線a8と頂点hのしきい値円Rとが交差するので、頂点hは間引かれる。
また、DP法では、閉図形のままでは図形の始点と終点とがわからないので間引き処理を行うことができないので、間引き処理の対象が閉図形の場合には、閉図形をいくつかの線図に分割した後にその線図毎に間引き処理を行った後に、間引き処理後の線図を再び連結する。
即ち、DP法による圧縮処理プログラムの手順は次のとおりである。まず、線分の始点となる頂点と終点となる頂点とを直線で繋いでこの直線と最も離れた頂点を最初の注目頂点としてこの注目頂点のしきい値円と直線とが交差するか否かを判定し、交差する場合は、当該線分の各頂点はすべて間引きされる。すなわち、始点と終点とだけが残り、間引き後の線分は、始点と終点とを繋ぐ直線となる。注目頂点のしきい値円と直線とが交差しない場合には、注目頂点が間引かれずに残る。当該頂点が残ったら、当該頂点と始点とが直線で繋がれ、この直線と最も離れた頂点を注目頂点としてこの注目頂点のしきい値円と直線とが交差するか否かを判定し、交差する場合は、当該注目頂点と始点との間の各頂点はすべて間引きされる。注目頂点のしきい値円と直線とが交差しない場合には、注目頂点が間引かれずに残る。以上のような、注目頂点のしきい値円と直線とが交差するか否かの判断を、注目頂点がなくなるまで行う。
【非特許文献1】Duglas D. and Peucker.T.,1973,Algorithms for the reduction of the number of points required for represent a digitzed line or caricature, Canadian Cartographer,10,112−122
【発明の開示】
【発明が解決しようとする課題】
【0003】
しかしながら、DP法によれば、各頂点において一定のしきい値εを用いるために、間引き処理において、図18に示すように、間引き処理後の線図11Aと線図12Aとが交差したり、図19に示すように、線図の角部の頂点50が除去されてしまうことがあった。例えば、図20(a)に示す閉図形Zの場合、形状を維持するために頂点51;52を間引きたくはない。しかしななら、図20(b)〜(d)に示すように、DP法で間引き処理を行っていくと、分割点60;61以外の図形の全ての各頂点のしきい値ε(しきい値円R)が一定であるため、頂点51;52も間引かれてしまい、間引き後の閉図形ZAは元の閉図形Zの形状を維持できなくなってしまう。即ち、線図の精度を維持したまま線図の頂点を間引いてデータ量を圧縮することが困難であった。
また、閉図形の分割処理は、閉図形の頂点を複数個毎に分けることによって複数の線図に分割しているため、分割の仕方によって、間引き処理後の閉図形が元の閉図形の形状とかけ離れてしまい、元の閉図形の形状が維持されなくなってしまう。
本発明は、上記課題に鑑みてなされたもので、線図の精度を保持したまま頂点を間引くことができてデータ量を圧縮可能とする圧縮処理プログラム、及び、間引き処理後に、元の閉図形において形状を維持することが必要な部分の形状を維持した閉図形を得ることができる閉図形の分割処理プログラムを提供する。
【課題を解決するための手段】
【0004】
本発明の線図の圧縮処理プログラムは、複数の頂点を繋いで生成された線図の頂点を間引いてデータ量を圧縮するに際し、線図の各頂点に頂点からの一定距離であるしきい値を設定し、間引き可能か否かの判定対象とする注目頂点の両側に位置する頂点同士を繋いだ線と注目頂点との間の最短長さがしきい値よりも小さい場合にその注目頂点を間引く手段としてコンピュータを機能させる線図の圧縮処理プログラムにおいて、互いに異なる一対の線図のうちの一方の線図の頂点と他方の線図の線分との間の最短長さが所定値よりも短い場合に上記しきい値を小さくするよう修正する手段としてコンピュータを機能させるしきい値調整処理プログラムを備えたことを特徴とする。
しきい値調整処理プログラムは、互いに異なる一対の線図の頂点同士を繋いで不等辺三角形網を生成する手段としてコンピュータを機能させる不等辺三角形網生成処理プログラムと、注目頂点と向かい合う三角形の対辺が線図上にある場合には注目頂点とその三角形の対辺との最短長さを修正値として求め、注目頂点と向かい合う三角形の対辺が線図上にない場合には注目頂点を含む三角形において注目頂点と注目頂点を含まない線図上の頂点とを繋ぐ二辺のうち長さの短い辺の長さを修正値として求める手段としてコンピュータを機能させる修正値計算処理プログラムと、上記修正値に0.5以下の係数をかけた修正しきい値を算出する手段としてコンピュータを機能させる修正しきい値算出処理プログラムと、注目頂点の上記しきい値と修正しきい値とを比較して小さい方を注目頂点のしきい値として設定する手段としてコンピュータを機能させるしきい値設定処理プログラムとを備えたことも特徴とする。
本発明の線図の圧縮処理プログラムは、注目頂点から一方の頂点に繋がれた一方線分と注目頂点から他方の頂点に繋がれた他方線分とのなす角度が90°に近いほど上記しきい値を小さくするよう修正する手段としてコンピュータを機能させるしきい値調整処理プログラムを備えたことを特徴とする。
本発明の線図の圧縮処理プログラムは、注目頂点から一方の頂点に繋がれた一方線分及び注目頂点から他方の頂点に繋がれた他方線分のうち長さの短い方の線分の長さと上記しきい値とを比較し、当該線分の長さが上記しきい値よりも小さくかつ当該線分の長さと上記しきい値との差が大きいほど上記しきい値を大きくするよう修正する手段としてコンピュータを機能させるしきい値調整処理プログラムを備えたことを特徴とする。
本発明の線図の圧縮処理プログラムは、注目頂点の上記しきい値に修正係数をかけて算出した修正しきい値を注目頂点のしきい値として設定する手段としてコンピュータを機能させるしきい値調整処理プログラムを備え、しきい値調整処理プログラムは、修正係数算出プログラムを備え、修正係数算出プログラムは、注目頂点から一方の頂点に繋がれた一方線分と注目頂点から他方の頂点に繋がれた他方線分とのなす角度が90°に近いほど小さく設定された第1修正係数と、注目頂点から一方の頂点に繋がれた一方線分及び注目頂点から他方の頂点に繋がれた他方線分のうち長さの短い方の線分の長さが上記しきい値よりも小さくかつ当該線分の長さと上記しきい値との差が大きいほど大きく設定された第2正係数と、を用いて注目頂点の上記修正係数を算出する手段としてコンピュータを機能させることを特徴とする。
本発明の閉図形の分割処理プログラムは、複数の頂点を繋いで生成された閉図形を複数の線図に分割する手段としてコンピュータを機能させる閉図形の分割処理プログラムにおいて、閉図形の各頂点毎にその頂点を分割点とするか否かを決定するための判定要素を算出する手段としてコンピュータを機能させる判定要素算出処理プログラムと、各頂点毎の判定要素に基づいて分割点を決定する手段としてコンピュータを機能させる分割点決定処理プログラムとを備えたことを特徴とする。
判定要素算出処理プログラムは、判定要素を算出する対象となる注目頂点から一方の頂点に繋がれた一方線分と注目頂点から他方の頂点に繋がれた他方線分とのなす角度を判定要素として算出する手段としてコンピュータを機能させ、分割点決定処理プログラムは、頂点の判定要素としての角度が90°に近いほどその頂点を分割点候補として上位にランク付けして、上位にランク付けされた頂点を分割点として決定する手段としてコンピュータを機能させることも特徴とする。
判定要素算出処理プログラムは、判定要素を算出する対象となる注目頂点から一方の頂点に繋がれた一方線分及び注目頂点から他方の頂点に繋がれた他方線分のうち長さの短い方の線分の長さを判定要素として算出する手段としてコンピュータを機能させ、分割点決定処理プログラムは、頂点の判定要素としての長さが長いほどその注目頂点を分割点候補として上位にランク付けして、上位にランク付けされた頂点を分割点として決定する手段としてコンピュータを機能させることも特徴とする。
判定要素算出処理プログラムは、判定要素を算出する対象となる注目頂点から一方の頂点に繋がれた一方線分と注目頂点から他方の頂点に繋がれた他方線分とのなす角度を判定要素として算出する手段、及び、判定要素を算出する対象となる注目頂点から一方の頂点に繋がれた一方線分及び注目頂点から他方の頂点に繋がれた他方線分のうち長さの短い方の線分の長さを判定要素として算出する手段としてコンピュータを機能させ、分割点決定処理プログラムは、頂点の第1判定要素としての角度が90°に近いほどその頂点を分割点候補として上位にランク付けする手段、頂点の第2判定要素としての長さが長いほどその注目頂点を分割点候補として上位にランク付けする手段、及び、各頂点に関しての第1判定要素のランク及び第2判定要素のランクを総合して総合ランク上位の頂点を分割点として決定する手段としてコンピュータを機能させることも特徴とする。
【発明の効果】
【0005】
本発明の線図の圧縮処理プログラムによれば、しきい値調整処理プログラムを備えたので、線図の精度を保持したまま頂点を間引くことができてデータ量を圧縮できる。
しきい値調整処理プログラムが、不等辺三角形網生成処理プログラムと、修正値計算処理プログラムと、修正しきい値算出処理プログラムと、しきい値設定処理プログラムとを備えたので、一方の線図上にある注目頂点と他方の線図とが近い場合、その注目頂点のしきい値を元のしきい値よりも適切に小さくできるので、その注目頂点が間引かれにくくなり、間引き処理後の一方の線図と他方の線図との交差を防止でき、線図の精度を保持したままデータ量を圧縮できる。
本発明の線図の圧縮処理プログラムによれば、注目頂点から一方の頂点に繋がれた一方線分と注目頂点から他方の頂点に繋がれた他方線分とのなす角度が90°に近いほど上記しきい値を小さくするよう修正する手段としてコンピュータを機能させるしきい値調整処理プログラムを備えたので、元の線図において形状を維持することが必要な部分の形状を維持できるとともに、データを圧縮できる。特に、各頂点間の長さに差がないような線図を間引き処理する場合に有効である。
本発明の線図の圧縮処理プログラムによれば、注目頂点から一方の頂点に繋がれた一方線分及び注目頂点から他方の頂点に繋がれた他方線分のうち長さの短い方の線分の長さが、上記しきい値よりも小さくかつ当該線分の長さと上記しきい値との差が大きいほど上記しきい値を大きくするよう修正する手段としてコンピュータを機能させるしきい値調整処理プログラムを備えたので、元の線図において形状を維持することが必要な部分の形状を維持できるとともに、データを圧縮できる。特に、曲線が多くて90°に近い角部分が少ないような線図を間引き処理する場合に有効である。
本発明の線図の圧縮処理プログラムによれば、注目頂点から一方の頂点に繋がれた一方線分と注目頂点から他方の頂点に繋がれた他方線分とのなす角度が90°に近いほど小さく設定された第1修正係数と、注目頂点から一方の頂点に繋がれた一方線分及び注目頂点から他方の頂点に繋がれた他方線分のうち長さの短い方の線分の長さが上記しきい値よりも小さくかつ当該線分の長さと上記しきい値との差が大きいほど大きく設定された第2正係数と、を用いて注目頂点の上記修正係数を算出する手段としてコンピュータを機能させる修正係数算出プログラムを備えたので、元の線図において形状を維持することが必要な部分の形状を適切に維持できるとともに、データを圧縮できる。
本発明の閉図形の分割処理プログラムは、複数の頂点を繋いで生成された閉図形を複数の線図に分割する手段としてコンピュータを機能させる閉図形の分割処理プログラムにおいて、閉図形の各頂点毎にその頂点を分割点とするか否かを決定するための判定要素を算出する手段としてコンピュータを機能させる判定要素算出処理プログラムと、各頂点毎の判定要素に基づいて分割点を決定する手段としてコンピュータを機能させる分割点決定処理プログラムとを備えたので、間引き処理後に、元の閉図形において形状を維持することが必要な部分の形状を維持した閉図形を得ることができる。
判定要素算出処理プログラムは、判定要素を算出する対象となる注目頂点から一方の頂点に繋がれた一方線分と注目頂点から他方の頂点に繋がれた他方線分とのなす角度を判定要素として算出する手段としてコンピュータを機能させ、分割点決定処理プログラムは、頂点の判定要素としての角度が90°に近いほどその頂点を分割点候補として上位にランク付けして、上位にランク付けされた頂点を分割点として決定する手段としてコンピュータを機能させるので、間引き処理後に、元の閉図形において形状を維持することが必要な部分の形状を維持した閉図形を得ることができる。特に、各頂点間の長さに差がないような閉図形を分割する場合に有効である。
判定要素算出処理プログラムは、判定要素を算出する対象となる注目頂点から一方の頂点に繋がれた一方線分及び注目頂点から他方の頂点に繋がれた他方線分のうち長さの短い方の線分の長さを判定要素として算出する手段としてコンピュータを機能させ、分割点決定処理プログラムは、頂点の判定要素としての長さが長いほどその注目頂点を分割点候補として上位にランク付けして、上位にランク付けされた頂点を分割点として決定する手段としてコンピュータを機能させるので、元の閉図形において形状を維持することが必要な部分の形状を維持した閉図形を得ることができる。特に、曲線が多くて90°に近い角部分が少ないような閉図形を分割する場合に有効である。
判定要素算出処理プログラムは、判定要素を算出する対象となる注目頂点から一方の頂点に繋がれた一方線分と注目頂点から他方の頂点に繋がれた他方線分とのなす角度を判定要素として算出する手段、及び、判定要素を算出する対象となる注目頂点から一方の頂点に繋がれた一方線分及び注目頂点から他方の頂点に繋がれた他方線分のうち長さの短い方の線分の長さを判定要素として算出する手段としてコンピュータを機能させ、分割点決定処理プログラムは、頂点の第1判定要素としての角度が90°に近いほどその頂点を分割点候補として上位にランク付けする手段、頂点の第2判定要素としての長さが長いほどその注目頂点を分割点候補として上位にランク付けする手段、及び、各頂点に関しての第1判定要素のランク及び第2判定要素のランクを総合して総合ランク上位の頂点を分割点として決定する手段としてコンピュータを機能させるので、間引き処理後に、元の閉図形において形状を維持することが必要な部分の形状を維持した閉図形を適切に得ることができる。
【発明を実施するための最良の形態】
【0006】
最良の形態1
図1乃至図6は本発明の最良の形態1を示す。図1は圧縮処理装置の構成を示し、図2は線図の頂点を繋いで不等辺三角形網を生成した状態を示し、図3は修正値の算出方法を説明し、図4;図5は間引き処理の手順を示し、図6は間引き処理後の線図を示す。
【0007】
最良の形態1による線図の圧縮処理装置1は、しきい値調整処理手段2、間引き処理手段3を備える。しきい値調整処理手段2は、不等辺三角形網生成処理手段4(以下、TIN(Triangulated Irregular Network)生成処理手段という)、修正値算出処理手段5、修正しきい値算出処理手段6、しきい値設定処理手段7を備える。
【0008】
圧縮処理装置1は、コンピュータと圧縮処理プログラムとにより実現される。間引き処理手段3は、コンピュータと間引き処理プログラムとにより実現される。間引き処理プログラムは、線図上において間引き可能か否かの判定対象とする注目頂点の両側に位置する頂点同士を繋いだ線と注目頂点との間の最短長さがしきい値よりも小さい場合にその注目頂点を間引く手段としてコンピュータを機能させる。TIN生成処理手段4は、コンピュータとTIN生成処理プログラムとにより実現される。TIN生成処理プログラムは、互いに異なる一対の線図の頂点同士を繋いで不等辺三角形網を生成する手段としてコンピュータを機能させる。修正値算出処理手段5は、コンピュータと修正値算出処理プログラムとにより実現される。修正値算出処理プログラムは、注目頂点と向かい合う三角形の対辺が線図上にある場合には注目頂点とその三角形の対辺との最短の長さを修正値として求め、注目頂点と向かい合う三角形の対辺が線図上にない場合には注目頂点を含む三角形において注目頂点と注目頂点を含まない線図上の頂点とを繋ぐ二辺のうちの長さの短い辺の長さを修正値として求める手段としてコンピュータを機能させる。修正しきい値算出処理手段6は、コンピュータと修正しきい値算出処理プログラムとにより実現される。修正しきい値算出処理プログラムは、修正値ε又はεに0.3以上0.5以下の係数αをかけた修正しきい値εjを算出する手段としてコンピュータを機能させる。しきい値設定処理手段7は、コンピュータとしきい値設定処理プログラムとにより実現される。しきい値設定処理プログラムは、注目頂点の元しきい値εと修正しきい値εjとを比較して小さい方を注目頂点のしきい値Εとして設定する手段としてコンピュータを機能させる。
【0009】
尚、本発明で言うコンピュータとは、CPU、主記憶装置、外部記憶装置などのハードウエアおよびオペレーティングシステムのような基本ソフトウエアなどからなるコンピュータのことであり、上記各プログラムに基づいて上記各手段を実現する装置を指す。
【0010】
次に線図の処理方法を説明する。まず、地図において間引き処理の対象となる範囲が指定されると、TIN生成処理手段4が、範囲内の互いに異なる一対の線図11;12の頂点13同士を繋いで不等辺三角形網を生成する(図2参照)。次に、修正値算出処理手段5が、注目頂点と向かい合う三角形の対辺が線図11;12上にあるか否かを判定した後に、注目頂点と向かい合う三角形の対辺があると判定した場合は、例えば、図3に示すように、注目頂点13aと向かい合う三角形の対辺12aと直交してかつ注目頂点13aに到達する垂線14を引き、垂線14の長さx1(即ち、注目頂点13aとその対辺12aとを繋ぐ最短の長さ)を修正値εとして算出する。そして、修正しきい値算出処理手段6が、修正値εに例えば係数α=0.4をかけた修正しきい値εj=ε×αを算出する。つぎに、しきい値設定処理手段7が、注目頂点13aの元しきい値εと修正しきい値εjとを比較して小さい方を注目頂点13aのしきい値Εとして設定し、その設定された注目頂点13aのしきい値Εを半径とするしきい値円15を注目頂点13aを中心として設定する。
尚、修正値算出処理手段5は、注目頂点と向かい合う三角形の対辺が線図11;12上にないと判定した場合、注目頂点を含む三角形において注目頂点と注目頂点を含まない線図11;12上の頂点とを繋ぐ二辺の長さを求め、二辺の長さのうちの短い辺の長さx2を修正値εとして算出し、修正しきい値算出処理手段6は、修正値εに例えば係数α=0.4をかけた修正しきい値εj=ε×αを算出する。
【0011】
図4(a)に、しきい値設定処理手段7により設定された各頂点のしきい値Εを半径としたしきい値円15を各頂点毎に設定した状態を示す。
【0012】
そして、間引き処理手段3が、従来と同じように間引き処理を行う。この間引き処理を図4(b)〜(d)、図5(a);(b)を参照して説明する。尚、線図11;12の頂点の間引き処理は同じなので、以下、線図11の頂点の間引き処理についてのみ説明する。まず、図4(b)に示すように、線図11において、始点と終点とを繋ぐ直線16を引き、この直線16から最も離れた頂点17を求める。頂点17のしきい値円15と直線16とが交差しないので、この頂点17は間引かれない(削除されない)。図4(c)に示すように、頂点17と始点とを直線19で繋ぎ、この直線19から最も離れた頂点20を求める。この頂点20のしきい値円15と直線19とが交差するので、この頂点20は間引かれる(削除される)。尚、頂点17と始点との間の各頂点はすべて間引かれる。また、頂点17と終点とを直線23で繋ぎ、この直線23から最も離れた頂点24を求める。頂点24のしきい値円15は従来の元しきい値εによるしきい値円Rよりも小さくなっている。従来、図18に示すように、頂点24のしきい値円Rと直線23とが交差していたので、この頂点24は間引かれ、このため、直線23が残って、この直線23と線図12の頂点25とが交差してしまっていた。一方、本発明では、頂点24のしきい値円15と直線23とが交差しないので、頂点24が残り、このため、線図12の頂点25と線図11とが交差しない。以下、図4(d)に示すように、頂点26のしきい値円15と直線26aとが交差しないので、頂点26が残り、図5(a);(b)に示すように、頂点27のしきい値円15と直線27aとが交差しないので、従来、間引きされていた頂点27も残る。即ち、従来、交差してしまっていた頂点25と線図11とが交差せず、しかも、地図データの精度も保たれる間引き処理を行える。図6に間引き処理後の線図11A;12Aを示す。図6に示すように、最良の形態1による間引き処理後は、従来のように、線図11Aと線図12Aとが交差するようなことがなくなる。
【0013】
最良の形態1によれば、一方の線図上にある注目頂点と他方の線図とが近い場合、その注目頂点のしきい値Εを元しきい値εよりも小さくしたので、その注目頂点が間引かれにくくなり、間引き処理後の一方の線図と他方の線図との交差を防止できる。例えば、道路を示す線図と家を示す線図との交差を防止できる。よって、地図データの精度を保持したまま地図データを圧縮できる。
【0014】
最良の形態2
互いに異なる一対の線図のうちの一方の線図の頂点と他方の線図の線分との間の最短長さが所定値よりも短い場合に元しきい値εを小さくするよう修正する手段としてコンピュータを機能させるしきい値調整処理プログラムでもよい。地図の縮尺の違いによってそれぞれ異なる所定値を決めておけば、最良の形態1と同様に、地図データの精度を保持したまま地図データを圧縮できる。
【0015】
最良の形態3
閉図形のままでは図形の始点と終点とがわからないので間引き処理を行うことができない。そこで、始点と終点とを出すために、閉図形をいくつかの線図に分割した後に、上述したように線図の始点と終点とを線で繋いで線図の間引き処理を開始し、間引き処理が終了した後の線図の終点及び始点を連結して閉図形に戻すことにより、閉図形の間引き処理が行われる。従来、この閉図形の分割処理は、閉図形をn個に分割する場合に、閉図形を構成する頂点の数をnで割った数の頂点で形成されるn個の線図に分割する。例えば、16個の頂点を繋いで形成された閉図形を4つに分割する場合、ある任意の頂点を分割点と決めて、その任意の頂点から一方向に向かって4番目、8番目、12番目の頂点を分割点と決めることによって、4つの線図に分割する。つまり、4個の頂点を繋いで形成される線図を4つ形成し、1つ1つの線図に対して間引き処理を行い、間引き処理後の4つの線図の終点及び始点を連結して閉図形に戻す。しかしながら、このような分割処理の場合、間引き処理後の閉図形が元の閉図形の形状とかけ離れてしまい、元の閉図形において形状を維持することが必要な部分の形状を維持できない。
【0016】
最良の形態3では、元の閉図形において形状を維持することが必要な部分の形状を維持できるようにした閉図形の分割処理プログラムについて説明する。図7乃至図9は本発明の最良の形態3を示す。図7は分割処理装置の構成を示し、図8は分割手順を示し、図9は判定要素の説明図である。
【0017】
閉図形の分割処理装置30は、判定要素算出処理手段31、分割点決定処理手段32を備える。分割処理装置30は、コンピュータと分割処理プログラムとにより実現される。判定要素算出処理手段31は、コンピュータと判定要素算出処理プログラムとにより実現される。分割点決定処理手段32は、コンピュータと分割点決定処理プログラムとにより実現される。
【0018】
判定要素算出処理プログラムは、閉図形の各頂点毎にその頂点を分割点とするか否かを決定するための判定要素を算出する手段としてコンピュータを機能させるプログラムである。この判定要素算出処理プログラムは、図9に示すように、判定要素を算出する対象となる注目頂点T1から一方の頂点T2に繋がれた一方線分L1と注目頂点T1から他方の頂点T3に繋がれた他方線分L2とのなす角度θを第1判定要素として算出する手段、及び、判定要素を算出する対象となる注目頂点T1から一方の頂点T2に繋がれた一方線分L1の長さl及び注目頂点T1から他方の頂点T3に繋がれた他方線分L2の長さlのうち長さの短い方の線分の長さを第2判定要素として算出する手段としてコンピュータを機能させる。分割点決定処理手段32は、コンピュータと分割点決定処理プログラムとにより実現される。分割点決定処理プログラムは、各頂点毎の判定要素に基づいて分割点を決定する手段としてコンピュータを機能させるプログラムである。この分割点決定処理プログラムは、頂点の第1判定要素としての角度θが90°に近いほどその頂点を分割点候補として上位にランク付けする手段、頂点の第2判定要素としての長さが長いほどその注目頂点を分割点候補として上位にランク付けする手段、及び、各頂点に関しての第1判定要素のランク及び第2判定要素のランクを総合して総合ランク上位の頂点を分割点として決定する手段としてコンピュータを機能させる。
【0019】
図8では、分割点を「3」に設定して総合ランク上位3位までの頂点が分割された例を示す。尚、図8(b)の各頂点の傍に付した番号が総合ランクの順番であり、ここでは、図8(c)に示すように、閉図形Zの4つの角部にある頂点のうち3つの頂点Tx;Ty;Tzが分割点に決定される。分割点とならなかった角部にある総合ランク4位の頂点Teは、分割点となった角部にある頂点に比べて、総合ランク8位の頂点と繋がれた線分長さが短く、かつ、角度が90°に遠いため、総合ランクが低くなっている。
【0020】
図8(c)に示すように、分割された3つの線図Y1;Y2;Y3毎にそれぞれ上述した間引き処理を行う。ここでは、線図は、始点と終点とを繋ぐ直線となるよう間引き処理され、線図もよりL字状に近い状態に間引き処理され、これら線図が、分割点となった頂点同士で再び連結されることによって、より長方形に近い閉図形になる。つまり、元の閉図形の形状である長方形状の形状を崩すことなく間引きされた閉図形を得ることができる。よって、間引き処理後に、元の閉図形において形状を維持することが必要な部分の形状を維持した閉図形を得ることができる。
【0021】
最良の形態4
分割点決定処理プログラムは、各頂点毎の第1判定要素に基づいて分割点を決定する手段としてコンピュータを機能させる分割点決定処理プログラムであってもよい。つまり、この分割点決定処理プログラムは、注目頂点から一方の頂点に繋がれた一方線分と注目頂点から他方の頂点に繋がれた他方線分とのなす角度が90°に近いほどその頂点を分割点候補として上位にランク付けする手段としてコンピュータを機能させる。この分割点決定処理プログラムを用いた場合であっても、例えば、各頂点間の長さに差がないような閉図形を分割する場合に有効である。
【0022】
最良の形態5
分割点決定処理プログラムは、各頂点毎の第2判定要素に基づいて分割点を決定する手段としてコンピュータを機能させる分割点決定処理プログラムであってもよい。つまり、この分割点決定処理プログラムは、注目頂点から一方の頂点に繋がれた一方線分及び注目頂点から他方の頂点に繋がれた他方線分のうち長さの短い方の線分の長さが長いほどその注目頂点を分割点候補として上位にランク付けする手段としてコンピュータを機能させる。この分割点決定処理プログラムを用いた場合であっても、例えば、曲線が多くて90°に近い角部分が少ないような閉図形を分割する場合に有効である。
【0023】
最良の形態6
図10乃至図14は本発明の最良の形態6を示す。図10は圧縮処理装置の構成を示し、図11は間引き処理の手順を示し、図12は間引き後の閉図形を示し、図13は第1修正係数β1を求める関数式及び関数グラフの一例を示し、図14は第2修正係数β2を求める関数式及び関数グラフの一例を示す。
【0024】
最良の形態6による、線図の圧縮処理手段1は、しきい値調整処理手段2、間引き処理手段3を備える。しきい値調整処理手段2は、修正係数算出処理手段35、しきい値設定処理手段36を備える。
修正係数算出処理手段35は、コンピュータと修正係数算出プログラムとにより実現される。修正係数算出プログラムは、注目頂点の元しきい値εに修正係数をかけて算出した修正しきい値を注目頂点のしきい値として設定する手段としてコンピュータを機能させる。更に詳細には、修正係数算出プログラムは、注目頂点から一方の頂点に繋がれた一方線分と注目頂点から他方の頂点に繋がれた他方線分とのなす角度が90°に近いほど小さく設定された第1修正係数β1と、注目頂点から一方の頂点に繋がれた一方線分及び注目頂点から他方の頂点に繋がれた他方線分のうち長さの短い方の線分の長さが上記しきい値よりも小さくかつその差が大きいほど大きく設定された第2修正係数β2と、を用いて注目頂点の修正係数βを算出する手段としてコンピュータを機能させる。しきい値設定処理手段36は、コンピュータとしきい値設定処理プログラムとにより実現される。しきい値設定処理プログラムは、注目頂点の修正係数β×元しきい値εにより求めたしきい値Εを注目頂点のしきい値Εとして設定する手段としてコンピュータを機能させる。
【0025】
第1修正係数β1や第2修正係数β2は上述した条件に合うように設定すればよい。例えば、第1修正係数β1は、以下に示す関数P(x)で求める。
ここで、

x:頂点の角度(0度から180度)
a:傾き係数
x0:角度フィルタ係数(P(x0)=0.5となるときの角度)
例えば、第2修正係数β2は、以下に示す関数P(l´)で求める。
P(l´)=1−c×l´
ここで、
l´:正規化辺長、l´=l/ε(0<l<ε、l≧εならば、l´=l)
c:傾き係数(一般に、1−c=0.2が標準値)
そして、修正係数βを、√β1×√β2で求める。
【0026】
図11(a)に、しきい値設定処理手段36により設定された各頂点のしきい値Εを半径としたしきい値円15Aを各頂点毎に設定した状態を示す。
【0027】
そして、間引き処理手段が、従来と同じように間引き処理を行う。この間引き処理を図11(b)〜(d)を参照して説明する。尚、この例では、閉図形を例にしているので、間引き処理の前に、上述した分割処理手段で閉図形を分割してから間引き処理を行う。図11(b)〜(d)では閉図形が頂点Tc;Tdで分割された後に、分割された頂点同士を繋いだ線図XAと線図XBとで別々に間引き処理を行っている。間引き処理の手法は、最良の形態1と同じである。しきい値設定処理手段8により設定された線図XAの各頂点T11;T12;T13のしきい値Εは、いずれも修正係数βによって小さくなっており、このため、線図XAの間引き処理により、図11(b)のように、直線M1と頂点T11のしきい値円15Aとが交差しないので、頂点T11が残り、図11(c)のように、直線M2と頂点T12のしきい値円15Aとが交差しないので、頂点T12が残り、図11(d)のように、直線M3と頂点T13のしきい値円15Aとが交差しないので、頂点T13が残る。しきい値設定処理手段36により設定された線図XBの各頂点T21;T22;T23;T24のしきい値Εは、第2修正係数β2が大きいために大きくなっており、線図XBの間引き処理により、各頂点T21;T22;T23;T24は間引きされる。図12に間引き後の線図XA;XBを連結した閉図形を示す。
【0028】
最良の形態6の圧縮処理装置1によれば、間引き処理後の閉図形は、各頂点T21;T22;T23;T24のみが間引きされ、元の閉図形の元の閉図形において形状を維持することが必要な部分の形状を維持できる。よって、最良の形態1と同様に、地図データの精度を保持したまま地図データを圧縮できる。つまり、元の線図において形状を維持することが必要な部分の形状を維持できるとともに、データを圧縮できる。また、第1修正係数β1と第2修正係数β2とを用いて修正係数βを算出しているため、特に図11に示すような、注目頂点から一方の頂点に繋がれた一方線分と注目頂点から他方の頂点に繋がれた他方線分とのなす角度が90°に近くても、注目頂点から一方の頂点に繋がれた一方線分及び注目頂点から他方の頂点に繋がれた他方線分のうち長さの短い方の線分の長さが上記しきい値よりも小さい頂点T21;T22;T23;T24を間引くことができる。つまり、第1修正係数β1を用いただけでは、頂点T21;T22;T23;T24が残ってしまう場合があるが、第1修正係数β1と第2修正係数β2とを用いることで、形状維持に不要な頂点T21;T22;T23;T24を間引くことができる。
【0029】
最良の形態7
しきい値調整処理プログラムとして、注目頂点から一方の頂点に繋がれた一方線分と注目頂点から他方の頂点に繋がれた他方線分とのなす角度が90°に近いほど上記しきい値を小さくするよう修正する手段としてコンピュータを機能させるしきい値調整処理プログラムを用いても良い。このしきい値調整処理プログラムを用いた場合であっても、例えば、各頂点間の長さに差がないような線図を間引き処理する場合に有効である。
【0030】
最良の形態8
しきい値調整処理プログラムとして、注目頂点から一方の頂点に繋がれた一方線分及び注目頂点から他方の頂点に繋がれた他方線分のうち長さの短い方の線分の長さと上記しきい値とを比較し、当該線分の長さが上記しきい値よりも小さくかつ当該線分の長さと上記しきい値との差が大きいほど上記しきい値を大きくするよう修正する手段としてコンピュータを機能させるしきい値調整処理プログラムを用いても良い。このしきい値調整処理プログラムを用いた場合であっても、例えば、曲線が多くて90°に近い角部分が少ないような線図を間引き処理する場合に有効である。
【0031】
最良の形態9
最良の形態1;6の圧縮処理手段1と最良の形態3の分割処理手段とを備えた地図データ圧縮処理装置による処理の流れを図15を参照して説明する。地図データ圧縮処理装置は、圧縮対象となる地図の範囲を指定するコマンドを入力して、その指定された範囲のデータを読み込む(ステップS1)。最良の形態1によるしきい値修正処理を行う(ステップS2)。最良の形態6によるしきい値修正処理を行う(ステップS3)。最良の形態3による分割処理を行う(ステップS4)。間引き処理を行う(ステップS5)。尚、ステップS2〜ステップS4までの処理の順序は変わっても良い。
【産業上の利用可能性】
【0032】
本発明は、地図データ以外の線図の間引き処理、及び、地図データ以外の閉図形の分割処理にも使用できる。
【図面の簡単な説明】
【0033】
【図1】圧縮処理装置を示すブロック構成図(最良の形態1)。
【図2】不等辺三角形網を示す図(最良の形態1)。
【図3】修正値算出方法の説明図(最良の形態1)。
【図4】間引き処理の手順を示す図(最良の形態1)。
【図5】間引き処理の手順を示す図(最良の形態1)。
【図6】間引き処理後の線図を示す図(最良の形態1)。
【図7】分割処理装置を示すブロック構成図(最良の形態3)。
【図8】分割手順を示す図(最良の形態3)。
【図9】判定要素の説明図(最良の形態3)。
【図10】圧縮処理装置を示すブロック構成図(最良の形態6)。
【図11】間引き処理の手順を示す図(最良の形態6)。
【図12】間引き後の閉図形を示す図(最良の形態6)。
【図13】第1修正係数β1を求める関数式及び関数グラフの一例を示す図(最良の形態6)。
【図14】第2修正係数β2を求める関数式及び関数グラフの一例を示す図(最良の形態6)。
【図15】地図データ圧縮処理装置による処理の流れ図(最良の形態9)。
【図16】従来の間引き処理の手順を示す図。
【図17】従来の間引き処理のしきい値の説明図。
【図18】従来の間引き処理結果を示す図。
【図19】従来の間引き処理結果を示す図。
【図20】従来の間引き処理結果を示す図。
【符号の説明】
【0034】
1 圧縮処理装置、2 しきい値調整処理手段、3 間引き処理手段、
4 TIN生成処理手段、5 修正値算出処理手段、6 修正しきい値算出処理手段、
7 しきい値設定処理手段、30 分割処理装置、31 判定要素算出処理手段、
32 分割点決定処理手段、35 修正係数算出処理手段、36 しきい値設定処理手段。

【特許請求の範囲】
【請求項1】
複数の頂点を繋いで生成された線図の頂点を間引いてデータ量を圧縮するに際し、線図の各頂点に頂点からの一定距離であるしきい値を設定し、間引き可能か否かの判定対象とする注目頂点の両側に位置する頂点同士を繋いだ線と注目頂点との間の最短長さがしきい値よりも小さい場合にその注目頂点を間引く手段としてコンピュータを機能させる線図の圧縮処理プログラムにおいて、互いに異なる一対の線図のうちの一方の線図の頂点と他方の線図の線分との間の最短長さが所定値よりも短い場合に上記しきい値を小さくするよう修正する手段としてコンピュータを機能させるしきい値調整処理プログラムを備えたことを特徴とする線図の圧縮処理プログラム。
【請求項2】
しきい値調整処理プログラムは、互いに異なる一対の線図の頂点同士を繋いで不等辺三角形網を生成する手段としてコンピュータを機能させる不等辺三角形網生成処理プログラムと、注目頂点と向かい合う三角形の対辺が線図上にある場合には注目頂点とその三角形の対辺との最短長さを修正値として求め、注目頂点と向かい合う三角形の対辺が線図上にない場合には注目頂点を含む三角形において注目頂点と注目頂点を含まない線図上の頂点とを繋ぐ二辺のうち長さの短い辺の長さを修正値として求める手段としてコンピュータを機能させる修正値計算処理プログラムと、上記修正値に0.5以下の係数をかけた修正しきい値を算出する手段としてコンピュータを機能させる修正しきい値算出処理プログラムと、注目頂点の上記しきい値と修正しきい値とを比較して小さい方を注目頂点のしきい値として設定する手段としてコンピュータを機能させるしきい値設定処理プログラムとを備えたことを特徴とする請求項1に記載の線図の圧縮処理プログラム。
【請求項3】
複数の頂点を繋いで生成された線図の頂点を間引いてデータ量を圧縮するに際し、線図の各頂点に頂点からの一定距離であるしきい値を設定し、間引き可能か否かの判定対象とする注目頂点の両側に位置する頂点同士を繋いだ線と注目頂点との間の最短長さがしきい値よりも小さい場合にその注目頂点を間引く手段としてコンピュータを機能させる線図の圧縮処理プログラムにおいて、注目頂点から一方の頂点に繋がれた一方線分と注目頂点から他方の頂点に繋がれた他方線分とのなす角度が90°に近いほど上記しきい値を小さくするよう修正する手段としてコンピュータを機能させるしきい値調整処理プログラムを備えたことを特徴とする線図の圧縮処理プログラム。
【請求項4】
複数の頂点を繋いで生成された線図の頂点を間引いてデータ量を圧縮するに際し、線図の各頂点に頂点からの一定距離であるしきい値を設定し、間引き可能か否かの判定対象とする注目頂点の両側に位置する頂点同士を繋いだ線と注目頂点との間の最短長さがしきい値よりも小さい場合にその注目頂点を間引く手段としてコンピュータを機能させる線図の圧縮処理プログラムにおいて、注目頂点から一方の頂点に繋がれた一方線分及び注目頂点から他方の頂点に繋がれた他方線分のうち長さの短い方の線分の長さと上記しきい値とを比較し、当該線分の長さが上記しきい値よりも小さくかつ当該線分の長さと上記しきい値との差が大きいほど上記しきい値を大きくするよう修正する手段としてコンピュータを機能させるしきい値調整処理プログラムを備えたことを特徴とする線図の圧縮処理プログラム。
【請求項5】
複数の頂点を繋いで生成された線図の頂点を間引いてデータ量を圧縮するに際し、線図の各頂点に頂点からの一定距離であるしきい値を設定し、間引き可能か否かの判定対象とする注目頂点の両側に位置する頂点同士を繋いだ線と注目頂点との間の最短長さがしきい値よりも小さい場合にその注目頂点を間引く手段としてコンピュータを機能させる線図の圧縮処理プログラムにおいて、注目頂点の上記しきい値に修正係数をかけて算出した修正しきい値を注目頂点のしきい値として設定する手段としてコンピュータを機能させるしきい値調整処理プログラムを備え、しきい値調整処理プログラムは、修正係数算出プログラムを備え、修正係数算出プログラムは、注目頂点から一方の頂点に繋がれた一方線分と注目頂点から他方の頂点に繋がれた他方線分とのなす角度が90°に近いほど小さく設定された第1修正係数と、注目頂点から一方の頂点に繋がれた一方線分及び注目頂点から他方の頂点に繋がれた他方線分のうち長さの短い方の線分の長さが上記しきい値よりも小さくかつ当該線分の長さと上記しきい値との差が大きいほど大きく設定された第2正係数と、を用いて注目頂点の上記修正係数を算出する手段としてコンピュータを機能させることを特徴とする線図の圧縮処理プログラム。
【請求項6】
複数の頂点を繋いで生成された閉図形を複数の線図に分割する手段としてコンピュータを機能させる閉図形の分割処理プログラムにおいて、閉図形の各頂点毎にその頂点を分割点とするか否かを決定するための判定要素を算出する手段としてコンピュータを機能させる判定要素算出処理プログラムと、各頂点毎の判定要素に基づいて分割点を決定する手段としてコンピュータを機能させる分割点決定処理プログラムとを備えたことを特徴とする閉図形の分割処理プログラム。
【請求項7】
判定要素算出処理プログラムは、判定要素を算出する対象となる注目頂点から一方の頂点に繋がれた一方線分と注目頂点から他方の頂点に繋がれた他方線分とのなす角度を判定要素として算出する手段としてコンピュータを機能させ、分割点決定処理プログラムは、頂点の判定要素としての角度が90°に近いほどその頂点を分割点候補として上位にランク付けして、上位にランク付けされた頂点を分割点として決定する手段としてコンピュータを機能させることを特徴とする請求項6に記載の閉図形の分割処理プログラム。
【請求項8】
判定要素算出処理プログラムは、判定要素を算出する対象となる注目頂点から一方の頂点に繋がれた一方線分及び注目頂点から他方の頂点に繋がれた他方線分のうち長さの短い方の線分の長さを判定要素として算出する手段としてコンピュータを機能させ、分割点決定処理プログラムは、頂点の判定要素としての長さが長いほどその注目頂点を分割点候補として上位にランク付けして、上位にランク付けされた頂点を分割点として決定する手段としてコンピュータを機能させることを特徴とする請求項6に記載の閉図形の分割処理プログラム。
【請求項9】
判定要素算出処理プログラムは、判定要素を算出する対象となる注目頂点から一方の頂点に繋がれた一方線分と注目頂点から他方の頂点に繋がれた他方線分とのなす角度を判定要素として算出する手段、及び、判定要素を算出する対象となる注目頂点から一方の頂点に繋がれた一方線分及び注目頂点から他方の頂点に繋がれた他方線分のうち長さの短い方の線分の長さを判定要素として算出する手段としてコンピュータを機能させ、分割点決定処理プログラムは、頂点の第1判定要素としての角度が90°に近いほどその頂点を分割点候補として上位にランク付けする手段、頂点の第2判定要素としての長さが長いほどその注目頂点を分割点候補として上位にランク付けする手段、及び、各頂点に関しての第1判定要素のランク及び第2判定要素のランクを総合して総合ランク上位の頂点を分割点として決定する手段としてコンピュータを機能させることを特徴とする請求項6に記載の閉図形の分割処理プログラム。

【図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

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate


【公開番号】特開2008−299506(P2008−299506A)
【公開日】平成20年12月11日(2008.12.11)
【国際特許分類】
【出願番号】特願2007−143615(P2007−143615)
【出願日】平成19年5月30日(2007.5.30)
【出願人】(591074161)アジア航測株式会社 (48)
【Fターム(参考)】