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

掲示板

トップページ > 過去ログ > 記事閲覧
ラインとポリゴンの交差とポリゴンの中抜き処理について
日時: 2007/05/24 16:36
名前: GEOSISサポート受付

GEOSIS-OCX Ver 6.0以降で以下のような処理を行いたいのですが、適時使用できるコマンドはあるのでしょうか。

1)ポリゴン上を横断するラインを描画したあとで、ポリゴンと重なるライだけを残したい。
  ポリゴン内部からスタートしている場合、または完全に横断していない場合はエラ返したい。
2)複数ライン図形が交差しているかを検出したい。
3)起点-終点が一致していないラインの始点をマウスで指示し、ライン追跡形での描画、ポリゴンにしたい。
4)ポリゴンa内にあるポリゴンb、cを用いて、ポリゴンaの中抜きポリゴン化を行いたい。
以上の処理を行えるコマンドはあるのでしょうか。もし、Ver 7.0で達成できているのであればそれも含めて教えていただければ幸いです。

Page: 1 |

Re: ラインとポリゴンの交差とポリゴンの中抜き処理について ( No.1 )
日時: 2007/05/24 16:37
名前: NCG

1)の回答
  @対象ラインデータに対しZONEBUFFERで少しだけ膨らませたポリゴンを作成
     ↓
  A@で作成したポリゴンを使用して重ならなければいけないポリゴンをFGGETFIGで取得
    (ポリゴンが取得出来なければ重なっていないラインという事になります)
     ↓
  B取得したポリゴンとラインの交差を調べる
    Aでデータが取得できた場合には、取得されたポリゴンの1つ1つとラインの交点をFGCROSSLINEで求めます。
   交点数が偶数の場合はそのポリゴンとラインは交差している。(始終点がポリゴン内部にない)
   交点数が奇数の場合はOPされているか、始終点のどちらかがポリゴン内部に存在する交点数が0の場合は始終点がOPされているか交差していない。

 ※”ポリゴンと重なるラインだけを残す”とは、ポリゴン上を横断しているラインだけを残すということと判断し、B操作を回答いたしました。
 ”ポリゴンと重なっている部分だけを残す”がポリゴンに重なっている部分のみを取得する場合には、FGPOLCUTを行って下さい。

2)の回答
  1)と同様に各々のラインに対しFGCROSSLINEで交点数を求める事で図形が交差しているか調べることが可能です。

3)の回答
  FGO2Tのトレースモード(パラメータ2で指定)に設定することで可能となります。
  ※既存のラインの形状を使用する場合には、既存ラインの点列を格納した中間ファイルをパラメータ15に指定することで、ラインの終点から入力を行うことが可能となります。

4)の回答
  FGPOLNAKAで中抜きを1つ1つを作成する事で可能となります。
  出来たポリゴンにFGRBPOLを行うと、中抜き線のラインタイプを変更することが出来ます。

Page: 1 |



| 利用規約 |

(C) 2024 AS Locus INC.