(57)【特許請求の範囲】
【請求項１】
基線抽出ステップと整形図形生成ステップとをコンピュータに実行させる図形整形プログラムであって、
前記基線抽出ステップは、原図形に対して所定の座標軸に水平な辺を有する第１の外接矩形を形成し、第１の外接矩形と原図形との接点を順次結んで単純化図形を求め、該単純化図形に基づいて基線を抽出するステップであり、
前記整形図形生成ステップは、前記基線に平行な辺を有し原図形と等積の等積矩形を生成し、該等積矩形を整形図形とするステップである図形整形プログラム。
【請求項２】
前記等積矩形を生成するステップは、前記原図形に対して前記基線に平行な辺を有する第２の外接矩形を求め、第２の外接矩形を原図形と等積の等積矩形に変換するステップである請求項１に記載の図形整形プログラム。
【請求項３】
前記第２の外接矩形を縦横比一定、重心不変で等積矩形に変換する請求項２に記載の図形整形プログラム。
【請求項４】
基線抽出ステップと整形図形生成ステップとをコンピュータに実行させる図形整形プログラムであって、
前記基線抽出ステップは、原図形に対して所定の座標軸に水平な辺を有する第１の外接矩形を形成し、第１の外接矩形と原図形との接点を順次結んで単純化図形を求め、該単純化図形に基づいて基線を抽出するステップであり、
前記整形図形生成ステップは、前記基線に平行な直線と垂直な直線からなるメッシュで原図形を覆い、原図形に対する各メッシュの重複率が所定の値以上となるメッシュを選択連結して整形図形とするステップである図形整形プログラム。
【請求項５】
前記メッシュを第１の外接矩形の重心を基準として配置する請求項４に記載の図形整形プログラム。
【請求項６】
前記メッシュのサイズを、原図形の面積をほぼ１００分割する正方形とする請求項４又は５に記載の図形整形プログラム。
【請求項７】
基線抽出ステップと整形図形生成ステップとをコンピュータに実行させる図形整形プログラムであって、
前記基線抽出ステップは、原図形に対して所定の座標軸に水平な辺を有する第１の外接矩形を形成し、第１の外接矩形と原図形との接点を順次結んで単純化図形を求め、該単純化図形に基づいて基線を抽出するステップであり、
前記整形図形生成ステップは、
前記基線に平行な辺を有し原図形と等積の等積矩形を生成するステップと、
前記等積矩形と原図形との重複率を算出し、所定値以上の場合には前記等積矩形を整形図形とし、前記重複率が所定値以下の場合には、前記基線に平行な直線と直交する直線からなるメッシュで原図形を覆い、原図形に対するメッシュの重複率が所定の値以上となるメッシュを選択連結して整形図形とするステップとを有する、
図形整形プログラム。
【請求項８】
前記等積矩形を生成するステップは、前記原図形に対して前記基線に平行な辺を有する第２の外接矩形を求め、第２の外接矩形を原図形と等積の等積矩形に変換するステップである請求項７に記載の図形整形プログラム。
【請求項９】
前記第２の外接矩形を縦横比一定、重心不変で等積矩形に変換する請求項８に記載の図形整形プログラム。
【請求項１０】
前記メッシュを第２の外接矩形の重心を基準として配置する請求項７〜９のいずれか１項に記載の図形整形プログラム。
【請求項１１】
前記メッシュのサイズを、原図形の面積をほぼ１００分割する正方形とする請求項７〜１０のいずれか１項に記載の図形整形プログラム。
【請求項１２】
前記基線抽出ステップは、
原図形に対して所定の座標軸に平行な辺を有する外接矩形を形成し、該外接矩形と原図形の接点を順次結んで単純化図形を求めるステップと、
前記第１の単純化図形と前記原図形との差分をとり、各差分に対して所定の座標軸に平行な辺を有する外接矩形を形成し、該外接矩形と原図形の接点を第１の単純化図形に付加して順次結んで得られる第２の単純化図形を求めるステップと、
該単純化図形に基づいて基線を抽出するステップと
を有する請求項１〜１１のいずれか１項に記載の図形整形プログラム。
【請求項１３】
前記第２の単純化図形を求めるステップが複数回繰り返される請求項１２に記載の図形整形プログラム。
【請求項１４】
前記単純化図形に基づいて基線を抽出するステップは、前記単純化図形の最長辺を基線として抽出するステップである請求項１〜１３に記載の図形整形プログラム。
【請求項１５】
前記基線を抽出するステップの後該基線を前記所定の座標軸に平行になるように回転するステップと、
整形図形を得た後前記基線を前記回転とは逆に回転するステップを有する請求項１〜１４のいずれか１項に記載の図形整形プログラム。
【請求項１６】
図形整形の基準となる基線をコンピュータに抽出させる基線抽出プログラムであって、
原図形に対して所定の座標軸に平行な辺を有する外接矩形を形成し、該外接矩形と原図形の接点を順次結んで単純化図形を求めるステップと、
前記単純化図形の最長辺を基線として抽出させるステップと
を有する基線抽出プログラム。
【請求項１７】
前記単純化図形を求めるステップは、
原図形に対して所定の座標軸に平行な辺を有する外接矩形を形成し、該外接矩形と原図形の接点を順次結んで第１の単純化図形を求めるステップと、
前記第１の単純化図形と前記原図形との差分をとり、各差分に対して所定の座標軸に水平な辺を有する外接矩形を形成し、該外接矩形と原図形の接点を第１の単純化図形に付加して順次結んで得られる第２の単純化図形を求めるステップとを有し、
前記単純化図形の最長辺を基線として抽出させるステップは、該第２の単純化図形の最長辺を基線として抽出させるステップである請求項１６に記載の基線抽出プログラム。
【請求項１８】
前記第２の単純化図形を求めるステップが複数回数繰り返される請求項１７に記載の基線抽出プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、建物図形のような不定形図形の直線化及び直角補正を自動処理する図形整形プログラムに関する。
【０００２】
【従来の技術】
図面や航空写真から自動でベクトル化して取得される建物等の形状については、ピクセル単位で取得される関係上斜めの線は直線とはならず、また画像からエッジを判断して形状を取得する際にもばらつきがでてくる。
したがって、一般に図面や航空写真から取得される図形はガタガタ折れ曲がっており、これを地図にする際には見栄えをよくする、データ量を圧縮するといった目的で、ガタガタ折れ曲がった線を直線化し、その間の角を直角に補正する必要があった。
【０００３】
すなわち、実際の建物の外形は、角が直角で角と角の間は直線となっている、というものが大半であること、また、建物は、土地の区割りや道路に正対して建てられている、といった形態がやはり大半であることから、工事用の施工管理図といった特殊な用途の大縮尺図を除き、地図表現の見映え上建物は矩形によった表現が通常であること、また、建物形状を土地の区割りや道路に正対させる際、ガタガタ折れ曲がった形状のままでは歪んだ形状に見えてしまうことからも、直線化ないし直角補正は必要な処理であった。
従来、図形の直角補正は、表示画面上でオペレータが目視で判断して修正したり、オペレータが基準となる線を選択又は入力して基準線を決定し、その後直角に近い角になるように自動補正していた（特開平８−１８０１８２号参照）。
【０００４】
【発明が解決しようとする課題】
しかし、オペレータを介さずに、直線化ないし直角補正を完全に自動化したものは存在しなかった。
本発明の目的は、原図形の直線化と直角補正を同時に自動処理する図形整形プログラムを提供することである。
【０００５】
【課題を解決するための手段】
本発明は、上記目的を達成するために、原図形を単純化して基線を抽出し、基線を基準に原図形の等積矩形を得て整形図形とするか、基線を基準にメッシュを選択連結して整形図形とするものであり、また等積矩形を得た後、等積矩形と原図形の面積重複率を算出し、所定値以上の場合には前記等積矩形を整形図形とし、前記重複率が所定値以下の場合には、メッシュを選択連結して整形図形とするものである。
【０００６】
本発明によれば、基線抽出ステップでは、原図形に対して第１の外接矩形を形成し、原図形と第１の外接矩形との接点を順次結んで単純化図形を求め、単純化図形の最長辺を基線として抽出し、整形図形を得るステップでは、基線に平行な辺を有する原図形の第２の外接矩形を求め、第２の外接矩形を原図形と等積の等積矩形に変換して、該等積矩形を求める整形図形とする図形整形プログラムが提供される。
【０００７】
また、前記基線抽出ステップの後、整形図形を得るステップでは、基線に平行な直線と垂直な直線からなるメッシュで原図形を覆い、原図形に対する各メッシュの重複率が所定の値以上となるメッシュを選択連結して整形図形とする図形整形プログラムが提供される。
また、前記基線抽出ステップの後、整形図形を得るステップでは、等積図形を得て、前記等積矩形と原図形との重複率を算出し、所定値以上の場合には前記等積矩形を整形図形とし、前記重複率が所定値以下の場合には、前記基線に平行な直線と直交する直線からなるメッシュで原図形を覆い、原図形に対するメッシュの重複率が所定の値以上となるメッシュを選択連結して整形図形とする図形整形プログラムが提供される。
【０００８】
本発明によれば、等積矩形に変換する際に、第２の外接矩形を縦横比一定、重心不変で等積矩形に変換することもできる。
また、メッシュを第２の外接矩形の重心を基準として配置すること、メッシュのサイズ又は前記メッシュの重複率には所望の値を入力すること、メッシュのサイズを、原図形の面積をほぼ１００分割する正方形とすることもできる。
【０００９】
さらに、本発明によると、図形整形の基準となる基線を抽出する基線抽出プログラムであって、原図形に対して外接矩形を形成し、該外接矩形と原図形の接点を順次結んで単純化図形を求めるステップと、前記単純化図形の最長辺を基線として抽出させるステップとを備えるものが提供され、さらに、第１の単純化図形と原図形との差分をとり、各差分に対して外接矩形を形成し、該外接矩形と原図形の接点を第１の単純化図形に付加して順次結んで得られる第２の単純化図形を求めるステップとを備える基線抽出プログラムも提供される。
この場合、単純化図形を求めるステップは、入力される単純化回数に従って、第２の単純化図形を求めるステップを所定回数繰り返すこともできる。
本発明の図形整形プログラムと基線抽出プログラムをとを適宜組み合わせることも可能である。
【００１０】
【発明の実施の形態】
図を参照して、本発明の実施の形態を説明する。
図１は、以下に詳細に説明する実施形態の概要である。本例は、原図形の基線抽出ステップ１００と、整形図形生成ステップ２００とからなり、整形図形生成ステップ２００は、等積矩形生成ステップ２１０と、整形図形選択ステップ２２０とからなる。まず、基線抽出ステップ１００において基線を求め、等積矩形生成ステップ２１０においてその基線を基準に等積矩形を生成し、整形図形選択ステップ２２０においてこの等積矩形を求める整形図形として採用するか、そうでなければ基線を基準に原図形をメッシュで覆い、原図形に係るメッシュを連結して矩形を生成し、これを求める整形図形とするものである。
【００１１】
以下に説明する実施形態１では、等積矩形と原図形との面積重複率が設定値より高く、等積な矩形を整形図形として採用する。実施形態２は、等積矩形と原図形との面積重複率が設定値より低く、原図形を覆うメッシュを作成し所定のメッシュを連結した図形を整形図形とする。
実施の形態を説明する図１〜９では、説明のために表示画面上での図形を示すが、実際の図形整形の過程は画面上に表示されることはない。
【００１２】
（実施形態１）
図２〜４は、原図形に対して基線を求め、基線を基準に等積図形を求めて整形図形とする第１の実施の形態を説明する図である。
図２は、第１の単純化図形を得るまでを示し、図３は、基線を決定するまでを示し、図４は、整形図形を得るまでを示す。
図２（ａ）には、説明のための表示画面Ｄ上に頂点の座標ｐ１〜ｐ１０がプロットされた原図形１を示す。他の図の外枠も表示画面Ｄを示すが、符号Ｄは省略した。
【００１３】
整形の対象となる原図形は、たとえば、スキャンニングされた図面、航空写真、衛星写真などの画像から自動でベクトル化したものである。このベクトル化の手段は公知のものを用いる。
原図形は、説明のために、次の座標（Ｘ，Ｙ）で与えられる１０の頂点を有するポリゴン（面積 74.44ｍ2）とする。後に説明するように、原図形の単純化回数は２回で、等積矩形と原図形との重複率のしきい値を９０％とする。単純化回数及び重複率は、オペレータが所望の値を入力できるものである。
【００１４】
頂点      Ｘ      Ｙ
ｐ１    17.981  28.762
ｐ２    20.509  32.340
ｐ３    22.725  35.412
ｐ４    24.787  39.846
ｐ５    27.703  38.134
ｐ６    30.776  38.690
ｐ７    27.276  32.845
ｐ８    25.331  28.801
ｐ９    23.387  26.506
ｐ１０  20.975  27.245
【００１５】
図２（ｂ）に示すように、原図形１に対して、所定のＸＹ座標系（通常、表示画面の水平垂直方向をＸＹ方向とする。）のＸ軸及びＹ軸に平行な辺を有する矩形であって、原図形に外接するものを作成し、原図形との接点を求める。実際には、Ｘ座標が最大最小となる点、Ｙ座標が最大最小となる点を求めることになる。本例では、Ｘ座標が最大となる点は頂点ｐ６、最小となる点は頂点ｐ１、Ｙ座標が最大となる点は頂点ｐ４、最小となる点は頂点ｐ９である。
【００１６】
次いで、図２（ｃ）に示すように、抽出した４つの頂点を順次結線し、第１次単純化図形を作成する。
さらに、図３（ａ）に示すように、原図形と第１次単純化図形２との差分ｄ１〜ｄ５を抽出し、抽出した差分に対して図３（ｂ）と同様の単純化処理を行う。すなわち、各差分に対して、Ｘ軸Ｙ軸に平行な辺を有する外接矩形を作成し、その接点を抽出し、第１次単純化図形の頂点ではない接点が得られると、それを追加して接点間を順次結び、第２次単純化図形３とする。
【００１７】
本例の場合、差分ｄ１では、差分と外接矩形との接点はｐ１とｐ２の２点であり、結果的に追加すべき点はでてこない。すなわち、差分ｄ１は無視してよい差分であるということになる。また、差分ｄ３では、差分と外接矩形との接点はｐ６とｐｘの２点であり、この差分ｄ３も無視してよいものである。接点ｐｘは、第１次単純化図形２の辺上の点であり、抽出されるものの第２次単純化図形３の頂点としては現れない。その他の差分ｄ２、ｄ４及びｄ５についても同様に、新しく頂点として追加される点は現れない。したがって、本例の場合は、第１次単純化図形２と第２次単純化図形３とは同じ図形になる。
【００１８】
一般的には、第２次の単純化は、第１の単純化図形に対して差分の増減処理を行うことで、第１次単純化で失われた特徴部分をある程度回復することになる。また、必要に応じて、第２次単純化図形と原図形との差分に対してもさらに単純化処理を行ってもよく、次々と単純化処理を行うことができる。この単純化処理を何回行うかは、単純化処理の回数を指定することによって行われる。本例では、単純化処理は２回行う設定となっている。
【００１９】
図３（ｂ）に示すように、第２次単純化図形３を得て、第２次単純化図形３の各辺の長さを比較し、最長辺を基線Ｌとする。この後は、基線Ｌを基準に整形処理を進めることになる。
図３（ｃ）には、基線Ｌと原図形１の関係を示す。
基線抽出処理が終わると、次に、基線ＬをＸ軸に平行になるように原図形１を回転させる。
図４（ａ）に、原図形１の回転の結果を示す。一般には原図形の回転は必須のものではない。以下の外接矩形の形成あるいはメッシュ化など、回転を行わなくても可能である。しかし、回転させた方が矩形を作成するアルゴリズムが簡単になり、メッシュの設定もスムースに行うことができ、全体での処理ステップが減少する。
【００２０】
そして、図４（ａ）に示すように、基線ＬがＸ軸に平行になるように原図形１を回転した回転図形１’に対して、基線に平行な辺をもつ外接矩形４を形成し、その重心Ｇを求める。実際は、外接矩形は、ＸＹ座標各々の最大値と最小値からなる４点を求めることによって得られる。外接矩形４の重心Ｇは外接矩形の対角線の交点を求めることによって得られる。あるいはもっと単純に、（最大Ｘ座標＋最小Ｘ座標）／２、（最大Ｙ座標＋最小Ｙ座標）／２で求めても同じ結果が得られる。
【００２１】
図４（ｂ）で示す処理は、外接矩形４を原図形１と等積の等積矩形５に変換し、等積矩形５と回転図形１’との重複率を求めるものである。すなわち、外接矩形４の重心を移動させることなく、外接矩形４の縦横比に比例して縦横を伸縮させ、外接矩形４が原図形１の面積と同面積になるようにする。このようにして求める等積矩形５が得られる。
【００２２】
そして、等積矩形５と回転図形１’との重複率を求めるために、等積矩形５と回転図形１’との重複面積を求める。本例では、重複面積は７０．０８ｍ2であった。原図形の面積は、７４．４４ｍ2であるから、重複率は、９４．１５％となる。求めた重複率と所定の設定値９０％と比較する。重複率は設定値以上であるから、等積矩形５を原図形１の整形図形として採用する。等積矩形は直線化も直角化も完了しており、原図形１との重複率も９０％を超えて、原図形１の整形図形としてよいものである。
【００２３】
次いで、図４（ｃ）に示すように、この等積矩形を逆回転して、元の位置に戻せば、求める直線化及び直角補正がされた整形図形６が得られる。なお、回転処理をしない場合には、この逆回転処理も必要がない。
【００２４】
ちなみに、整形図形６の座標（Ｘ，Ｙ）は次のとおりで、面積は74.44ｍ2である。
頂点    Ｘ      Ｙ
ｑ１  18.579  29.142
ｑ２  25.040  39.665
ｑ３  30.178  36.510
ｑ４  23.176  25.987
このようにして、図２（ａ）で示した原図形１の直線化直角化された図形が図４（ｃ）に示す整形図形６として得られたことになる。
【００２５】
（実施形態２）
次に、図５〜９を参照して、原図形に対して基線を求め、基線を基準にメッシュで原図形を覆って、メッシュを抽出して連結することによって求める整形図形とする第２の実施の形態を説明する。
この実施例では、図５に示される１０個の頂点ｐ１〜ｐ１０をもつ図形（面積１０６．０５ｍ2）を原図形１０とする。原図形の座標（Ｘ，Ｙ）は、次のとおりである。
【００２６】
頂点    Ｘ      Ｙ
ｐ１  -6.315  25.367
ｐ２  -7.194  27.905
ｐ３  -8.779  30.282
ｐ４  -4.145  32.739
ｐ５  -6.017  35.497
ｐ６   2.474  39.916
ｐ７   4.217  36.354
ｐ８   6.695  32.716
ｐ９   2.954  30.257
ｐ１０  -2.403  28.123
単純化回数は２回、原図形と等積矩形との重複率しきい値は９０％、直角化処理のためのメッシュサイズは、式ｓｑｒｔ（面積１０６．６５÷１００）で求め、１．０３ｍである。メッシュ採用率（メッシュ抽出の判断に用いる重複率しきい値）は５０％である。メッシュサイズ、メッシュ採用率は、単純化回数及び重複率しきい値と同様、所望の値を入力することができる。
【００２７】
実施形態１とフローが共通する部分については、適宜省略して説明する。
図５（ｂ）は、第１次単純化の過程を示す。原図形に対して、ＸＹ座標軸に平行な辺を有する矩形であって、原図形に外接するものを作成し、原図形との接点を求める。接点は、Ｘ座標が最大最小となる点（頂点ｐ６及びｐ１）、Ｙ座標が最大最小となる点（頂点ｐ４及びｐ９）である。
【００２８】
次いで、図５（ｃ）に示すように、抽出した４つの頂点を順次結線し、第１次単純化図形２０を作成する。
図６（ａ）に示すように、原図形１０と第１次単純化図形２０との差分ｄ１〜ｄ６を抽出し、抽出した差分ｄ１〜ｄ６に対して第２次の単純化処理を行う。すなわち、各差分に対して、座標軸に平行な辺を有する外接矩形を作成し、その接点を抽出し、第１次単純化図形２０の頂点ではない接点が得られると、それを追加して接点間を順次結んで第２次単純化図形３０とする。
【００２９】
差分ｄ２の場合に外接矩形を図示したが、差分と外接矩形との接点はｐ４とｒ１とｒ２の３点であり、第１次単純化図形２０に付加する点はｒ１とｒ２ということになる。この場合、差分ｄ２は増やす部分となる。
差分ｄ１については、同様な処理をすることによって、差分ｄ１が減らす部分として現れる。その他の差分ｄ３〜ｄ６については、各差分と外接矩形との接点が２点しか出てこないので、増減処理すべき差分としては現れない。
図６（ｂ）に、増減すべき差分ｄ１、ｄ２を示す。
このように、第２次の単純化は、第１の単純化図形２０に対して差分の増減処理を行うことで、第１次単純化で失われた特徴部分をある程度回復することになる。この単純化処理を何回行うかは、単純化処理の回数を指定することによって行われる。
【００３０】
図６（ｃ）に示すように、第２次単純化図形３０を得て、第２次単純化図形３０の各辺の長さを比較し、最長辺を基線Ｌとする。第１次単純化図形２０における最長辺とは異なる辺が選択されており、原図形に対応させると適切な辺が基線Ｌとして選択されていることがわかる。
この後は、基線を基準に整形処理を進めることになる。
基線抽出処理が終わると、次に、基線ＬをＸ軸に平行になるように原図形を回転させる。
図７（ａ）に、回転の結果を示す。この図形の回転は、実施形態１で説明したように必須のものではない。しかし、回転させた方が矩形を作成するアルゴリズムが簡単になり、メッシュ化もスムースに行うことができ、全体での処理ステップが減少する。
【００３１】
図７（ａ）に示すように、基線ＬがＸ軸に平行になるように原図形１０を回転した回転図形１０’に対して、基線に平行な辺をもつ外接矩形４０を形成し、その重心Ｇを求める。外接矩形４０の重心Ｇは外接矩形４０の対角線の交点を求めるか、または（最大Ｘ座標＋最小Ｘ座標）／２、（最大Ｙ座標＋最小Ｙ座標）／２で求めることにより簡単に求めることができる。
【００３２】
図７（ｂ）に示すように、外接矩形４０の重心を移動させることなく、外接矩形の縦横比に比例して縦横を伸縮させ、外接矩形４０が原図形１０（回転図形１０’）の面積と同面積になるようにして等積矩形５０を求める。
【００３３】
そして、等積矩形５０と回転図形１０’との重複面積を求める。本例では、９２．７４ｍ2であり、原図形の面積が１０６．０５ｍ2であるから、重複率は、８７．４５％であり、重複率の予め設定した設定値９０％以下である。
【００３４】
このように、重複率が設定値を下回ると、等積矩形５０を整形図形として採用せず、メッシュによる直角化処理を行って、直線化及び直角補正を行う。
図８は、メッシュによる直角化を説明する図である。説明のために、第２の実施形態のメッシュサイズとは異なり、メッシュサイズは、原図形を約１０個のセルに分割するように、３．２６（＝sqrt(106.65/10）)としてある。
【００３５】
メッシュの配置の基準点は外接矩形４０の重心Ｇとする。
図８（ａ）に、再度原図形を回転した回転図形１０’と外接矩形４０及びその重心Ｇの関係を示す。本例では、外接矩形４０から等積矩形５０を求めたときに重心を求めているので、これを利用すればよい。しかし、外接矩形４０を等積矩形５０に変換して重複率を判断する処理を経ずに、すべての図形に対してメッシュによる直角化処理を行う場合には、ここで重心を求める。また、外接矩形４０の重心ではなく、回転図形１０’の重心を採用することもできるが、回転図形１０’（原図形１０）の形状によっては中心部からずれることも多く、メッシュサイズが大きい場合には問題となる。したがって、本例では、外接矩形４０の重心を採用している。
【００３６】
図８（ｂ）には、重心Ｇを基準として回転図形４０を覆うメッシュＭを示す。重心Ｇを基準としてメッシュ化するのは、メッシュサイズを大きくした場合にも、メッシュ化する基準の影響を受けにくくするためである。
【００３７】
メッシュサイズは直角化に大きな影響を与える。メッシュサイズが大きいと原図形との重複率を計算する個数が少ない分だけ処理は早くなるが、原図形とかけはなれてしまうおそれがある。メッシュサイズが小さいと逆に原図形との近似は高くなるが、重複率の計算に時間がかかる。また、整形すべき原図形の大きさが一定でないときは、一定のしきい値では見栄えが悪くなる。よって、原図形の大きさによらずきれいに直角補正をするには、原図形の大きさに従って個々に閾値を算出すればよい。経験上、式ｓｑｒｔ（原図形面積÷１００）でしきい値を算出するのがよい。
【００３８】
図８（ｂ）に、メッシュＭ中に数字を記載して重複率計算の結果を示したが、各メッシュＭについて、回転図形との重複率を計算して、重複率５０％を越えるメッシュを抽出して結合し、求める整形図形とする。
図８（ｃ）は得られた整形図形６０と回転図形（原図形）１０’の形状の関係を示す。各メッシュの採用を決める重複率のしきい値をどの程度にするかは、適宜決めることができる。
そして、整形図形６０を先の回転とは逆に同じだけ回転すれば、求める直線化及び直角補正がされた整形図形が得られる。
【００３９】
図９には、実施形態２についての、直角化処理の結果を示す。この場合、直角化処理のためのメッシュサイズは、原図形面積を約１００分割するもので、先に述べたように、式ｓｑｒｔ（面積１０６．６５÷１００）で求め、１．０３ｍである。
【００４０】
図９（ａ）は求めた整形図形と原図形を回転した回転図形１０’との関係を示す。メッシュサイズを原図形面積を約１００分割するものとすれば、非常に近似度の高い整形図形が得られている。図９（ｂ）には、逆回転で元の位置に戻された整形図形６０を示す。ちなみに、この整形図形６０の（Ｘ，Ｙ）座標は次のとおりであり、面積は１０２．８７ｍ2である。
【００４１】
頂点      Ｘ      Ｙ
ｑ１    -8.652  30.038
ｑ２    -4.169  32.570
ｑ３    -5.688  35.260
ｑ４     2.381  39.818
ｑ５     6.433  32.645
ｑ６    -6.120  25.554
このようにして、図５（ａ）に示した原図形から図９（ｂ）に示すような直線化直角化された整形図形が得られたことになる。
【００４２】
先に述べたように、等積矩形を求めて原図形との重複率を評価することなく、すべて原図形に対してメッシュによる直角補正を行うこともできるが、家屋形状を直角補正する場合には、極力矩形にしたいので、重複率の大きな図形は矩形にしたほうがよい。そうすることにより処理ステップを減らすこともできる。重複率のしきい値は経験上ないし見た目から判断して９０％前後がよい。
【００４３】
次に、図１０〜１１に示すフローチャートにより、本発明の実施形態の一例であるフローの詳細を説明する。図１に示した実施形態の概要との対応は次のとおりである。
図１０は、基線抽出ステップ１００に対応する基線抽出までのステップＳ１〜Ｓ７を示し、図１１は、整形図形生成ステップ２００に対応する基線を基準に直線化直角化を行うステップＳ８〜Ｓ１６を示す。整形図形生成ステップ２００の等積矩形生成ステップ２１０は、ステップＳ８〜Ｓ１０に対応し、整形図形選択ステップ２２０は、ステップＳ１１〜Ｓ１６に対応する。
まず、ステップＳ１（図１０）で、原図形の座標を読み出す。
【００４４】
ステップＳ２では、所定のＸＹ座標系（通常表示画面の水平垂直をＸＹ方向とする。）のＸ軸及びＹ軸に平行な辺を有する矩形であって、原図形に外接するものを作成し、原図形との接点を求める。
実際には、Ｘ座標が最大最小となる点、Ｙ座標が最大最小となる点を求めることになる。
ステップＳ３では、得られた接点を順次結線し、第１次単純化図形を作成する。
ステップＳ４では、原図形と第１次単純化図形との差分を抽出する。
【００４５】
ステップＳ５では、抽出した差分に対して、ステップ２と同様な単純化処理を行う。すなわち、各差分に対して、Ｘ軸Ｙ軸に平行な辺を有する外接矩形を作成し、その接点を抽出する。
ステップＳ６では、第１次単純化図形の頂点ではない接点が得られると、それを追加して接点間を順次結ぶ。このようにして第２次単純化図形を得る。
この単純化処理は必要ならステップ４に戻って複数回実行することができる。ステップＳ７では、第２次単純化ポリゴンの各辺の長さを比較し、最長辺を基線として抽出する。
【００４６】
このように基線抽出処理が終わると、ステップＳ８（図１１）に進む。
ステップＳ８では、基線をＸ軸に平行になるように原図形を回転させる。
ステップＳ９では、回転した原図形に対して、Ｘ軸（基線方向）に平行な辺をもつ外接矩形を形成し、その重心を求める。
ステップＳ１０では、外接矩形の重心を移動させることなく、外接矩形の縦横比に比例して縦横を伸縮させ、原図形と同面積の等積矩形を求める。
【００４７】
ステップＳ１１では、等積矩形と回転させた原図形との重複率を求め、求めた重複率と所定の設定値と比較する。重複率が設定値より大であるなら、ステップＳ１２に進み、重複率が設定値以下であるなら、ステップＳ１３に進む。
ステップＳ１２では、等積矩形を求める整形図形とする。
ステップＳ１６で、この等積矩形を逆回転して元の位置に戻せば、求める直線化及び直角補正がされた整形図形が得られる。
【００４８】
ステップＳ１３では、ステップＳ１１で、等積矩形と原図形との重複率が設定値以下である場合に、先に得た重心を基準として原図形を覆うメッシュを作成する。
ステップ１４では、各メッシュについて、原図形との重複率を計算し、所定値と比較して、所定値を越えるメッシュを選択する。
ステップ１５では、選択したメッシュを連結して整形図形とする。
ステップＳ１６で、この整形矩形を逆回転して、元の位置に戻せば、求める直線化及び直角補正がされた整形図形が得られる。
【００４９】
なお、このフローでは、ステップ１１において、等積矩形の重複率により、異なる整形図形を得るようにしたが、ステップ１１のような分岐判断を介することなく、いずれかの整形図形のみを得るようにすることもできる。
最後に、図１２を参照して、単純化回数すなわち原図形を単純化する回数について説明する。
一般的には、単純化の回数は２回が適当である。単純化処理を重ねることは、原図形の形状を回復してゆくことになり、目的とする原図形の単純化に逆行することになりかねない。また、各線分が短くなることから、基線抽出にも影響する。
【００５０】
図１２（ａ）〜（ｃ）に、折れ曲がりの多いガタガタした原図形Ａに対して、作成された第１〜３次単純化図形Ａ１〜Ａ３を重ねて示す。原図形は細線で示し、単純化図形は太線で示す。原図形は５３の頂点があり、各頂点の座標が与えられている。
水平垂直の４辺からなる外接矩形による第１の単純化処理を行うと、図１２（ａ）に示すような五角形の第１次単純化図形Ａ１が得られる。
【００５１】
以下に、第１次単純化により抽出される座標を記載する。頂点番号は左下の頂点をｐ１として、右回りにｐ５３までふられている。
【００５２】
頂点    Ｘ      Ｙ
ｐ１     4.901   3.254
ｐ１２     4.386  14.189
ｐ２６    16.222  15.862
ｐ３０    19.566  15.090
ｐ４３    15.578   3.254
なお、外接図形が四角形ではなく五角形となったのは、Ｙ軸の最小値を２頂点（１，４３）が占めるからである。
図１２（ｂ）は第２次単純化図形Ａ２、図１２（ｃ）は第３次単純化図形Ａ３を示す。本例の場合、単純化回数と単純化図形と原図形との接点の数の対応は次のとおりである。
【００５３】
単純化回数  接点数
０         53
１          5
２         34
３         55
本例の場合第２次単純化図形Ａ２と原図形との接点が３４に増えている。さらに第３次単純化図形Ａ３では、接点は５５にも達している。この例によっても、原図形を単純化しつつ原図形の特徴をある程度反映するようにするには、単純化処理は２回が適当であることが分かる。
ただし、単純化の程度が低くとも、原図形の特徴をあらわしているほうがよい場合には、単純化処理の回数は適宜選択できるものである。また、単純化処理を１回で済ませる場合も考えられる。
【００５４】
【発明の効果】
本発明の図形整形プログラムによれば、原図形の直線化と直角補正とが同時に自動処理できる。また、どのような原図形に対しても、最適な近似形状を選択することができる。さらに、データ圧縮が可能である。
本発明の基線選択プログラムによれば、最適な基線を自動的に選択抽出ができ、オペレータの基線選択を不要にすることができる。
【図面の簡単な説明】
【図１】本発明の実施形態の概要を示す図である。
【図２】本発明の実施形態１の第１次単純化処理を示す図である。
【図３】本発明の実施形態１の基線抽出処理を示す図である。
【図４】本発明の実施形態１の整形図形作成処理を示す図である。
【図５】本発明の実施形態２の第１次単純化処理を示す図である。
【図６】本発明の実施形態２の基線抽出処理を示す図である。
【図７】本発明の実施形態２の等積矩形作成処理を示す図である。
【図８】本発明の実施形態２のメッシュ作成処理を示す図である。
【図９】本発明の実施形態２の整形図形作成処理を示す図である。
【図１０】本発明の実施形態の基線抽出までのフローを示すフローチャートである。
【図１１】本発明の実施形態の基線抽出後整形図形を得るまでのフローを示すフローチャートである。
【図１２】本発明の単純化処理の回数選択を説明する図である。
【符号の説明】
Ｇ…重心
Ｌ…基線
Ｍ…メッシュ
【図１】
0004027130.tif 000002
【図２】
0004027130.tif 000003
【図３】
0004027130.tif 000004
【図４】
0004027130.tif 000005
【図５】
0004027130.tif 000006
【図６】
0004027130.tif 000007
【図７】
0004027130.tif 000008
【図８】
0004027130.tif 000009
【図９】
0004027130.tif 000010
【図１０】
0004027130.tif 000011
【図１１】
0004027130.tif 000012
【図１２】
0004027130.tif 000013