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

掲示板

トップページ > 記事閲覧
ポリゴン上のシンボル・注記の配置
日時: 2012/02/27 19:14
名前: akirax1

お世話になります

2点調べても分からず投稿しました。

@ポリゴン(線)上に注記を自動配置させているのですが、注記を全てポリゴンの外側に配置する方法が分かりません。
座標値によって注記原点を変えるのか、また別のコマンドで外に配置するのか、不明です。
Aポリゴン上にシンボル、注記を指示点〜次の指示点で等間隔に配置したいのですが、ポリゴン上で指示点間の距離を測定する方法が不明です。

FGOLPOS→FGCURDB→FGINPUTで現状実装しています。

宜しくお願い致します。
メンテ

Page: 1 |

Re: ポリゴン上のシンボル・注記の配置 ( No.1 )
日時: 2012/02/28 14:30
名前: GEOSISサポート

akirax1様

@注記を必ず北上で表示する場合は、FGGET2PANGLEで角度を測り外側に文字列が来るように注記原点を決めてください。
 注記をポリゴンに沿って表示する場合は、FGGET2PANGLEで角度を測り、注記に角度を付けて登録してください。
 ※ポリゴンの外周が凹型の箇所では、注記がポリゴンに重なってしまうことがあります。

Aポリゴン上で指示点間の距離を測定する方法は、以下の処理をお試しください。
 ※ポリゴンの点を指示することと時計周りで計測することを前提とします。
 1)FGGETINFOコマンドで指示点〜次の指示点の座標値を取得します。
 2)FGGETFIGコマンドで距離を測るポリゴンをALLで取得します。
 3)2)の中間ファイルから指示点の座標値のレコードをFGPLUSコマンドで出力します。
 4)2)の中間ファイルから次の指示点の座標値のレコードまで3)で出力した中間ファイルにFGPLUSコマンドで出力します。
   ※終点を跨って計測する場合は、FGSEEKコマンドでカレントレコードを先頭にしてください。
 5)4)で作成された中間ファイルをFGDISTコマンドで距離を取得してください。
   ※FGSEEKコマンドでカレントレコードを先頭にする必要があります。

速度が出ない場合は、FGEX系コマンドをご使用ください。
メンテ
Re: ポリゴン上のシンボル・注記の配置 ( No.2 )
日時: 2012/02/28 14:48
名前: akirax1

GEOSISサポート様

回答ありがとうございました。

@、A実装して確認します。

Aで時計逆回りも想定しているのですが、方法が全く違ったもの、若しくは実現できないものですか?

メンテ
Re: ポリゴン上のシンボル・注記の配置 ( No.3 )
日時: 2012/02/28 19:35
名前: GEOSISサポート

akirax1様

時計逆回りを実現するためには、以下の手順で処理を行ってください。
@FGGETINFOコマンドで指示点〜次の指示点の座標値を取得します。
AFGO2Tコマンドで指示点からのラインどちらかを選択します。
BAで指示したラインをFGGETFIGコマンドのパラメータ3にLINを設定し、取得します。
 ※パラメータ3にLINを設定すると、選択したラインの終点が取得されます。
CBで取得した座標値が指示点の座標値と同一でなかったら、先ほどアナウンスさせて頂いた方法の2)から
 時計回りでの計測を行ってください。
 ※次の指示点の座標値のレコードまでFGSEEKのパラメータ2には、INCを設定して処理を行って下さい。
DBで取得した座標値が指示点と同一だった場合は、時計逆回りの計測を行います。
E先ほどアナウンスさせて頂いた方法の3)までは同じ処理で、4)の処理を下記の処理に変更してください。
 FGPLUSコマンドで出力する座標値を時計回りと逆の座標値を出力します。
 ※次の指示点の座標値のレコードまでFGSEEKのパラメータ2には、DECを設定して処理を行って下さい。
  始点を跨って計測する場合は、FGSEEKコマンドでカレントレコードを最後のレコードにしてください。
メンテ
Re: ポリゴン上のシンボル・注記の配置 ( No.4 )
日時: 2012/02/29 18:01
名前: akirax1

お世話になります。

FGBUNKで設定した位置を始点、終点としてシンボルを配置する予定でしたが、FGOLPOSでポリゴン始点を跨る配置が出来ません。

※回答の確認まで到達出来ていません・・・
メンテ
Re: ポリゴン上のシンボル・注記の配置 ( No.5 )
日時: 2012/03/01 10:19
名前: GEOSISサポート

akirax1様

FGOLPOSでポリゴン始点を跨る配置で失敗しているのは、始点(終点)でFGOLPOSコマンドの走査が終了しているのが原因です。
以下の処理で回避可能です。
・FGCHGPOLSPコマンドでポリゴンの始点をFGBUNKで指示した点に変更する
・中間ファイル(ポリゴン)の内容をFGBUNKで指示した点が始点になるよう再作成する
・下記の処理のFGDISTコマンドに渡す中間ファイルをFGOLPOSコマンドのパラメータ1に設定する。

申し訳御座いません。
始めにアナウンスさせて頂いた処理に誤りがありました。
修正した処理を記載いたします。

 1)FGGETINFOコマンドで指示点,次の指示点の座標値を取得します。
 2)FGGETFIGコマンドで距離を測るポリゴンをALLで取得します。
 3)2)の中間ファイルのレコードをFGSEEKコマンド+FGGETINFOコマンドで1レコードづつ座標値を取得し、
   指示点の座標値と同じ座標値のレコードにカレントレコードを移動します。
 4)FGCURDBコマンドで指示点の座標値を格納した中間ファイルを新規に作成します。
 5)3)の中間ファイルから次の指示点の座標値のレコードまで4)で作成した中間ファイルにFGCURDBコマンドで座標値を追加します。
   ※FGSEEKコマンド+FGGETINFOコマンドで1レコードづつ座標値を取得してください。
   ※終点を跨って計測する場合は、FGSEEKコマンドでカレントレコードを先頭にしてください。
    (同一座標値が見つかる前にFGSEEKコマンドでエラーが出た場合。)
 6)5)で作成された中間ファイルをFGDISTコマンドで距離を取得してください。
   ※FGSEEKコマンドでFGDISTコマンドに渡す中間ファイルのカレントレコードを先頭にする必要があります。

速度が出ない場合は、FGEX系コマンドをご使用ください。
メンテ
Re: ポリゴン上のシンボル・注記の配置 ( No.6 )
日時: 2012/03/01 14:50
名前: akirax1

お世話になります

・FGCHGPOLSPコマンドでポリゴンの始点をFGBUNKで指示した点に変更する

ここまで到達していましたが、それ以降をロジックに起こせなかったため、別の手段で対応しています。
@基準点=始点を事前に設定しておく
A右回り、左回り共、指示した点から基準点まで指定間隔でシンボル・注記を配置
(基準点=指定点の場合は全点に配置)

時間が無いため暫定対処しています。

次回提供時にご教示頂いた方法に変えたいと思います。

詳細内容でのご回答、ありがとうございました。
メンテ

Page: 1 |



| 利用規約 |

(C) 2024 AS Locus INC.