SPLITXYZ

名前
書式
説明
オプション
アスキー形式の精度

関連項目

名前

splitxyz − (x,y,z[,distance,heading]) データを (x,y,z) の測線のセグメン トに分割するフィルタ

書式

splitxyz [ xyz[dh]file ] −Ccourse_change [ −Aazimuth/tolerance ] [ −Dminimum_distance ] [ −Fxy_filter/z_filter ] [ −Ggap_distance ] [ −H[i][nrec] ] [ −M ] [ −Nnamestem ] [ −Qflags ] [ −S ] [ −V ] [ −Z ] [ −:[i|o] ] [ −b[i|o][s|S|d|D][ncol] ] [ −f[i|o]colinfo ]

説明

splitxyz は一連の (x,y[,z]) の行[又は随意で (x,y,z,d,h) 、 −S オプショ ン参照] を標準入力[又は xyz[dh]file ]から読んで、各々のセグメントが x,y 平面上でほぼ一定の方位になるような一連の (x,y[,z]) の別々のリストに分割 する。これらのセグメントが特定の方向を持つようにしたり、最短の長さを 設 定 したり、 z の値や x,y の値についてのハイパス又はローパスフィルタをか けたりといったオプションがある。 splitxyzpswiggle で描画する前に デ ータを抽出する有用なフィルタであり、また大きな x,y,z のデータセットをセ グメントに分割するのにも使える。出力は常にアスキーフォーマットであり 、 入力はアスキー又はバイナリにすることができる( −b 参照)。

xyz[dh]file(s)

3 (ただし −Z 参照) [又は 5] 列のアスキーファイル[又はバイナリ、 −b 参照]で、 (x,y,z[,d,h]) のデータ値を持つ。 (x,y,z,d,h) の 入 力を用いるには、 d が減少しないように並べ替え、 −S オプションを 指定すること。デフォルトでは (x,y,z) のみを想定している。ファイ ルを指定しないときは、 splitxyz は標準入力から読み込む。

−C

角度 course_change を超える進行方向の変化が検知されるとセグ メントを終了する。

オプション

−A

北から時計回りに計った進行方向の角度 [0 - 360] が azimuth から +/- tolerance 以内のセグメントだけを書き出す [デフォルトで は方向に関わらず全ての許容できるセグメントを書き出す]。

−D

少なくとも minimum_distance 単位の長さでない限りセグメン ト を書き出さない[ 0 ]。

−F

d 座 標 の 関数として z の値や x,y の値をフィルタする。 xy_filterz_filter は距離の単位のフィルタの幅である。フィ ル タ の幅がゼロのとき、フィルタリングは実行されない。幅の絶対値は コサイン型のローパスフィルタの全幅である。幅が正のときは、デ ー タ にはローパスフィルタがかけられる。負のときは、データは観測値 からローパスの値を差し引くことによりハイパスフィルタがかけら れ る 。 z_filter がゼロでないときは、セグメント分割が行われる前に 入力された z の値全体がフィルタされるので、フィルタリングにおけ る エ ッ ジ 効 果 は デ ー タ全体の始めと終わりにしか生じない。 xy_filter がゼロでないときは、データはまずセグメントに分割さ れ てから各セグメントの x,y の値が別々にフィルタされる。このため各 セグメントの両端にエッジ効果が生じる可能性があるが、ロ ー パ ス x,y フィルタにより測線セグメントの角が丸まるのを防止する [デフ ォルト = フィルタリングなし]。

−G

gap_distance を超える隙間がセグメントにできないようにする。 その代わり、 2 つのセグメントに分割する [デフォルトでは隙間を無 視する]。

−H

入力ファイルにヘッダ行がある時に使う。 ヘ ッ ダ 行 の 数 は .gmtdefaults4 ファイルを編集することにより変更できる。このオプ ションが使われた場合、 GMT のデフォルトではヘッダ行は 1 行で あ る。入力データだけにヘッダ行が必要な場合は −Hi を使うこと [デフ ォルトでは入力データにヘッダ行があればそれも出力される]。バイナ リデータには使わないこと。

−M

地図の単位を使う。このとき x,y は経度、緯度の度、距離はキロ メートル単位になる [デフォルトでは距離はカルテジアンで x,y と同 じ単位]。

−N

各セグメントを作業ディレクトリの namestem.profile# という名 前の別々のファイルに書き出し、名前付きの出力ファイルを作る。 # は 1 から連続して増加する [デフォルトでは全体を標準出力に書き出 し、セグメントは > マークで始まるサブヘッダにより分割される]。

−Q

必要な出力を xyzdh の任意の組合せ、任意の順序で指定する。文 字の間に空白を入れないこと。小文字を使うこと。出力は xyzdh に対 応する値のアスキー(又はバイナリ、 −bo 参照)の列になる [デフォル トは −Qxyzdh ( −Z が設定されているときは −Qxydh )]。

−S

d と h が与えられている。この場合、入力には x,y,z,d,h が含 まれる [デフォルトでは (x,y,z) の入力を想定しており、 d,h は デ ルタ x, デルタ y から −M オプションにより計算される]。

−V

冗長モードを選択する。標準エラー出力に経過報告を送る[デフォ ルトでは「黙って」実行する]。

−Z

データは x,y のみ( z 列なし)。

−:

入出力の(経度、緯度)と(緯度、経度)を入れ替える [デフォル ト は(経度、緯度)]。 i を付けると入力のみが、 o を付けると出力のみ が入れ替わる [デフォルトでは両方入れ替わる]。

−bi

バイナリ入力を選択する。単精度に対しては s を付けること [ デ フォルトは d (倍精度)]。大文字の S (又は D) にするとバイトス ワップを行う。随意で、バイナリファイルの列数がこのプログラム で 必 要な列数を越えるときは、バイナリファイルの列数 ncol を付ける こと [デフォルトは −S, −Z の設定により 2, 3, 又は 5 入力列]。

−bo

バイナリ出力を選択する。単精度に対しては s を付けること [ デ フォルトは d (倍精度)]。大文字の S (又は D) にするとバイトス ワップを行う。随意で、バイナリ出力ファイルの必要な列数 ncol を 付けること [デフォルトは −Q の設定により 1-5 出力列]。

−f

入 出 力列の特殊フォーマットを使う(時間又は地理データ)。 i(nput) 又は o(utput) を指定すること [デフォルトでは入力と出 力 の 両方]。コンマ区切りで 1 列以上(又は列の範囲)を与えること。各 列又は列の範囲の項目に対して T (絶対暦時刻)、 t (選 択 さ れ た TIME_EPOCH に対する相対時間)、 x (経度)、 y (緯度)、 f (小数) のいずれかを付けること。 −f[i|o]g−f[i|o]0x,1y (地理座標) の 省略形である。

アスキー形式の精度

数値データのアスキー出力形式は .gmtdefaults4 ファイルのパラメータによっ て決まる。緯度経度は OUTPUT_DEGREE_FORMAT に従ってフォーマットされ、 一 方 、他の値は D_FORMAT に従ってフォーマットされる。フォーマットの結果と して出力の精度が落ちて、その先の処理に影響する可能性があることに注意 す ること。十分な精度で出力されていないと思ったら、バイナリ出力に変更する( もし使えるなら −bo とする)か、 D_FORMAT の設定を用いてより多くの桁数 を 指定すること。

領 域 −R300/315/12/20 における cag71 という航海からほぼ東西方向のセグメ ント上の地磁気異常の図を作る。このとき 100km のローパスフィルタを用いて 測線を滑らかにし、 500km のハイパスフィルタを用いて地磁気異常のトレンド を除去する。

gmtlist cag71 −R300/315/12/20 −Fxyzdh | splitxyz −A90/15 −F100/-500 −M -D100 −S −V | pswiggle −R300/315/12/20 −Jm0.6 −Ba5f1:.cag71: −T1 −W0.75p −Ggray −Z200 > cag71_wiggles.ps

MGD-77 ユーザへ。この応用に関しては、 d,h を splitxyz に別々に計算さ せ るのでなく、 mgd77list から取り出すことを推奨する。

あ る調査における緯度、経度、重力を含む倍精度のバイナリファイルが与えら れたとき、 survey.profile# という名前のプロファイルに分割する( 隙 間 が 100 km 以上のとき)。

splitxyz survey.bin −Nsurvey −V −G100 −D100 −: −M −bi3

関連項目

GMT(l), mgd77list(l), pswiggle(l)