名前

       splitxyz - (x,y,z[,distance,heading]) データを (x,y,z) の測線
のセグメントに分割します


概要

       splitxyz [ xyz[dh]file ] -Ccourse_change [  -Aazimuth/tol-
       erance ] [ -Dminimum_distance ] [ -Fxy_filter/z_filter ] [
-Ggap_distance ] [ -H[nrec] ] [ -M ] [ -Nnamestem ] [ -S ]
[ -V ] [ -Z ] [ -: ] [ -bi[s][n] ] [ -bo[s][n] ]


記述

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

xyz[dh]file(s) 3 (ただし -Z 参照) [または 5] 列の ASCII ファイル[ま
たはバイナリ、 -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 以下の長さのセグメントは出力しませ
ん[デフォルト = 100 ]。

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

-G gap_distance を超えるギャップがセグメントにできない
ようにします; 代わりに、2つのセグメントに分割します
[デフォルト = 10 ]。

-H 入力ファイルにヘッダレコードがあります。ヘッダレコ
ードの数は .gmtdefaults ファイルを編集することによ
り変更できます。このオプションが使われた場合、 GMT
のデフォルトではヘッダレコードは1行です。バイナリ
データには用いられません。

-M マップの単位を使います。このとき x,y は経度、緯度の
度、距離はキロメートルになります[デフォルト: 距離は
カルテジアンで x,y と同じ単位]。

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

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

-V 冗長モードを選択します。標準エラー出力に経過報告を
送ります[デフォルトでは"静かに"走ります]。

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

-: 入出力の(経度,緯度)と(緯度,経度)を入れ替えます。[デ
フォルトは(経度,緯度)です]。地理座標のみに適用されま
す。

-bi バイナリ入力を選択します。単精度に対しては s を付け
加えます[デフォルトは倍精度です]。バイナリファイルの
列数に応じて n を付け加えてください[デフォルトは -S,
 -Z の設定により 2, 3, または 5 列になります]。

-bo バイナリ出力を選択します。単精度に対しては s を付け
加えます[デフォルトは倍精度です]。


用例

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

gmtlist cag71 -R300/315/12/20 -Fxyzdh | splitxyz -A90/15
-F100/-500 -M -S -V | pswiggle -R300/315/12/20 -Jm0.6
-Ba5f1:.cag71: -T1 -W3 -G200 -Z200 > cag71_wiggles.ps

MGD-77 ユーザへ: この応用について、 d,h を splitxyz に別々
に計算させるのでなく、 gmtlist から取り出すことを推奨しま
す。
ある調査における緯度、経度、重力を含む倍精度のバイナリファ
イルが与えられたとします。これを survey.profile# という名前
のプロファイルに分割します(ギャップが 100 km 以上のとき):

splitxyz survey.bin -Nsurvey -V -G100 -: -M -bi3


関連事項

       gmt(l), gmtlist(l), pswiggle(l)



1 May 2003 SPLITXYZ(l)

Man(1) output converted with man2html