FITCIRCLE

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

関連項目

名前

fitcircle − 球面上の点に対して最も良く合う大円[又は小円]の平均位置と極 を見つける

書式

fitcircle [ xyfile ] −Lnorm [ −H[i][nrec] ] [ −S ] [ −V ] [ −:[i|o] ] [ −bi[s|S|d|D][ncol] ] [ −f[i|o]colinfo ]

説明

fitcircle は経度、緯度[又は緯度、経度]の値を標準入力[又は xyfile ]の最 初の 2 列から読み込む。これらは単位球のカルテジアンの 3 次元ベクトル に 変 換される。それから、入力された位置の平均と、入力された位置に最も良く 合う大円の極という 2 つの位置を見つける。ユーザはこの問題に対して 2 通 りの解法のうちの 1 つあるいは両方を選ぶことができる。 1 番目は −L1 と呼 ばれ 2 番目は −L2 と呼ばれる。データが大円に沿って近くに集合している と き は両者の解はほぼ同じになる。データが大きく離散しているときは、大円の 極は平均ほどには良く決まらない。定性的な検査をするためには両方の解を 比 較すること。

−L1 の解は角距離のコサインの絶対値の和を近似的に最小にするのでそう呼ば れる。この解は平均位置をデータのフィッシャー平均、極の位置を平均とデ ー タ の外積のフィッシャー平均として求める。外積を平均することにより、平均 からの距離に比例して重みが与えられる。これは平面内の線型回帰における 遠 い点による「てこの力」に類似している。

−L2 の解は角距離のコサインの平方の和を近似的に最小にするのでそう呼ばれ る。これはデータのベクトルの成分の平方の和の 3 行 3 列の行列を作る。 こ の 行列の固有ベクトルが平均と極の位置を与える。この方法は数千のデータが あるときにはより丸め誤差の影響を受けやすくなることがある。極は最小固 有 値 に対応する固有ベクトルで与えられる。それはデータの中で最も表しにくい 要素であり、どちらの方法でも容易には推定できない。

−L

必要な norm を 1 又は 2 で指定するか、両方の解を求めるに は −L 又は −L3 を使うこと。

オプション

xyfile

経度、緯度[緯度、経度]の値を最初の 2 列に含むアスキー[ 又はバイナリ、 −b 参照]ファイル。ファイルが指定されないときは、 fitcircle は標準入力から読み込む。

−H

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

−S

大円ではなく小円に当てはめるようにする。極は最も良く合う大 円の極とデータの平均位置を結ぶ大円上になるように制約される。

−V

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

−:

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

−bi

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

−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 の設定を用いてより多くの桁数 を 指定すること。

フ ァイル ship.xyg に蛇行した航跡に沿った経度、緯度、重力のデータが入っ ているとする。このデータを大円上に投影し、フィルタをかけたりスペクト ル を調べたりするために等間隔にサンプルし直す。

fitcircle ship.xyg −L2

project ship.xyg −Cox/oy −Tpx/py −S −Fpz | sample1d −S−100 −I1 > output.pg

ここで、 ox/oyfitcircle で求めた経度/緯度の平均で、 px/py は極の 経 度/ 緯度である。ファイル output.pg には距離、 ship.xyg に最も良く合う大 円に沿った 1 km 間隔の重力データが入っている。

関連項目

GMT(l), project(l), sample1d(l)