ようこそゲストさん | ログイン |

掲示板

トップページ > 過去ログ > 記事閲覧
隣接するポリゴンの確認について
日時: 2008/05/30 11:58
名前: GEOSISサポート受付

Geosis Ver6.0 以降のコマンドでお伺いしたい点があります。

筆界をポリゴンで形成している中、分筆処理、あるいは地図訂正処理の一貫として該当筆界図形を削除の上、既に入力された座標データに基づいて新ポリゴンを発生させて入替えるという処理を行いたいのですが、

1) ポリゴンが複数形成されている中に、新規図形aのポリゴンを展開させたときに、図形aポリゴンの構成点が、確実に周囲にある他のポリゴン図形に対してOP/OPLLしているかを確認

2) もし、図形aポリゴンの構成点がOP/OPLLでないときは、シンボルを発生させユーザーに図形形状の変更を求める。

という処理を行いたいと思います。

現状考えた処理は、

a) 新図形aの最小最大座標に基づき矩形の中間ファイルαを作成。
b) 中間ファイルα内に入る筆界ポリゴン図形をFGAREA等で抽出、中間ファイルβへ。
c) 新規図形aの座標点を先頭から抽出して、中間ファイルγを作成
d) 中間ファイルβの中にある1以上n個ある図形ポリゴンをn回ループさせつつ抽出、そのつど全点展開させ、FGINOUTでチェック。
e) ループ内でFGINOUT の戻り値が0であればフラグを立てる。
f) 中間ファイルβの全図形を検出し、フラグの有無でシンボルの発生を決定する。

という形で検討しましたが、
中間ファイルαを元に抽出するβの数が不特定多数であった場合、また、ポリゴンをそのつど全点展開して調べなければならないという点で処理に時間がかかる可能性があるのではないかと考えています。

他に時間短縮が出来るような方法があるのであれば教えていただきたいのですが。

Page: 1 |

Re: 隣接するポリゴンの確認について ( No.1 )
日時: 2008/05/30 11:59
名前: NCG

e)でFGINTOUTでデータのチェックを行っておりますが、FGINOUTでは内部の点、線上の点、点上の点の区別がつかないため、OP/OPLLの判断を行うことができません。
以下方法での処理作成をご検討下さい。
※処理時間の短縮につきましては、一概に申し上げられませんので、各処理を比較していただきますようお願い申し上げます。

@新図形aが格納された中間ファイルAを作成。
A 中間ファイルAに隣接する筆界ポリゴン図形をFGGETFIG(GRP)で抽出して中間ファイルBへ。
  ※分筆の場合は分筆後のポリゴンが2つあるためFGGETFIGAを使用
B中間ファイルAの中に新図形aが存在する場合はそのデータを中間ファイルから削除。
  ※分筆の場合は分筆元分筆後のポリゴンが存在する場合は中間ファイルから削除
C中間ファイルBをFGGTOAして中間ファイルCを作成
D中間ファイルCを作業用図面に登録(FGINPUT)
E中間ファイルAの各点でOPを実行し、OPに失敗した場合はOPLLを実行します。
  どちらも失敗した場合はOP/OPLLがされていない点となりシンボル発生の対象となります。
 ※OP/OPLL時の検索対象はDで登録した作業用図面のみとします。

Page: 1 |



| 利用規約 |

(C) 2024 AS Locus INC.