(57)【特許請求の範囲】
【請求項１】
隣同士の特徴点間の線単位からなる基準線、当該基準線とその両側にこれと平行な態様で作成される第１のポリゴン構成線との間の第１の距離および、当該基準線の端点である特徴点とこれの外側に当該特徴点の当該線単位に対応した当該第１のポリゴン構成線同士を連結する態様で作成される第２のポリゴン構成線との間の第２の距離、の各ポリゴン作成用データが入力手段から入力されて記憶手段に保持され、ポリゴン作成手段が、当該記憶手段の当該各ポリゴン作成用データに基づいて、当該基準線から当該第１の距離相当分および当該第２の距離相当分だけともに離間した態様で当該基準線を取り囲む形のポリゴンレコードを生成するポリゴンレコード自動作成方法であって、
前記ポリゴン作成手段は、
前記基準線の特徴点データおよび前記第１の距離データを用いることにより、前記線単位の各々の両側に前記第１のポリゴン構成線の基となる平行線を求め、
前記平行線を示すデータを用いることにより、前記基準線の端点を除いた前記特徴点のそれぞれにつながっている前記線単位に対応する当該平行線同士の第１の交点を求め、
前記基準線の特徴点データ，前記平行線を示すデータおよび前記第２の距離データを用いることにより、前記端点としての前記特徴点に対する一対の前記平行線上の、当該特徴点からこれに垂線を下ろしたときの第２の交点部分よりも前記第２の距離相当分だけ前記外側の方向に離間した位置に、前記第２のポリゴン構成線との連結部となる特徴端点を設定し、
前記第１の交点を示すデータおよび前記特徴端点を示すデータを用いることにより、前記第１の交点および前記特徴端点を前記基準線上の前記特徴点の並び順にしたがって位置データの形で連結した前記ポリゴンレコードを生成する、
ことを特徴とする基準線周りのポリゴンレコード自動作成方法。
【請求項２】
前記ポリゴン作成手段は、
前記生成後の複数のポリゴンレコードの前記位置データを用いることにより、
前記位置データで特定されるポリゴン特徴点のそれぞれが前記ポリゴンレコードに基づく他のポリゴンの内側に位置しているかどうかを調べてその内外フラグを当該位置データに追加し、
任意の前記ポリゴンレコードに基づく隣同士の前記ポリゴン特徴点間の線部分ごとにそれが他の前記ポリゴンレコードに基づく同様の線部分のそれぞれと交差しているかどうかを調べ、交差している場合には、その交点の位置データ及び交差フラグからなる新データを前記ポリゴンレコードの各対応部分に追加し、
これらの追加処理後のポリゴンレコードそれぞれのデータ群に対し、任意の当該ポリゴンレコードの内側フラグがたっていない部分の位置データを順番に連結していき、その途中で交差フラグがたっている場合には他の当該ポリゴンレコードの対応部分から同様の処理を実行することを繰り返して前記複数のポリゴンレコードの統合ポリゴンレコードを生成する、
ことを特徴とする請求項１記載の基準線周りのポリゴンレコード自動作成方法。
【請求項３】
前記ポリゴンレコードは、それに対応するポリゴン内部の表示属性情報を付加したものである、
ことを特徴とする請求項１記載の基準線周りのポリゴンレコード自動作成方法。
【請求項４】
前記統合ポリゴンレコードは、それに対応するポリゴン内部の表示属性情報を付加したものである、
ことを特徴とする請求項２記載の基準線周りのポリゴンレコード自動作成方法。
【請求項５】
隣同士の特徴点間の線単位からなる基準線、当該基準線とその両側にこれと平行な態様で作成される第１のポリゴン構成線との間の第１の距離および、当該基準線の端点である特徴点とこれの外側に当該特徴点の当該線単位に対応した当該第１のポリゴン構成線を連結する態様で作成される第２のポリゴン構成線との間の第２の距離、の各ポリゴン作成用データを入力するための入力手段と、
入力された前記各ポリゴン作成用データを保持する記憶手段と、
前記基準線から前記第１の距離相当分および前記第２の距離相当分だけともに離間した態様で当該基準線を取り囲む形のポリゴンレコードを、前記記憶手段の前記各ポリゴン作成用データに基づいて生成するポリゴン作成手段と、を備えたポリゴンレコード自動作成装置であって、
前記ポリゴン作成手段は、
前記基準線の特徴点データおよび前記第１の距離データを用いることにより、前記線単位の各々の両側に前記第１のポリゴン構成線の基となる平行線を求め、
前記平行線を示すデータを用いることにより、前記基準線の端点を除いた前記特徴点のそれぞれにつながっている前記線単位に対応する当該平行線同士の第１の交点を求め、
前記基準線の特徴点データ，前記平行線を示すデータおよび前記第２の距離データを用いることにより、前記端点としての前記特徴点に対する一対の前記平行線上の、当該特徴点からこれに垂線を下ろしたときの第２の交点部分よりも前記第２の距離相当分だけ前記外側の方向に離間した位置に、前記第２のポリゴン構成線との連結部となる特徴端点を設定し、
前記第１の交点を示すデータおよび前記特徴端点を示すデータを用いることにより、前記第１の交点および前記特徴端点を前記基準線上の前記特徴点の並び順にしたがって位置データの形で連結した前記ポリゴンレコードを生成する、
ことを特徴とする基準線周りのポリゴンレコード自動作成装置。
【請求項６】
前記ポリゴン作成手段は、
前記生成後の複数のポリゴンレコードの前記位置データを用いることにより、
前記位置データで特定されるポリゴン特徴点のそれぞれが前記ポリゴンレコードに基づく他のポリゴンの内側に位置しているかどうかを調べてその内外フラグを当該位置データに追加し、
任意の前記ポリゴンレコードに基づく隣同士の前記ポリゴン特徴点間の線部分ごとにそれが他の前記ポリゴンレコードに基づく同様の線部分のそれぞれと交差しているかどうかを調べ、交差している場合には、その交点の位置データ及び交差フラグからなる新データを前記ポリゴンレコードの各対応部分に追加し、
これらの追加処理後のポリゴンレコードそれぞれのデータ群に対し、任意の当該ポリゴンレコードの内側フラグがたっていない部分の位置データを順番に連結していき、その途中で交差フラグがたっている場合には他の当該ポリゴンレコードの対応部分から同様の処理を実行することを繰り返して前記複数のポリゴンレコードの統合ポリゴンレコードを生成する、
ことを特徴とする請求項５記載の基準線周りのポリゴンレコード自動作成装置。
【請求項７】
前記ポリゴン作成手段は、
前記ポリゴンレコードに、それの対応するポリゴン内部の表示属性情報を付加する機能を有している、
ことを特徴とする請求項５記載の基準線周りのポリゴンレコード自動作成装置。
【請求項８】
前記ポリゴン作成手段は、
前記統合ポリゴンレコードに、それの対応するポリゴン内部の表示属性情報を付加する機能を有している、
ことを特徴とする請求項６記載の基準線周りのポリゴンレコード自動作成装置。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
【課題を解決するための手段】
本発明は、基準線周りのポリゴンレコード自動作成方法およびそのための装置に関し、特に隣同士の特徴点間の線単位からなる基準線ならびに当該基準線の線部分からの第１の距離（例えば図１のｗ）および当該基準線の端点（特徴点）からの第２の距離（例えば図１のｋ）の各入力データに基づいて、当該基準線を取り囲む形のポリゴンを施設管理図，地形図，設計図などの各種図面上に表示するためのポリゴンレコードを自動的に求め、さらには複数のポリゴンの一部が重なっているときにはその重なり部分のポリゴン構成線を除いた状態のポリゴンレコードを自動的に求めるものである。
【０００２】
なお、本明細書では説明の便宜上、各種図面の一例として、ガス、水道、電気などの公益事業者が工事区域を示すときの対象図面である縮尺１／５００の道路台帳図を用いている。
【０００３】
一般に、道路台帳図などに例えば工事区域の範囲を明示しようとするときには、当該範囲の目安となる基準線を指示した後でこれを取り囲んだ形のポリゴンを作成しているが、この場合、見栄えがよいポリゴンを効率的に作成することが望ましく、本発明はこのような要請に応えるものである。
【０００４】
【従来の技術】
図19は、道路台帳図における管路（ガス管や水道管など）や、基準線およびそれに基づくポリゴンなどの概要を示す説明図であり、21は道路境界線、22は道路に埋設されたガス管や水道管などの管路表示線、23は工事区域の範囲を明示するために指示された基準線、24はこの元線に基づいて作成されたポリゴン、25および26はポリゴン構成線をそれぞれ示し、またＡ点〜Ｅ点はポリゴン構成線25の特徴点、Ａ′点〜Ｅ′点はポリゴン構成線26の特徴点をそれぞれ示している。
【０００５】
図20は、一般的な、コンピュータを用いて道路台帳図などの上に例えば工事区域を明示するときに用いるハードウェアの概要を示す説明図であり、31はホストコンピュータ、32は地図デ−タ、ポリゴンデータや設備デ−タ（例えば管路についての公共企業者入力データ）などを格納する大容量のディスク外部記憶装置、33はアプリケーションプログラムの格納領域34やワ−ク領域35を持つ記憶装置、36は図面番号等などの各種デ−タを入力するための操作部、37は各種データの入力状態や作成図面の内容等を確認するための表示部、38はポリゴン構成線25、26の各特徴点などを入力するためのディジタイザ、39は手作業により元線およびポリゴン構成線が記入された道路台帳図（入力用下図）、40はメニュー、41はポインティグデバイス、42は作成図面等を出力するためのプロッタをそれぞれ示している。
【０００６】
ここで、例えば工事区域を明示した道路台帳図などの図面を作成するには、基準線23に対応のポリゴン構成線25、26を入力用下図39に書き込んでからディジタイザ29に貼りつけた上で、当該ポリゴン構成線25、26の各特徴点（Ａ点〜Ｅ点およびＡ′点〜Ｅ′点）をポインティグデバイス41のカーソル操作により入力している。
【０００７】
ポリゴン構成線25、26を示すポリゴンデータは、その特徴点ごとの入力データを連結した形のベクトルデータとしてディスク外部記憶装置32に格納され、利用側からのプリント指示に基づいてプロッタ42はポリゴン構成線25、26を書き込んだ図面を出力する。
【０００８】
【発明が解決しようとする課題】
このように、従来の、入力用下図に例えば工事区域を示すポリゴン構成線を書き込んでからその特徴点を入力することによりポリゴン記入済図面を自動作成する方式では、もともと手作業で書き込んだポリゴン構成線をデ−タ化の対象としているため、意図している形状のポリゴンを簡単な作業で見栄え良く自動作成することが難しいという問題点があった。
【０００９】
そこで、本発明では、ポリゴン作成用の基準線を入力した上で、この基準線の両側に所定長だけ離れたポリゴン構成線を自動作成していくことにより、作成者側の作業負担を軽減しつつ、見栄えのよいポリゴン記入済図面を作成することを目的とする。
【００１０】
【課題を解決するための手段】
図１は本発明の基本構成図である。
図において、
１は、基準線およびその対応ポリゴンを示す図であり、
・点線（ａ−ｂ−ｃ）は、線単位（ａ−ｂ、ｂ−ｃ）が連続した基準線
・ａ〜ｃの各点は、基準線を特定している特徴点
・太線（Ａ−Ｂ−Ｃ−Ｃ′−Ｂ′−Ａ′−Ａ）は、基準線に基づいて自動作成したポリゴン構成線
・Ａ〜Ｃ′の各点は、ポリゴン構成線を特定している特徴点
・ｗは、基準線の線単位（ａ−ｂ、ｂ−ｃ）からポリゴン構成線（平行線部分）までの距離
・ｋは、基準線の各端点からポリゴン構成線（Ａ′ーＡ、ＣーＣ′の部分）までの距離
・Ｌ1 およびＬ1 ′は、線単位（ａ−ｂ）からｗだけ離れた平行線
・Ｌ2 およびＬ2 ′は、線単位（ｂ−ｃ）からｗだけ離れた平行線
・Ｂは、Ｌ1 とＬ2 との交点
・Ｂ′は、Ｌ1 ′とＬ2 ′との交点
をそれぞれ示している。
２は、記憶手段であり、基準線とポリゴン構成線との間の距離を指定するｗ，ｋやポリゴンレコードなどを保持している。
３は、入力手段であり、基準線（ａ−ｂ−ｃ）の位置デ−タ、ｗの値、ｋの値などを入力（変更）するためのものである。
４は、ポリゴン作成手段であり、入力手段３で指示された基準線（ａ−ｂ−ｃ）を取り囲む形のポリゴン構成線（Ａ−Ｂ−Ｃ−Ｃ′−Ｂ′−Ａ′−Ａ）を自動作成している。
【００１１】
ここで、ポリゴン構成線の特徴点Ａ，Ａ′，Ｃ，Ｃ′（基準線の端点ａ，ｃの対応点）の特定用デ−タとしては、特徴点（交点）Ｂ，Ｂ′から特徴点Ａ，Ａ′，Ｃ，Ｃ′端点までの長さを用いてもよい。
【００１２】
ｋ，ｗの値や基準線の特徴点の位置データがポリゴン作成処理プログラム中であらかじめ記述されている場合には、これらの値を変更するときに入力手段３が用いられる。
【００１３】
ポリゴン作成手段４における処理手順は次のようになっている。
▲１▼基準線の線単位（ａ−ｂ），（ｂ−ｃ）それぞれの両側にｗだけ離れた平行線Ｌ1 ，Ｌ1 ′，Ｌ2 ，Ｌ2 ′を設定するとともに、Ｌ1 とＬ2 との交点ＢおよびＬ1 ′とＬ2 ′との交点Ｂ′を算出する。
▲２▼ｋの値などを用いて、Ｌ1 およびＬ1 ′上に、基準線の特徴点ａに対応の端点ＡおよびＡ′を設定し、またＬ2 およびＬ2 ′上に、基準線の特徴点ｃに対応の端点ＣおよびＣ′を設定する。
▲３▼ポリゴン構成線（Ａ−Ｂ−Ｃ−Ｃ′−Ｂ′−Ａ′−Ａ）を示すポリゴンレコードを形成する。
【００１４】
本発明は、このように、例えば工事区域などを示すポリゴンを図面上に記入するに際し、担当者は当該ポリゴンの基準線の位置データおよび上記ｗ，ｋの各距離データを入力するだけでよく、ポリゴン構成線はこの入力データに基づいて自動作成されるようにしたものである。
【００１５】
図２(a) は、図１に対応の基準線レコードを示す説明図であり、ａ，ｂ，ｃの各特徴点の三つの位置デ−タがこの並び順で入力されている。
なお、デ−タ番号１の領域の３番目の要素に入っている「１」は基準線の始点を示すフラグであり、また「２」は基準線の終点を示すフラグである。
【００１６】
図２(b) は、図１に対応のポリゴンレコードを示す説明図であり、ポリゴン構成線のＡ，Ｂ，Ｃ，Ｃ′，Ｂ′，Ａ′，Ａの各特徴点の七つの位置データがこの並び順で設定されている。
【００１７】
なお、ポリゴンレコードにおける各位置データの連結順序はポリゴン構成線上での時計方向または半時計方向のいずれかに設定されており、図示の場合は時計方向である。
【００１８】
なお、ポリゴンレコードのヘッダ領域には表示属性情報が設定されており、利用者は自動作成したポリゴンをどのような形で表示するか、例えば、
・ポリゴン内部を特定の色で塗る
・ポリゴン内部に斜線を入れる
などの表示形態を、入力手段３から指示することができる。
【００１９】
図３は、複数のポリゴンが重なったときの統合ポリゴンの概念を示すもので、11は第１の基準線（ａ−ｂ−ｃ）、12は第２の基準線（ｄ−ｅ）、13は特徴点Ｂ１らの半直線、14は特徴点Ｂ′からの半直線をそれぞれ示している。
【００２０】
この場合、基準線11に対応のポリゴン構成線（Ａ−Ｂ−Ｃ−Ｃ′−Ｂ′−Ａ′−Ａ）と基準線12に対応のポリゴン構成線（Ｄ−Ｅ−Ｅ′−Ｄ′−Ｄ）とを個々に求めてから、これらの内で他のポリゴンに入り込んでいる線部分を除いた形の統合ポリゴン構成線（Ａ−Ｂ−Ｆ−Ｅ−Ｅ′−Ｇ−Ｃ−Ｃ′−Ｈ−Ｄ′−Ａ′−Ｄ−Ａからなる太線部分）を作成している。
【００２１】
なお、点Ｆは線部分ＢＣとＤＥとの交点、点Ｇは線部分ＢＣとＤ′Ｅ′との交点、点Ｈは線部分Ｂ′Ｃ′とＤ′Ｅ′との交点であり、また、特徴点Ｄは線部分ＡＡ′とＤＥとの交点、特徴点Ａ′は線部分Ａ′Ｂ′とＤＤ′との交点にもなっいる。
【００２２】
この統合ポリゴン構成線（太線部分）を作成する際には、
・ポリゴン構成線それぞれの各特徴点の中で他のポリゴンの内部に位置しているもの（図示の場合は特徴点Ｂ′）を求め、
・異なるポリゴン構成線の線部分同士の交点（図示の場合はＡ′，Ｄ，Ｆ，ＧおよびＨの各点）を求め、
・一方のポリゴン構成線の任意の外点（または交点）、例えばＡからその線上の各特徴点Ｂ，Ｃ・・を並び順にしたがって追っていき、その途中に交点Ｆがある場合には他のポリゴン構成線の対応交点Ｆからその線上の各特徴点Ｅ，Ｅ′・・を並び順にしたがって追っていくといったことを開始点Ａまで繰り返すことになる。（具体的な処理手順は図12および図13を参照）。
【００２３】
なお、ポリゴン構成線の各特徴点が前記内点であるかどうかの判定は、その特徴点から任意の方向に半直線13、14・・・を引いてそれと他のポリゴン構成線との交点の個数を求めることより行なわれ、
・当該個数が０または偶数のとき（Ｂの場合）は他のポリゴンの外点となり、
・当該個数が奇数のとき（Ｂ′の場合）は他のポリゴンの内点となる。
【００２４】
本発明はこのように任意の複数個数のポリゴンを統合する場合に適用できるものであるが、本明細書では、説明の便宜上、２個のポリゴンを統合する場合を例にとって説明する。また、以下の説明では必要に応じて、基準線11に対応のポリゴンレコードおよびポリゴン構成線を第１の・・・と記載し、基準線12に対応のポリゴンレコードおよびポリゴン構成線を第２の・・・と記載する。
【００２５】
本発明の基準線周りのポリゴンレコード自動作成方法およびそのための装置としての基本的構成は、
（１）隣同士の特徴点間の線単位からなる基準線、当該基準線とその両側にこれと平行な態様で作成される第１のポリゴン構成線との間の第１の距離および、当該基準線の端点である特徴点とこれの外側に当該特徴点の当該線単位に対応した当該第１のポリゴン構成線同士を連結する態様で作成される第２のポリゴン構成線との間の第２の距離、の各ポリゴン作成用データが入力手段から入力されて記憶手段に保持され、ポリゴン作成手段が、当該記憶手段の当該各ポリゴン作成用データに基づいて、当該基準線から当該第１の距離相当分および当該第２の距離相当分だけともに離間した態様で当該基準線を取り囲む形のポリゴンレコードを自動生成するに際し、
前記ポリゴン作成手段が、
前記基準線の特徴点データおよび前記第１の距離データを用いることにより、前記線単位の各々の両側に前記第１のポリゴン構成線の基となる平行線を求め、
前記平行線を示すデータを用いることにより、前記基準線の端点を除いた前記特徴点のそれぞれにつながっている前記線単位に対応する当該平行線同士の第１の交点を求め、
前記基準線の特徴点データ，前記平行線を示すデータおよび前記第２の距離データを用いることにより、前記端点としての前記特徴点に対する一対の前記平行線上の、当該特徴点からこれに垂線を下ろしたときの第２の交点部分よりも前記第２の距離相当分だけ前記外側の方向に離間した位置に、前記第２のポリゴン構成線との連結部となる特徴端点を設定し、
前記第１の交点を示すデータおよび前記特徴端点を示すデータを用いることにより、前記第１の交点および前記特徴端点を前記基準線上の前記特徴点の並び順にしたがって位置データの形で連結した前記ポリゴンレコードを生成する、
（２）上記（１）において、
前記ポリゴン作成手段が、
前記生成後の複数のポリゴンレコードの前記位置データを用いることにより、
前記位置データで特定されるポリゴン特徴点のそれぞれが前記ポリゴンレコードに基づく他のポリゴンの内側に位置しているかどうかを調べてその内外フラグを当該位置データに追加し、
任意の前記ポリゴンレコードに基づく隣同士の前記ポリゴン特徴点間の線部分ごとにそれが他の前記ポリゴンレコードに基づく同様の線部分のそれぞれと交差しているかどうかを調べ、交差している場合には、その交点の位置データ及び交差フラグからなる新データを前記ポリゴンレコードの各対応部分に追加し、
これらの追加処理後のポリゴンレコードそれぞれのデータ群に対し、任意の当該ポリゴンレコードの内側フラグがたっていない部分の位置データを順番に連結していき、その途中で交差フラグがたっている場合には他の当該ポリゴンレコードの対応部分から同様の処理を実行することを繰り返して前記複数のポリゴンレコードの統合ポリゴンレコードを生成する、
ことである。
【００２６】
【発明の実施の形態】
図４〜図18を参照して本発明の実施の形態を説明する。なお、本発明をサポートするハードウェアは図20と同様のものである。
図４および図５は、ポリゴンレコード生成のための処理手順を示す説明図でありその内容は次のようになっている。
【００２７】
(11)以下の変数や定数を設定して、次のステップに進む。
・基準線とポリゴン構成線との間隔を示すｋ、ｗ（図１参照）
・基準線レコードのデータ番号を示す変数ｉ
・基準線上の特徴点の総数Ｎ
・ポリゴンレコード中の位置データを示す（Ｘ，Ｙ）
(12)「１→ｉ」として、次のステップに進む。
(13)「ｉ＜Ｎ」であるかどうかを判断し、「YES 」の場合は次のステップに進み、「NO」の場合はステップ(23)に進む。
(14)基準線レコードのデータ番号ｉの特徴点およびデータ番号（ｉ＋１）の特徴点の位置データをワーク領域35から呼び出して、次のステップに進む。
(15)これらの位置データに基づいて、ｉの特徴点から（ｉ＋１）の特徴点に向かう線単位を表す式を算出し、次のステップに進む。
(16)当該線単位の両側にｗだけ離れた形で設定される平行線ｆL ( x,y ) ＝０およびｆR ( x,y ) ＝０を算出して、次のステップに進む。なお、ｆL ( x,y ) ＝０は線単位の左側の平行線を示し、ｆR ( x,y ) ＝０は線単位の右側の平行線を示している。
(17)「ｉ＝１」であるかどうかを判断し、「YES 」の場合は次のステップに進み、「NO」の場合はステップ(21)に進む。
(18)基準線レコードのデータ番号１の特徴点よりｆL ( x,y ) ＝０の平行線に垂線を下したときの交点からステップ(15)の前記線単位とは逆方向にｋだけ離れた当該平行線上の点を算出し、この算出値を( Ｘ1,Ｙ1 ）に保持して、次のステップに進む。
(19)基準線レコードのデータ番号１の特徴点よりｆR ( x,y ) ＝０の平行線に垂線を下したときの交点からステップ(15)の前記線単位とは逆方向にｋだけ離れた当該平行線上の点を算出し、この算出値を (Ｘ2N, Ｙ2N）に保持して、次のステップに進む。
(20)以下の処理を実行して、ステップ(13)に戻る。
・「ｉ＋１」→ｉ
・「ｆL ( x,y ) = ０」→「ｆL ′( x,y ) ＝０」
・「ｆR ( x,y ) = ０」→「ｆR ′( x,y ) ＝０」
(21)ｆL ( x,y ) ＝０およびｆL ′( x,y ) ＝０の解を（Ｘi,Ｙi ）として保持して、次のステップに進む。
(22)ｆR ( x,y ) ＝０およびｆR ′( x,y ) ＝０との解を（Ｘm,Ｙm ）として保持して、次のステップに進む。なお、「ｍ＝２Ｎ＋１−ｉ」である。
(23)基準線レコードのデータ番号Ｎの特徴点の位置データをワーク領域35から呼び出して次のステップに進む。
(24)基準線レコードのデータ番号Ｎの特徴点よりｆL ′( x,y ) ＝０の平行線に垂線を下したときの交点からステップ(15)の前記線単位の方向にｋだけ離れた当該平行線上の点を算出し、この算出値を( ＸN,ＹN ）に保持して、次のステップに進む。
(25)基準線レコードのデータ番号Ｎの特徴点よりｆR ′( x,y ) ＝０の平行線に垂線を下したときの交点からステップ(15)の前記線単位の方向にｋだけ離れた当該平行線上の点を算出し、この算出値を (ＸN+1,ＹN +1）に保持して、次のステップに進む。
(26) (Ｘ2N+1, Ｙ2N+1）として（Ｘ1,Ｙ1 ）を保持して、ポリゴンレコード生成の一連の処理を終了する。
【００２８】
なお、以上の処理におけるｆL ( x,y ) = ０およびｆR ( x,y ) = ０の算出法や、ステップ(21)および(22)での計算対象となる平行線同士の傾きの差が少なくてその解が求まらないときの処理などは特開平７−２００８６０号公報で開示している。
【００２９】
図６は、統合ポリゴンレコード生成の処理手順（概要）を示す説明図でありその内容は次のようになっている。
(31)統合対象のポリゴンレコードをワーク領域から呼び出す。
(32)ポリゴンレコードのデータにより特定されるポリゴン特徴点のそれぞれが当該ポリゴンレコードに基づく他のポリゴンの内側に位置しているかどうかを調べてその対応フラグ（ＩＮ，ＯＵＴ）を当該データに追加する。
(33)任意のポリゴンレコードに基づく隣同士の前ポリゴン特徴点間の線部分ごとにそれが他のポリゴンレコードに基づく当該線部分のそれぞれと交差しているかどうかを調べ、交差している場合には、その交点の位置データ及び交差フラグからなる新データをポリゴンレコードの各対応部分に追加する。
(34)追加処理後のポリゴンレコードそれぞれのデータ群に対し、任意の当該ポリゴンレコードの、内側の対応フラグが立っていないデータから順番に保持していき、この保持データに交差フラグが立っている場合には他の当該ポリゴンレコードの対応部分から同様の処理を行なうといったことを繰り返すことによって、統合ポリゴンレコードを生成する。
【００３０】
図７〜図９は、図６のステップ(32)で用いられる内外対応フラグ追加用ルーチンを示す説明図でありその内容は次のようになっている。
(41)以下の変数や定数を設定して、次のステップに進む。
・第１のポリゴンレコードのデータ数 (特徴点数＋１）を示すＰ
・第１のポリゴンレコードのデータ番号を示す変数ｊ
・第２のポリゴンレコードのデータ数（特徴点数＋１）を示すＴ
・第２のポリゴンレコードのデータ番号を示す変数ｔ
・交点の総数を示す変数ｇ
(42)「１→ｊ」として、次のステップに進む。
(43)「ｊ＜Ｐ」であるかどうかを判断し、「YES 」の場合は次のステップに進み、「NO」の場合はステップ(54)に進む。ここで、「NO」となるのは、第１のポリゴンレコードの各データへの対応フラグ（ＩＮ，ＯＵＴ）の設定が終了したときである。
(44)以下の処理を実行して、次のステップに進む。
・「０→ｇ」
・「１→ｔ」
(45)第１のポリゴンレコードのデータ番号ｊの特徴点から始まる半直線を設定して（図３参照）、次のステップに進む。
(46)「ｔ＜Ｔ」であるかどうかを判断し、「YES 」の場合は次のステップに進み、「NO」の場合はステップ(55)に進む。ここで、「NO」となるのは、前のステップで設定した半直線と第２のポリゴンレコードに対応のポリゴン構成線の線部分すべてとの交差の有無についての算出が終了したときである。
(47)当該半直線が、第２のポリゴンレコードのデータ番号ｋの特徴点およびデータ番号（ｋ＋１）の特徴点間を結ぶ線分と交差するかどうかを判断し、「YES 」の場合は次のステップに進み、「NO」の場合はステップ(49)に進む。
(48)「ｇ＋１→ｇ」として、次のステップに進む。
(49)「ｔ＋１→ｔ」として、ステップ(46)に戻る。
(50)ｇの値は「０」または偶数であるかどうかを判断し、「YES 」の場合は次のステップに進み、「NO」の場合はステップ(52)に進む。
(51)第１のポリゴンレコードのデータ番号ｊのデータに外点フラグ（ＯＵＴ）を追加して、ステップ(53)に進む。
(52)第１のポリゴンレコードのデータ番号ｊのデータに内点フラグ（ＩＮ）を追加して次のステップに進む。
(53)「ｊ＋１→ｊ」として、ステップ(43)に戻る。
【００３１】
以上の処理で第１のポリゴンレコードの各データ部分に対応フラグが設定されることになり、これに続いて第２のポリゴンレコードの各データ部分への対応フラグの設定処理に移行する。
【００３２】
(54)「１→ｔ」として、次のステップに進む。
(55)「ｔ＜Ｔ」であるかどうかを判断し、「YES 」の場合は次のステップに進み、「NO」の場合は一連の処理を終了する。
(56)以下の処理を実行して、次のステップに進む。
・「０→ｇ」
・「１→ｔ」
(57)第２のポリゴンデータのデータ番号ｔの特徴点から始まる半直線を設定して、次のステップに進む。
(58)「ｊ＜Ｐ」であるかどうかを判断し、「YES 」の場合は次のステップに進み、「NO」の場合はステップ(62)に進む。
(59)当該半直線が、第１のポリゴンレコードのデータ番号ｊの特徴点およびデータ番号（ｊ＋１）の特徴点間を結ぶ線分と交差するかどうかを判断し、「YES 」の場合は次のステップに進み、「NO」の場合はステップ(61)に進む。
(60)「ｇ＋１→ｇ」として、次のステップに進む。
(61)「ｊ＋１→ｊ」として、ステップ(58)に戻る。
(62)ｇの値は「０」または偶数であるかどうかを判断し、「YES 」の場合は次のステップに進み、「NO」の場合はステップ(64)に進む。
(63)第２のポリゴンレコードのデータ番号ｔのデータに外点フラグ（ＯＵＴ）を追加してステップ(65)に進む。
(64)第２のポリゴンレコードのデータ番号ｔのデータに内点フラグ（ＩＮ）を追加して次のステップに進む。
(65)「ｔ＋１→ｔ」として、ステップ(55)に戻る。
【００３３】
なお、ステップ(47)および(59)の判断において、半直線の始点が他方のポリゴン構成線の判定対象の線部分と重なっているような場合、例えば図３の始点Ｄが線部分Ｄ′Ｄの上に位置している場合は交差しないものとし、当該始点のデータ部分には「ＩＮ」の対応フラグを立てている。
【００３４】
図10および図11は、図６のステップ(33)で用いられる新データ追加用ルーチンを示す説明図でありその内容は次のようになっている。
(71)以下の変数や定数を設定して、次のステップに進む。
・第１のポリゴンレコードのデータ数 (特徴点数＋１）を示すＰ
・第１のポリゴンレコードのデータ番号を示す変数ｊ
・第２のポリゴンレコードのデータ数（特徴点数＋１）を示すＴ
・第２のポリゴンレコードのデータ番号を示す変数ｔ
(72)「１→ｊ」として、次のステップに進む。
(73)「ｊ＜Ｐ」であるかどうかを判断し、「YES 」の場合は次のステップに進み、「NO」の場合はステップ(88)に進む。
(74)第１のポリゴンレコードのデータ番号ｊの特徴点と、データ番号（ｊ＋１）の特徴点とを結ぶ線部分Ｌを表す式を求め、次のステップに進む。
(75)「１→ｔ」として、次のステップに進む。
(76)「ｔ＜Ｔ」であるかどうかを判断し、「YES 」の場合は次のステップに進み、「NO」の場合はステップ(87)に進む。
(77)第２のポリゴンレコードのデータ番号ｔの特徴点と、データ番号（ｔ＋１）の特徴点とを結ぶ線部分Ｌ′を表す式を求め、次のステップに進む。
(78)線部分のＬとＬ′は交差しているかどうかを判断し、「YES 」の場合は次のステップに進み、「NO」の場合はステップ(86)に進む。
(79)線部分のＬとＬ′との交点を求めて、次のステップに進む。
(80)当該交点の位置データおよび交点フラグ（ＣＲＯＳＳ）からなる新データを、第１のポリゴンレコードのデータ番号ｊとデータ番号（ｊ＋１）との間にデータ番号なし（ＮＵＬＬ）の状態でリンクして、次のステップに進む。
(81)当該データ番号の間にリンクされている新データは複数であるかどうかを判断し、「YES 」の場合は次のステップに進み、「NO」の場合はステップ(86)に進む。ここで、「YES 」となるのは、例えば図３の線部分ＢＣのデータ部分に交点Ｆおよび交点Ｇの新データがリンクされた場合である。
(82)当該新データのそれぞれを、対応する交点とデータ番号ｊの特徴点との距離が短い順に再リンクして、次のステップに進む。
(83)当該交点の位置データおよび交点フラグ（ＣＲＯＳＳ）からなる新データを、第２のポリゴンレコードのデータ番号ｔとデータ番号（ｔ＋１）との間にデータ番号なし（ＮＵＬＬ）の状態でリンクして、次のステップに進む。
(84)当該データ番号の間にリンクされている新データは複数であるかどうかを判断し、「YES 」の場合は次のステップに進み、「NO」の場合はステップ(86)に進む。
(85)当該新データのそれぞれを、対応する交点とデータ番号ｔの特徴点との距離が短い順に再リンクして、次のステップに進む。
(86)「ｔ＋１→ｔ」として、ステップ(76)に戻る。
(87)「ｊ＋１→ｊ」として、ステップ(73)に戻る。
(88)第１および第２のポリゴンレコードそれぞれの、各データのデータ番号をその並び順にしたがって再付与するとともに、データ数を更新して一連の処理を終了する。
【００３５】
以上の新データ追加用ルーチンにおいては、第１のポリゴン構成線の線部分ごとにそれが第２のポリゴン構成線の線部分のそれぞれと交差するかどうかを調べ、交差するときにはその新データを第１のポリゴンレコードの対応部分にリンクする〔ステップ(80)参照〕とともに、この新データを第２のポリゴンレコードの対応部分にリンクしている〔ステップ(83)参照〕。
【００３６】
ステップ(78)の「交差するかどうか」の判断に際してはその対象となる線部分の端点での重なりを含める、すなわち図３の線部分Ａ′Ａは線部分ＤＥと点（特徴点）Ｄで交差するものとしている。
【００３７】
この交点Ｄの新データを第１のポリゴンレコードの線部分Ａ′Ａのデータ部分に追加するのは当然であるが、第２のポリゴンレコードの線部分ＤＥのデータ部分については新データを追加する形はとらずに特徴点Ｄに交差フラグ「ＣＲＯＳＳ」を立てるようにしている。なお、特徴点Ｄにすでに設定されている外点フラグ「ＯＵＴ」を併存させるかどうかは任意である。
【００３８】
図12および図13は、図６のステップ(34)で用いられるポリゴン統合用ルーチンを示す説明図でありその内容は次のようになっている。
(91)以下の変数や定数を設定して、次のステップに進む。
・ステップ(88)実行後の、第１のポリゴンレコードのデータ数Ｖ（図14参照）
・第１のポリゴンレコードのデータ番号を示す変数ｍ
・ステップ(88)実行後の、第２のポリゴンレコードのデータ数Ｗ（図15参照）
・第２のポリゴンレコードのデータ番号を示す変数ｎ
・統合ポリゴンレコードのデータ番号を示す変数ｐ
・統合ポリゴンレコードの位置データＺ
(92)以下の処理を実行して、次のステップに進む。
・「１→ｍ」
・「１→ｐ」として、次のステップに進む。
(93)「ｍ＜Ｖ」であるかどうかを判断し、「YES 」の場合は次のステップに進み、「NO」の場合は一連の処理を終了する。
(94)第１のポリゴンレコードのデータ番号ｍの位置データをＺ(p) として、次のステップに進む。
(95)「ｐ＋１→ｐ」として、次のステップに進む。
(96)第１のポリゴンレコードのデータ番号ｍのフラグに「ＣＲＯＳＳ」が立っているかどうかを判断し、「YES 」の場合はステップ(98)に進み、「NO」の場合は次のステップに進む。
(97)「ｍ＋１→ｍ」として、ステップ(93)に戻る。
(98)第２のポリゴンレコードの中からステップ(94)の位置データと合致するデータを探し、その次のデータ番号をｎとして、次のステップに進む。
(99)「ｎ＜Ｗ」であるかどうかを判断し、「YES 」の場合は次のステップに進み、「NO」の場合はステップ(97)に戻る。
(100) 第２のポリゴンレコードのデータ番号ｎのフラグに「ＩＮ」が立っているかどうかを判断し、「YES 」の場合はステップ(97)に戻り、「NO」の場合は次のステップに進む。
(101) 第２のポリゴンレコードのデータ番号ｎの位置データをＺ(p) として、次のステップに進む。
(102) 「ｐ＋１→ｐ」として、次のステップに進む。
(103) 第２のポリゴンレコードのデータ番号ｎのフラグに「ＣＲＯＳＳ」が立っているかどうかを判断し、「YES 」の場合はステップ(105) に進み、「NO」の場合は次のステップに進む。
(104) 「ｎ＋１→ｎ」として、ステップ(101) に戻る。
(105) 第１のポリゴンレコードの中から当該データ番号ｎの位置データと合致するデータを探し、そのデータ番号をｍとして、ステップ(97)に戻る。
【００３９】
ステップ(99)は、第２のポリゴン構成線のデータ番号ｎのデータが存在しない場合に対処するためであり、例えば図３における統合ポリゴン（位置データ）の連結をＡ−Ｂ−・・・・・・Ｈ−Ｄ′−Ｄと行ない、続いて第１のポリゴン構成線の交点Ｄからこれに対応の第２のポリゴン構成線の特徴点Ｄを探してステップ(98)のデータ番号ｎを求めたときにはこのステップ(99)の判断が「NO」となって第１のポリゴン構成線に対する処理が継続され、次の特徴点（始点）Ａの位置データが統合ポリゴンに連結されることになる。（図14〜図16参照）。
【００４０】
以上のポリゴン統合用ルーチンにおいては、第１のポリゴンレコードのデータ番号１の対応点（特徴点または交点）からデータ番号順にその位置データを順に連結し、交差フラグ「ＣＲＯＳＳ」が立っているデータのとき〔ステップ(96)参照〕には第２のポリゴンレコードの対応データからデータ番号順にその位置データを順に連結している。
【００４１】
そして、第１のポリゴンレコード中の交差フラグによって第２のポリゴンレコードに対応のいわば外側線部分へと移行した統合ポリゴン構成線は必ず第１のポリゴン構成線と交差し、その後は再び第１のポリゴンレコードに対応の外側線部分に戻るといったことを、第１のポリゴンレコードのデータ番号１の対応点に行き着くまで繰り返している。
【００４２】
なお、このポリゴン統合処理の場合、第１のポリゴンレコードのデータ番号１のデータ部分に「ＩＮ」のフラグが立っていない、すなわちこの対応点が他のポリゴンの内部に位置していないことが前提となっている。
【００４３】
したがって、ポリゴン作成手段４は、最初に選択した第１のポリゴンレコードがこの条件を満たしていないと判断したとき、
・第１のポリゴンレコードの再選択
・最初に選択した第１のポリゴンレコードのデータ番号１のデータ部分の変更
などの処理を実行する。
【００４４】
図14および図15は、図３の第１のポリゴンレコードの変化の様子を示す説明図であり、
・図７〜図９の処理によって特徴点Ｂのデータ部分に「ＯＵＴ」のフラグが、また他の各特徴点のデータ部分には「ＩＮ」のフラグがそれぞれ立ち、
・図10〜図11の処理によってＦ，Ｇ，Ｈの３個の交点の対応データがそれぞれ追加され、特徴点かつ交点のＡ′のデータ部分に交差フラグが立ち、
・図10のステップ(88)の実行によってデータ数を更新し、交点Ｆ，Ｇの対応データの連結順を逆にしている
などの特徴がみられる。
【００４５】
図16および図17は、図３の第２のポリゴンレコードの変化の様子を示す説明図であり、
・図７〜図９の処理によって特徴点すべてのデータ部分に「ＯＵＴ」のフラグが立ち、
・図10〜図11の処理によってＦ，Ｇ，Ｈ，Ａ′の４個の交点の対応データがそれぞれ追加され、特徴点かつ交点のＤのデータ部分に交差フラグが立ち、
・図10のステップ(88)の実行によってデータ数を更新し、交点Ｇ，Ｈの対応データの連結順を逆にしている
などの特徴がみられる。
【００４６】
図18は、図３の統合ポリゴンレコードを示す説明図であり、
当該統合ポリゴンレコードは、
・第１のポリゴンレコードのデータ番号１〜３、５〜７、１０および１１の各位置データ（８個）
・第２のポリゴンレコードのデータ番号３〜５、７および８の各位置データ（５個）
の計１３個の位置データからなっている。
【００４７】
以上の説明ではポリゴンレコードとしてその生成時点のデータ数が５個や７個といったものを便宜的に用いているが、実際の施設管理図、地形図、設計図などの各種図面の中で表示するときのポリゴンレコードのデータ数は例えば 500個〜 600個である。
【００４８】
また、統合ポリゴンレコードのヘッダ部分にポリゴン内部の表示属性情報を付加して用いることができるのは勿論のことであり、統合対象ポリゴンのそれぞれが指定する表示属性情報が異なる場合には所定の優先順位にしたがって処理することになる。
【００４９】
本発明は、このように、各種図面上における基準線および上記ｗ，ｋの距離データを指示すれば、この基準線を取り囲む形のポリゴンレコードを自動生成し、また、複数のポリゴンレコードに対応の各ポリゴン構成線の中で他のポリゴン内部に入り込んでいる部分を除いた形の統合ポリゴンレコードを自動生成し、さらにはポリゴン内部の表示態様をポリゴンレコードや統合ポリゴンレコードで指示するようにしているため、作成者側の作業負担を軽減しつつ、見栄えのよいポリゴン記入済図面を作成することができる。
【図面の簡単な説明】
【図１】本発明の、基本構成図である。
【図２】図１の、基準線レコードおよびポリゴンレコードを示す説明図である。
【図３】本発明の、複数のポリゴンが重なったときの統合ポリゴンの概念を示す説明図である。
【図４】本発明の、ポリゴンレコード生成のための処理手順を示す説明図（その１）である。
【図５】本発明の、ポリゴンレコード生成のための処理手順を示す説明図（その２）である。
【図６】本発明の、統合ポリゴンレコード生成のための処理手順（概要）を示す説明図である。
【図７】図６の、ステップ(32)で用いられる内外対応フラグ追加用ルーチンを示す説明図（その１）である。
【図８】図６の、ステップ(32)で用いられる内外対応フラグ追加用ルーチンを示す説明図（その２）である。
【図９】図６の、ステップ(32)で用いられる内外対応フラグ追加用ルーチンを示す説明図（その３）である。
【図１０】図６の、ステップ(33)で用いられる新データ追加用ルーチンを示す説明図（その１）である。
【図１１】図６の、ステップ(33)で用いられる新データ追加用ルーチンを示す説明図（その２）である。
【図１２】図６の、ステップ(34)で用いられるポリゴン統合用ルーチンを示す説明図（その１）である。
【図１３】図６の、ステップ(34)で用いられるポリゴン統合用ルーチンを示す説明図（その２）である。
【図１４】図３の、第１のポリゴンレコードの変化を示す説明図（その１）である。
【図１５】図３の、第１のポリゴンレコードの変化を示す説明図（その２）である。
【図１６】図３の、第２のポリゴンレコードの変化を示す説明図（その１）である。
【図１７】図３の、第２のポリゴンレコードの変化を示す説明図（その２）である。
【図１８】図３の、統合ポリゴンレコードを示す説明図である。
【図１９】一般的な、道路台帳図における管路（ガス管や水道管など）や、基準線およびそれに基づくポリゴンなどの概要を示す説明図である。
【図２０】一般的な、コンピュータを用いて道路台帳図などの上に例えば工事区域を明示するときに用いるハードウェアの概要を示す説明図である。
【符号の説明】
図１において、
１・・・基準線および対応ポリゴンを示す図
２・・・記憶手段
３・・・入力手段
４・・・ポリゴン作成手段
ｗ・・・基準線（ａ−ｂ−ｃ）とポリゴン構成線（Ａ−Ｂ−Ｃ−Ｃ′−Ｂ′−Ａ′−Ａ）との距離
ｋ・・・基準線の端点ａ，ｃとポリゴン構成線の線部分Ａ′Ａ，ＣＣ′との距離
【図１】
0003845137.tif 000002
【図２】
0003845137.tif 000003
【図３】
0003845137.tif 000004
【図４】
0003845137.tif 000005
【図５】
0003845137.tif 000006
【図６】
0003845137.tif 000007
【図７】
0003845137.tif 000008
【図８】
0003845137.tif 000009
【図９】
0003845137.tif 000010
【図１０】
0003845137.tif 000011
【図１１】
0003845137.tif 000012
【図１２】
0003845137.tif 000013
【図１３】
0003845137.tif 000014
【図１４】
0003845137.tif 000015
【図１５】
0003845137.tif 000016
【図１６】
0003845137.tif 000017
【図１７】
0003845137.tif 000018
【図１８】
0003845137.tif 000019
【図１９】
0003845137.tif 000020
【図２０】
0003845137.tif 000021