説明

平行線を主体とする図形の描画と自動整形方法

【課題】途中で幅が変わったり、一部で形状が変わったりする平行線を主体とする図形の描画と自動整形方法を提供する。
【解決手段】平行線と補測線の結合部により、補測線端を平行線端あるいは平行線上に結合させる。平行線同士の結合部により、線の伸縮により平行線端を別の平行線端あるいは平行線上に結合させる。方向判定による小突出除去部により、補足線との関係で不必要に突出している平行線を線の向きを使用して除去する。位相判定による小突出除去部により、平行線が別の平行線に結合した状況により必要以上に突出している平行線を平行線と平行線との交差パターンを使用して除去する。補足線種分類部により、補足線と平行線との関係により補足線の種別を分類する。図形統合部により、不要な箇所を除去し、平行線同士を統合する。変形箇所置換部により、平行線の形状を補足線により修正する。これらの各処理部の組合せによって、自動整形を実現する。

【発明の詳細な説明】
【発明の詳細な説明】

【技術分野】
【0001】
この発明は、コンピュータソフトウェアによる空間解析や設計に供する、途中で幅が変わったり、一部で形状が変わったりする平行線を主体とする図形を描画するとともに、描画した図形を自動整形する技術に関する。
【背景技術】
【0002】
空間解析や設計に利用する線図形は、GIS(Geographic Information System)やCAD(Computer Assisted Design)のようなコンピュータソフトウェアによって描画される。そのとき、道路やパイプラインのような、基本的には平行線として描画できる対象物が多い。このような対象物では、複数の線を一括して平行で描画する機能によって描画することが、有効である。
【0003】
しかし、これらの対象物の全ての範囲が、平行であるというわけではない。平行線の幅が変わったり、部分的に平行でない箇所が生じたりする場合がある。また、複数の平行線が交差する箇所においては、交差箇所の内部の平行線は、間断しなければならない。一見、平行線として描画できそうな対象物においても、実際には複雑な形態を所持しているため、幅が変わる箇所の連結や、部分的に平行でない箇所の形状変更や、平行線同士の交差箇所の内部の間断を、手作業で処理しなければならない。
【0004】
また、コンピュータソフトウェアによる空間解析や設計では、連続する線図形が座標一致で連結されていたり、高さ情報を保持したりしていることによって、より高度な処理が可能となる。しかし、連続する線図形を座標一致で連結したり、線図形に高さ情報を保持させたまま整形処理することは、多くの手間を要したり、高さ情報をそのままは使用することができなくなったりしている。
【発明が解決しようとする課題】
【0005】
従来の技術では、描画と整形処理を交互に繰り返すか、描画と整形処理をそれぞれ一括で行うか、交互の繰り返しと一括で行うことを組み合わせて行うかの方法がとられ、いずれも手作業で行われている。本発明では、描画と整形処理をそれぞれ一括で行うが、描画を合理化するとともに、整形処理を自動化することにより効率化を図ることを、目的のひとつとしている。
【0006】
整形処理を自動で行うことによって、隣接する線図形を座標一致で連結することを、目的のひとつとしている。
【0007】
平行線の整形を伸縮のみによって行うことによって、図形の平行性を保つことを目的のひとつとしている。
【0008】
整形処理を自動で行うことによって、描画時に得られた高さ情報を活かしたまま整形することを目的のひとつとしている。
【課題を解決するための手段】
【0009】
これらの目的を達成するため本発明は、次の事項(1)〜(11)の組合せにより特定されることとする。
(1)線を描画するソフトウェアを用いて描画された線図形を、および平行みなせる線図形が格納された線図形データベースを、処理対象とし、これらを自動的に統合、修正して整形された図形の生成方法である。
(2)線図形には、複数の線を平行とみなせるように一括して描画される平行線と、平行線の幅や本数が変わったときにそれらをつないだり、平行線が平行でなくなった箇所の形状を描いたり、線図形データベースの中にある線図形の更新箇所を描画したりする、補足線とが存在する。
(3)平行描画部として、平行形状を主体とする図形のある画像から、平行形状をなす本数だけの平行線を、種類分けし、部分的に平行でなくなった変形箇所の形状や他の平行線と交差していて平行形状のない交差箇所を無視し、一括して平行線として描画する。あるいは、何れかの一本だけを描画して、他の線は平行複写で作成する。
(4)補足描画部として、平行描画部で描画した平行線に対し、幅が異なったために間断された平行線同士をつなぐ線や、部分的に平行でなくなった変形箇所の形状を修正するための線を、補足線として描画する。
(5)平行線と補足線の結合部として、補足線の線端を近接する平行線の上あるいは平行線の延長線上に垂直に投影し、複数の補足線の線端が近接している場合には一箇所に結合し、さらに平行線の線端を伸縮させることによって、平行線の線端を一定の伸縮範囲内にある補足線の線端に結合させる。
(6)平行線同士の結合部として、平行線の線端を伸縮させることによって、他の平行線あるいは同様に伸縮させた他の平行線の線端と交わった点で、平行線の線端同士あるいは平行線を別の平行線の上に結合させる。
(7)方向判定による小突出除去部として、補足線の線端の片方が平行線の上にあるとみなすことができ、もう片方が平行線の線端に近接している場合、平行線の上にあるとみなせる補足線の線端から、もう片方の補足線の線端への方向および近接している平行線の線端への方向で構成される角が夾角となる場合に、平行線の線端を平行線の上にあるとみなせる補足線の線端まで縮めることによって、平行線の小突出を除去する。
(8)位相判定による小突出除去部として、平行線が、別の平行線に大きな入射角で交わった場合や、入射角は小さくても幅の狭い別の平行線に交わった場合に、もとの平行線の片方が、別の平行線の中に大きく突き出したり、別の平行線を突き抜けたりするときに、もとの平行線との交差によってできた幾つもの平行線との交差のパターンにより、突出した部分を除去する。
(9)補足線種分類部として、補足線を、補足線の両方の線端が、どちらも同じ種別の平行線の線端あるいは線上にあるとみなせる場合には、補足線の両方の線端が、線端あるいは線上にあるとみなせる同じ種別の平行線と、同じ種別に分類し、複数の補足線の線端が、同一地点の平行線の線端あるいは線上にあるとみなせる場合に、補足線のもう一方の線端が、線端あるいは線上にあるとみなせる平行線と同じ種別に分類し、補足線の両方の線端が、それぞれ異なる種別の平行線の線端あるいは線上にあるとみなせる場合には、補足線を交差する平行線で分断して2本に分け、もとの補足線の線端であった線端が、線端あるいは線上にあるとみなせる平行線と、同じ種別に分類する。
(10)図形統合部として、平行線を、平行線同士の交差箇所にて分割するとともに、分割パターンによって別の平行線の内部にあったか、外部にあったかを判定し、別の平行線の内部にあった箇所を除去するとともに、交差点内として除去された線を、種別の平行線との交差箇所にて分割し、分割パターンによって除去すべきでない箇所を復元する。
(11)変形箇所置換部として、補足線の両線端が、同一の平行線の線上あるいは線端と一致しているとみなせる場合には、平行線のその範囲を間断し、両線端が一致しているとみなせる補足線と置換する。
【0010】
以上の特定される事項のうち、(5)〜(11)は基本機能の組合せであり、図形データベースの構造や使用するソフトウェアの機能によっては、組合せの順番を代えたり、一部の機能を異なる順番目において複数回行ったり、必要な機能だけを組み合わせて行うことができる。
【0011】
本発明は、既存の線図形データベースに対し、既存の線図形を平行線とみなし、これらの線図形を修正する線を補足線とすることによる、既存の線図形データベースの更新にも使用することができる。
【0012】
なお、第2の発明として、平行描画部では、複数の線を平行として、適宜、平行線の幅や本数の変更を行うとともに、部分的に平行でなくなった変形箇所の形状や別の平行線との交差箇所は無視し、連続する区間に渡って平行線を描画、さらに補足描画部では、平行線の描画が終わった後、平行線を描画してきた経路を戻りながら、平行線の幅が変わった箇所の平行線同士をつなぐ補足線を描画したり、部分的に平行でなくなった変形箇所の形状を描画したりする。
【0013】
第3の発明として、方向判定による小突出除去部では、補足線の線端の片方が平行線の上にあるとみなすことができ、もう片方が平行線の線端に近接している場合、平行線の上にあるとみなせる補足線の線端から、もう片方の補足線の線端への方向および近接している平行線の線端への方向で構成される角が夾角となる場合に、平行線の線端を平行線の上にあるとみなせる補足線の線端まで縮める。
【0014】
第4の発明として、位相判定による小突出除去部では、平行線が、別の平行線に大きな入射角で交わった場合や、入射角は小さくても幅の狭い別の平行線に交わった場合に、もとの平行線の片方が、別の平行線の中に大きく突き出したり、別の平行線を突き抜けたりするときに、もとの平行線との交差によってできた幾つもの平行線との交差状況から、交差部間の最も長い区間を基準とし、その両隣の区間を間断するとし、さらにその両隣の区間は間断しないというパターンを解析し、このパターンに反する平行線の先端部分を除去する。
【0015】
第5の発明として、補足線種分類部では、補足線を、補足線の両方の線端が、どちらも同じ種別の平行線の線端あるいは線上にあるとみなせる場合には、補足線の両方の線端が、線端あるいは線上にあるとみなせる同じ種別の平行線と、同じ種別に分類する。
【0016】
第6の発明として、補足線種分類部では、複数の補足線の線端が、同一地点の平行線の線端あるいは線上にあるとみなせる場合に、補足線のもう一方の線端が、線端あるいは線上にあるとみなせる平行線と、同じ種別に分類する。
【0017】
第7の発明として、補足線種分類部では、補足線の両方の線端が、それぞれ異なる種別の平行線の線端あるいは線上にあるとみなせる場合には、補足線を交差する平行線で分断して2本に分け、もとの補足線の線端であった線端が、線端あるいは線上にあるとみなせる平行線と、同じ種別に分類する。
【発明の実施の実態】
【0018】
以下、前述した平行線を主体とする図形の自動整形する本発明の方法を、空間解析用の地図データ作成に適用した場合として実施例を説明する。
【0019】
この実施例における処理対象となる線図形は、空中写真測量において、図化機を使用して立体空中写真から描画される高さ情報を保持した線図形、あるいは既存図数値化において、CADを使用して既存の地図から描画される高さ情報を保持していない線図形である。
【0020】
===平行描画部および補足描画部===
平行描画部では、例えば、図1では、道路1は線分R11とR12により、道路2はR21とR22により、道路3はR31とR32により、それぞれ平行線として描画される。また、道路3では、片側に歩道が存在するため、線分R33も同時に平行線として描画される。歩道の他、カードレールや中央分離帯、側溝などが存在する場合には、これらも同時に平行線として描画することができる。
【0021】
道路1は、道路3に斜めにぶつかっているため、道路1を構成する片方の線分R11は、道路3を構成する線分R31の線上とみなせる箇所で終了しているが、線分R12はR31から突き出たところで終了している。そのため、線分R12とR31が接続される線分であるかは、判断があいまいとなる。
【0022】
線分R11とR12で構成される道路1が、平行線と仮定して描画された後には、実際には平行でなかった箇所、例えば道路角の隅切りとなる線分S3やS5が、補足的に描画される。また、線分R31とR32で構成される道路3に存在する歩道縁R33の、道路1を構成する線分R12とのつながりを表すS4が補足的に描画される。
【0023】
線分R21とR22で構成される道路2が、平行線と仮定して描画された後には、実際には平行でなかった箇所、例えば道路の一部が拡幅されている形状を表す線分S1が、補足的に描画される。また、道路の一部が拡幅された線分S1が、道路1を構成する線分R11と交わる道路角に存在する隅切りとなる線分S2が、補足的に描画される。
【0024】
===平行線と補足線の結合部===
つぎに、平行線と補足線の結合部として、補足線の線端を近接する平行線の上あるいは平行線の延長線上に垂直に投影し、平行線の線端を伸縮させることによって、平行線の線端を一定の伸縮範囲内にある補足線の線端に結合させる。
【0025】
例えば、図1における補足線の線分S1の線端であるS1sとS1eは、道路2を構成する平行線のひとつである線分R22上の垂直投影された位置へ移動する。補足線の線分S2の線端であるS2eは、道路1を構成する平行線のひとつである線分R11上の垂直投影された位置へ移動する。線分S2のもう一方の線端であるS2sは、変形箇所置換部において補足線の線分S1が、平行線と補足線の結合部の処理によって道路1を構成する平行線のひとつである線分R22の一部となった、補足線の線分S1上の垂直投影された位置へ移動する。補足線の線分S3の線端であるS3sは、道路1を構成する平行線のひとつである線分R11上の垂直投影された位置へ移動し、S3eは、道路3を構成する平行線のひとつである線分R33上の垂直投影された位置へ移動する。補足線の線分S4の線端であるS4sは、道路1を構成する平行線のひとつである線分R11上の垂直投影された位置へ移動し、S4eは、道路3を構成する平行線のひとつである線分R33上の垂直投影された位置へ移動する。補足線の線分S5の線端であるS5sは、道路1を構成する平行線のひとつである線分R12上の垂直投影された位置へ移動し、S5eは、道路3を構成する平行線のひとつである線分R31上の垂直投影された位置へ移動する。その結果、図2のように補足線の線端は平行線に結合されることになる。
【0026】
補足線の線端が平行線の上に移動した後、例えば、図2における補足線の線分S4の線端であるS4sと線分S5の線端であるS5sのように、複数の線端が近接していれば、垂直投影した平行線の線分R12上の一箇所に結合させる。その結果、図3のように複数の補足線の線端が平行線の上の一箇所に結合される。
【0027】
補足線の線端が平行線の上に移動した後、例えば、図2における道路1を構成する線分R11の線端であるR11eは、伸縮によって一定範囲内にある、補足線の線分S3の線端であるS3sに結合されることになる。その結果、図3のように補足線の線端と平行線の線端が結合されることになる。
【0028】
===平行線同士の結合部===
つぎに、平行線の線端を伸縮させることによって、他の平行線あるいは同様に伸縮させた他の平行線の線端と交わった点で、平行線の線端同士あるいは平行線を別の平行線の上に結合させる。
【0029】
例えば、図3における道路1を構成する平行線のひとつである線分R12の線端であるR12eは、道路3を構成する平行線のひとつである線分R31とR33の間に存在し、伸張すれば線分R33に結合され、縮退すれば線分R31に結合されるが、伸張より縮退の距離の方が短いため、図4のように線分R31上に結合されることになる。
【0030】
===方向判定による小突出除去部===
つぎに、補足線の線端の片方が平行線の上にあるとみなすことができ、もう片方が平行線の線端に近接している場合、平行線の上にあるとみなせる補足線の線端から、もう片方の補足線の線端への方向および近接している平行線の線端への方向で構成される角が夾角となる場合に、平行線の線端を平行線の上にあるとみなせる補足線の線端まで縮めることによって、平行線の小突出を除去する。
【0031】
例えば、図5(a)における道路2は、道路2を構成する平行線のひとつである線分R21を、平行線を発生させる基準とし、道路1を構成する平行線のひとつである線分R12にぶつかるまで描画されている。そのとき、道路2は道路1に対して大きな入射角でぶつかっているため、平行線を発生する基準とならなかった道路2を構成する平行線のひとつである線分R22は、道路1を構成する平行線のひとつであるR12から大きくはみ出している。また、補足線の線分S2の線端S2eは、道路1を構成する平行線のひとつである線分R12に、S2sは、道路2を構成する平行線のひとつである線分R12に、それぞれ結合している。道路3は、道路3を構成する平行線のひとつである線分R31を、平行線を発生させる基準とし、道路1を構成する平行線のひとつである線分R12にぶつかるまで描画されている。そのとき、道路3は道路1に対して小さな入射角でぶつかっているため、平行線を発生する基準とならなかった道路3を構成する平行線のひとつである線分R32は、道路1を構成する平行線のひとつであるR12からわずかにはみ出している。また、補足線の線分S3の線端S3eは、道路1を構成する平行線のひとつである線分R12に、S3sは、道路3を構成する平行線のひとつである線分R32に、それぞれ結合している。道路4は、道路4を構成する平行線のひとつである線分R42を、平行線を発生させる基準とし、道路1を構成する平行線のひとつである線分R12にぶつかるまで描画されている。そのとき、道路4は道路1に対して大きな入射角でぶつかっているため、平行線を発生する基準とならなかった道路4を構成する平行線のひとつである線分R41の線端R41eは、道路1を構成する平行線のひとつであるR12から大きく後退している。また、補足線の線分S4の線端S4eは、道路1を構成する平行線のひとつである線分R12に、S4sは、道路4を構成する平行線のひとつである線分R41に、それぞれ結合している。道路5は、道路5を構成する平行線のひとつである線分R52を、平行線を発生させる基準とし、道路1を構成する平行線のひとつである線分R12にぶつかるまで描画されている。そのとき、道路5は道路1に対して小さな入射角でぶつかっているため、平行線を発生する基準とならなかった道路5を構成する平行線のひとつである線分R51は、道路1を構成する平行線のひとつであるR12からわずかに後退している。また、補足線の線分S5の線端S5eは、道路1を構成する平行線のひとつである線分R11に、S5sは、道路5を構成する平行線のひとつである線分R51に、それぞれ結合している。
【0032】
図5(a)は、平行線と補足線の結合部により、道路2を構成する平行線のひとつである線分R22の線端であるR22eは、道路1を構成する平行線のひとつであるR12に結合され、道路3を構成する平行線のひとつである線分R32の線端であるR32eは、道路1を構成する平行線のひとつであるR12に結合され、道路4を構成する平行線のひとつである線分R41の線端であるR41eは、補足線の線分S4の線端であるS4sに結合され、道路5を構成する平行線のひとつである線分R51の線端であるR51eは、道路1を構成する平行線のひとつであるR12に結合される。その結果、図5(b)のとおりとなる。
【0033】
図5(b)では、補足線の線分S2の線端S2sは、道路2を構成する平行線のひとつである線分R22上にあり、補足線の線分S2のもう一方の線端S2eと道路2を構成する平行線のひとつである線分R22の線端R22eは同じ方向に延びているため、R22eは、S2sの位置まで縮める。補足線の線分S3の線端S3sは、道路3を構成する平行線のひとつである線分R32上にあり、補足線の線分S3のもう一方の線端S3eと道路3を構成する平行線のひとつである線分R32の線端R32eは同じ方向に延びているため、R32eは、S3sの位置まで縮める。補足線の線分S5の線端S5sは、道路5を構成する平行線のひとつである線分R51上にあり、補足線の線分S5のもう一方の線端S5eと道路5を構成する平行線のひとつである線分R51の線端R51eは同じ方向に延びているため、R51eは、S5sの位置まで縮める。その結果、図5(c)のとおりである。
【0034】
===位相判定による小突出除去部===
つぎに、平行線が、別の平行線に大きな入射角で交わった場合や、入射角は小さくても幅の狭い別の平行線に交わった場合に、もとの平行線の片方が、別の平行線の中に大きく突き出したり、別の平行線を突き抜けたりするときに、もとの平行線との交差によってできた幾つもの平行線との交差状況から、交差部間の最も長い区間を基準とし、その両隣の区間を間断するとし、さらにその両隣の区間は間断しないというパターンを解析し、このパターンに反する平行線の先端部分を除去する。
【0035】
例えば、図6(a)における道路1は、道路2,道路3、道路4および道路5と交差していているため、道路1を構成する平行線のひとつである線分R12は、交差区間により線分KL3、線分KL2、線分KL1、線分K0、線分KR1、線分KR2、線分KR3、線分KR4に分割できる。このとき、道路2は、道路1の端にあり、道路1に対して斜めに横切っているため、道路1を構成する平行線のひとつである線分R12の左端にある交差区間である線分KL3は、道路2の中に突出している。この線分KL3は、道路1を構成する平行線のひとつである線分R12が、他の道路との交差によって分割された区間のうち、最も長い区間である線分K0から、奇数番目に存在する。また、交差点内の区間で、間断の対象となる線分KL1、線分KR1、線分KR3も、すべて奇数番目になる。したがって、線分KL3も交差点内にあると判断し、除去できる。その結果、図6(b)のとおりとなる。
【0036】
===補足線種分類部===
つぎに、補足線を、補足線の両方の線端が、どちらも同じ種別の平行線の線端あるいは線上にあるとみなせる場合には、補足線の両方の線端が、線端あるいは線上にあるとみなせる同じ種別の平行線と、同じ種別に分類し、複数の補足線の線端が、同一地点の平行線の線端あるいは線上にあるとみなせる場合に、補足線のもう一方の線端が、線端あるいは線上にあるとみなせる平行線と同じ種別に分類し、補足線の両方の線端が、それぞれ異なる種別の平行線の線端あるいは線上にあるとみなせる場合には、補足線を交差する平行線で分断して2本に分け、もとの補足線の線端であった線端が、線端あるいは線上にあるとみなせる平行線と、同じ種別に分類する。
【0037】
例えば、図7(a)における補足線の線分S1において、線分S1の線端であるS1sは、道路1を構成する平行線であるR11の線端にあり、線分S1の線端であるS1eは、道路3を構成する平行線であるR31の線上にあり、線端S1sおよび線端S1eともに同じ種別の線に結合されているため、線分R11および線分R31と、同じ種別に分類する。図7(a)における補足線の線分S3において、線分S3の線端であるS3sは、道路1を構成する平行線であるR13の線端にあり、線分S3の線端であるS3eは、道路3を構成する平行線であるR33の線上にあり、線端S3sおよび線端S3eともに同じ種別の線に結合されているため、線分R13および線分R33と、同じ種別に分類する。その結果、図7(b)のとおりとなる。
【0038】
例えば、図8(a)における補足線の線分S1の線端であるS1sは、道路1を構成する平行線のひとつである線分R11の線端にあり、別の補足線の線分の線端であるS3の線端であるS3sも、同じ道路1を構成する平行線のひとつである線分R11の線端にあるため、補足線の線分S1は、もう一方の線端であるS1eが接する道路3を構成する平行線のひとつであるR31と、同じ種別に分類し、補足線の線分S3は、もう一方の線端であるS3eが接する道路3を構成する平行線のひとつであるR33と、同じ種別にする。その結果、図8(b)のとおりとなる。
【0039】
例えば、図9(a)における補足線の線分S1の線端であるS1sは、道路1を構成する平行線のひとつである線分R11の線端にあり、別の補足線の線分の線端であるS3の線端であるS3sも、同じ道路1を構成する平行線のひとつである線分R11の線端にあるため、補足線の線分S1は、もう一方の線端であるS1eが接する道路3を構成する平行線のひとつであるR31と、同じ種別に分類し、補足線の線分S3は、もう一方の線端であるS3eが接する道路3を構成する平行線のひとつであるR33と、同じ種別に分類する。その結果、図9(b)のとおりとなる。
【0040】
例えば、図10(a)における補足線の線分S3の線端であるS3sは、道路1を構成する平行線のひとつである線分R11の線端にあり、もう一方の線端であるS3eは、道路3を構成する平行線のひとつである線分R33の線上にあり、異なる種別の線分の線端と線上にあるため、補足線の線分S3は、補足線の線分S3に交差する道路3を構成する平行線のひとつであるR31によって分割し、分割されたうちの補足線の線分S3の線端S3sが含まれる線分は、線端S3sがある道路1を構成するR11と同じ種別に分類し、分割されたうちの補足線の線分S3の線端S3eが含まれる線分は、線端S3eがある道路3を構成するR33と、同じ種別に分類する。その結果、図10(b)のとおりとなる。
【0041】
例えば、図11(a)における補足線の線分S3の線端であるS3sは、道路1を構成する平行線のひとつである線分R11の線端にあり、もう一方の線端であるS3eは、道路3を構成する平行線のひとつである線分R33の線端であるR33eにあり、どちらも異なる種別の線分の線端にあるため、補足線の線分S3は、補足線の線分S3に交差する道路3を構成する平行線のひとつであるR31によって分割し、分割されたうちの補足線の線分S3の線端S3sが含まれる線分は、線端S3sがある道路1を構成するR11と同じ種別に分類し、分割されたうちの補足線の線分S3の線端S3eが含まれる線分は、線端S3eがある道路3を構成するR33と、同じ種別に分類する。その結果、図11(b)のとおりとなる。
【0042】
===図形統合部===
つぎに、平行線を、平行線同士の交差箇所にて分割するとともに、分割パターンによって別の平行線の内部にあったか、外部にあったかを判定し、別の平行線の内部にあった箇所を除去するとともに、交差点内として除去された線を、種別の平行線との交差箇所にて分割し、分割パターンによって除去すべきでない箇所を復元する。
【0043】
例えば、図12(a)における道路1は、道路2,道路3、道路4および道路5と交差していているため、道路1を構成する平行線のひとつである線分R12は、線分R12の線端と他の平行線との交点による線分として分割される。分割された線分の、最も長い線分である交点K2と交点K3との間の区間であるK0を基準とすると、交点K2と交点K3との間の区間の、両隣の区間である、交点K1と交点K2との間の区間、交点K3と交点K4との間の区間は、交差点内と判定できる。さらに、その両隣の、線分R12の線端R12sと交点K1との間の区間、交点K4と交点K5との間の区間は、道路区間と判定できる。さらに、交点K4と交点K5との間の区間の隣である、交点K5と交点K6との間の区間は、交差点内と判定できる。さらに、交点K5と線分R12の線端R12eとの間の区間は、道路区間と判定できる。その結果、交差点内の区間を除去すると、図12(b)のとおりとなる。
【0043】
例えば、図13(a)における道路3は、道路1が結合していているため、道路1を構成する平行線のひとつである線分R11の先端であるR11e、線分R12の先端であるR12e、線分R13の先端であるR13e、線分R14の先端であるR14eによって分割される。道路1により分割された区間の中で、もっとも長い区間である交点R13eと交点R14eは交差点内として除去でき、交点R13eと交点R14eの両隣の区間である、交点R11eと交点R13eとの間の区間は、線分R13と同じ種別に、交点R14eと交点R12eとの間の区間は、線分R14と同じ種別に、それぞれ分類できる。その結果、図13(b)のとおりとなる。
【0044】
例えば、図14(a)における道路3は、道路1が結合していているため、道路1を構成する平行線のひとつである線分R11の先端であるR11e、線分R12の先端であるR12e、線分R13の先端であるR13eによって分割される。道路1により分割された区間の中で、もっとも長い区間である交点R13eと交点R12eは交差点内として除去でき、交点R13eと交点R12eの隣の区間である、交点R11eと交点R13eとの間の区間は、線分R13と同じ種別に分類できる。その結果、図14(b)のとおりとなる。
【0045】
図形統合部において、平行線同士の分割によって分割され、除去されなかった線分を、同じ種別同士で統合する。
【0046】
===変形箇所置換部===
つぎに、補足線の両線端が、同一の平行線の線上あるいは線端と一致しているとみなせる場合には、平行線のその範囲を間断し、両線端が一致しているとみなせる補足線と置換する。
【0047】
例えば、図15(a)では、補足線分S2の線端であるS2sとS2eは、道路1を構成する平行線であるR12の線上にあり、補足線分S1の線端であるS1sとS1eは、道路2を構成する平行線であるR22の線上にある。その結果、補足線部の平行線を、補足線に置換すると、図15(b)のとおりとなる。
【発明の効果】
【0048】
以上で説明したように、本発明では、描画作業は描画に集中できること、複数の線を一括して描画できること、交差点を突き抜けて連続的に描画できることにより、効率化が図れる。
【0049】
描画した線分の整形処理を自動化したことにより効率化が図れる。
【0050】
整形処理を自動で行うことによって、隣接する線図形を座標一致で、確実に連結することができ、図形の品質の確保ができる。
【0051】
平行線の整形を伸縮のみによって行うことによって、図形の平行性を保つことができ、図形の見映えが確保できる。
【0052】
整形処理を自動で行うことによって、描画時に得られた高さ情報を活かしたまま整形することができ、三次元の図形の整備が可能となる。
【図面の簡単な説明】
【0053】
【図1】平行線描画部および補足描画部における、描画結果を説明する図である。
【図2】平行線と補足線の結合部における、補足線の線端が近接する平行線に結合した結果を説明する図である。
【図3】平行線と補足線の結合部における、複数の補足線の線端が平行線の上の一箇所に結合、および平行線の線端が補足線の線端に結合した結果を説明する図である。
【図4】平行線同士の結合部における、平行線同士が結合した結果を説明する図である。
【図5】(a)〜(c)は、方向判定による小突出除去部における、平行線の小凹凸が除去されるプロセスを説明した図である。
【図6】(a)、(b)は、位相判定による小突出除去部における、平行線の小凹凸が除去されるプロセスを説明した図である。
【図7】(a)、(b)は、補足線種分類部における、補足線の両方の線端が、どちらも同じ種別の平行線の線端あるいは線上にあるとみなせる場合の、分類のプロセスを説明した図である。
【図8】(a)、(b)は、補足線種分類部における、複数の補足線の線端が、同一地点の平行線の線端あるいは線上にあるとみなせる場合の、分類のプロセスを説明した図である。
【図9】(a)、(b)は、補足線種分類部における、複数の補足線の線端が、同一地点の平行線の線端にあるとみなせる場合の、分類のプロセスを説明した図である。
【図10】(a)、(b)は、補足線種分類部における、補足線の両方の線端が、それぞれ異なる種別の平行線の線端あるいは線上にあるとみなせる場合の、分類のプロセスを説明した図である。
【図11】(a)、(b)は、補足線種分類部における、補足線の両方の線端が、それぞれ異なる種別の平行線の線端にあるとみなせる場合の、分類のプロセスを説明した図である。
【図12】(a)、(b)は、図形統合部における、平行線が他の平行線との交差により分割されるプロセスを説明した図である。
【図13】(a)、(b)は、図形統合部における、交差点内の平行線が奇数個の区間に分割され、交差点内にある平行線と同じ分類に分類されるプロセスを説明した図である。
【図14】(a)、(b)は、図形統合部における、交差点内の平行線が偶数個の区間に分割され、交差点内にある平行線と同じ分類に分類されるプロセスを説明した図である。
【図15】(a)、(b)は、変形箇所置換部における、補足線の両線端が、同一の平行線の線上あるいは線端と一致しているとみなせる場合に、その平行線と置換するプロセスを説明した図である。
【符号の説明】
【0054】
R11〜R13 平行線を構成する線分
R11s〜R13s 平行線を構成する線分の線端
R11e〜R13e 平行線を構成する線分の線端
S1〜S5 補足線の線分
S1s〜S5s 補足線の線分の線端
S1e〜S5e 補足線の線分の線端
K1〜K6 他の平行線で分割される平行線の各交点
K0 他の平行線で分割される平行線の各区間の中の最長区 間
KL1〜KL3、KR1〜KR4 他の平行線で分割される平行線の各区間

【特許請求の範囲】
【請求項1】
つぎの事項(1)〜(11)の組合せにより特定される発明。
(1)線を描画するソフトウェアを用いて描画された線図形を、および平行みなせる線図形が格納された線図形データベースを、処理対象とし、これらを自動的に統合、修正して整形された図形の生成方法である。
(2)線図形には、複数の線を平行とみなせるように一括して描画される平行線と、平行線の幅や本数が変わったときにそれらをつないだり、平行線が平行でなくなった箇所の形状を描いたり、線図形データベースの中にある線図形の更新箇所を描画したりする、補足線とが存在する。
(3)平行描画部として、平行形状を主体とする図形のある画像から、平行形状をなす本数だけの平行線を、種類分けし、部分的に平行でなくなった変形箇所の形状や、他の平行線と交差していて平行形状のない交差箇所を無視し、一括して平行線として描画する。あるいは、何れかの一本だけを描画して、他の線は平行複写で作成する。
(4)補足描画部として、平行描画部で描画した平行線に対し、幅が異なったために間断された平行線同士をつなぐ線や、部分的に平行でなくなった変形箇所の形状を修正するための線を、補足線として描画する。
(5)平行線と補足線の結合部として、補足線の線端を近接する平行線の上あるいは平行線の延長線上に垂直に投影し、複数の補足線の線端が近接している場合には一箇所に結合し、さらに平行線の線端を伸縮させることによって、平行線の線端を一定の伸縮範囲内にある補足線の線端に結合させる。
(6)平行線同士の結合部として、平行線の線端を伸縮させることによって、他の平行線あるいは同様に伸縮させた他の平行線の線端と交わった点で、平行線の線端同士あるいは平行線を別の平行線の上に結合させる。
(7)方向判定による小突出除去部として、補足線の線端の片方が平行線の上にあるとみなすことができ、もう片方が平行線の線端に近接している場合、平行線の上にあるとみなせる補足線の線端から、もう片方の補足線の線端への方向および近接している平行線の線端への方向で構成される角が夾角となる場合に、平行線の線端を平行線の上にあるとみなせる補足線の線端まで縮めることによって、平行線の小突出を除去する。
(8)位相判定による小突出除去部として、平行線が、別の平行線に大きな入射角で交わった場合や、入射角は小さくても幅の狭い別の平行線に交わった場合に、もとの平行線の片方が、別の平行線の中に大きく突き出したり、別の平行線を突き抜けたりするときに、もとの平行線との交差によってできた幾つもの平行線との交差のパターンにより、突出した部分を除去する。
(9)補足線種分類部として、補足線を、補足線の両方の線端が、どちらも同じ種別の平行線の線端あるいは線上にあるとみなせる場合には、補足線の両方の線端が、線端あるいは線上にあるとみなせる同じ種別の平行線と、同じ種別に分類し、複数の補足線の線端が、同一地点の平行線の線端あるいは線上にあるとみなせる場合に、補足線のもう一方の線端が、線端あるいは線上にあるとみなせる平行線と同じ種別に分類し、補足線の両方の線端が、それぞれ異なる種別の平行線の線端あるいは線上にあるとみなせる場合には、補足線を交差する平行線で分断して2本に分け、もとの補足線の線端であった線端が、線端あるいは線上にあるとみなせる平行線と、同じ種別に分類する。
(10)図形統合部として、平行線を、平行線同士の交差箇所にて分割するとともに、分割パターンによって別の平行線の内部にあったか、外部にあったかを判定し、別の平行線の内部にあった箇所を除去するとともに、交差点内として除去された線を、種別の平行線との交差箇所にて分割し、分割パターンによって除去すべきでない箇所を復元する。
(11)変形箇所置換部として、補足線の両線端が、同一の平行線の線上あるいは線端と一致しているとみなせる場合には、平行線のその範囲を間断し、両線端が一致しているとみなせる補足線と置換する。
【請求項2】
請求項1において、平行描画部では、複数の線を平行として、適宜、平行線の幅や本数の変更を行うとともに、部分的に平行でなくなった変形箇所の形状や別の平行線との交差箇所は無視し、連続する区間に渡って平行線を描画、さらに補足描画部では、平行線の描画が終わった後、平行線を描画してきた経路を戻りながら、平行線の幅が変わった箇所の平行線同士をつなぐ補足線を描画したり、部分的に平行でなくなった変形箇所の形状を描画したりする、平行描画と補足描画で構成される描画方法。
【請求項3】
請求項1において、方向判定による小突出除去部では、補足線の線端の片方が平行線の上にあるとみなすことができ、もう片方が平行線の線端に近接している場合、平行線の上にあるとみなせる補足線の線端から、もう片方の補足線の線端への方向および近接している平行線の線端への方向で構成される角が夾角となる場合に、平行線の線端を平行線の上にあるとみなせる補足線の線端まで縮めることによる、平行線の小突出の除去方法。
【請求項4】
請求項1において、位相判定による小突出除去部では、平行線が、別の平行線に大きな入射角で交わった場合や、入射角は小さくても幅の狭い別の平行線に交わった場合に、もとの平行線の片方が、別の平行線の中に大きく突き出したり、別の平行線を突き抜けたりするときに、もとの平行線との交差によってできた幾つもの平行線との交差状況から、交差部間の最も長い区間を基準とし、その両隣の区間を間断するとし、さらにその両隣の区間は間断しないというパターンを解析し、このパターンに反する平行線の先端部分の除去方法。
【請求項5】
請求項1において、補足線種分類部では、補足線を、補足線の両方の線端が、どちらも同じ種別の平行線の線端あるいは線上にあるとみなせる場合には、補足線の両方の線端が、線端あるいは線上にあるとみなせる同じ種別の平行線と、同じ種別とする分類方法。
【請求項6】
請求項1において、補足線種分類部では、補足線を、複数の補足線の線端が、同一地点の平行線の線端あるいは線上にあるとみなせる場合に、補足線のもう一方の線端が、線端あるいは線上にあるとみなせる平行線と、同じ種別とする分類方法。
【請求項7】
請求項1において、補足線種分類部では、補足線を、補足線の両方の線端が、それぞれ異なる種別の平行線の線端あるいは線上にあるとみなせる場合には、補足線を交差する平行線で分断して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

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate