project − データを線又は大円に沿って投影したり、プロファイルトラックを 作成したり、座標変換をしたりする。 |
project [ infile ] −Ccx/cy [ −Aazimuth ] [ −Dd|g ] [ −Ebx/by ] [ −Fflags ] [ −Gdist ] [ −H[i][nrec] ] [ −L[w][l_min/l_max] ] [ −M[i|o][flag] ] [ −N ] [ −Q ] [ −S ] [ −Tpx/py ] [ −V ] [ −Ww_min/w_max ] [ −:[i|o] ] [ −b[i|o][s|S|d|D][ncol] ] [ −f[i|o]colinfo ] |
project は任意の (x, y[, z])
データを標準入力[又は infile ]から読み込ん で (x,
y, z, p, q, r, s)
の任意の組合せを標準出力に書き出す。ここで (p, q)
は投影された座標、 (r, s) は (x, y)
座標系における位置で、プロファイ ル (q = 0 の経路) は
(x, y) に最も近い位置になり、 z
は入力された残り全 ての列である(必要な x と y
の列以外)。代わりに、 project はプロファイル に沿った
(r, s, p) を等しい間隔 dist
で作成することもできる。この場 合( −G
オプション)、入力は読み込まれない。投影法は次の 3
つのうちの任意の( ただし単独の) 1 つで定義される。 (定義 1)
中心 −C と北から時計回りの 方 位 角
−A 。 (定義 2) 投影経路の始点 −C
と終点 −E 。 (定義 3) 中心 −C と
回転極の位置 −T
。大円経路に沿って球面上にデータを投影するときには、 赤 道
がその経路に沿い、ゼロ子午線が中心を通るような斜めの座標系が作られる
。このとき斜め経度 (p)
は中心からの距離に対応し、斜め緯度 (q) は大円 経
路に下ろした垂線の距離に対応する。増加する (p)
方向に動くと( azimuth の 方向 B へ向かって)
正の (q) 方向は左側になる。極が指定されているとき は
、正の (q) 方向はその極の側になる。 |
−C |
定義 1 と 2 では cx/cy に投影の原点が設定される。定義 3 が 使 われるときは( −T )、 cx/cy には斜めゼロ子午線 (p = 0) が通過 する点の座標が設定される。 |
infile |
2 列以上の (x,y,[z]) データを持つアスキー(またはバイ ナ リ 、 −bi 参照)ファイルの名前。ファイル名が与えられないときは、 project は標準入力から読み込む。 −G オプションが選択されたと き は、入力データは読み込まれない。 |
||
−F |
xyzpqrs の中から任意の組合せ、任意の順番で求める出力を指定 すること。文字の間に空白を入れないこと。小文字を使うこと。出 力 は xyzpqrs [ デフォルト]に対応した値のアスキー(又はバイナリ、 −bo 参照)の列になる。入力と出力の両方にアスキーフォーマットを使 うときは z データは文字列として扱われる。 −G オプションが選択さ れたときは、出力データは rsp になる。 |
||
−A |
azimuth は投影方位を定義する(定義 1 )。 |
||
−D |
経度の不連続の位置を設定する( r 座標)。 −Dd とすると不連 続 は日付変更線になる(-180 < r < 180)。 −Dg とするとグリニッジ子午 線になる(0 < r < 360)。デフォルトでは通常 atan2 を呼び出すた め 日付変更線になる。 |
||
−E |
bx/by は投影経路の終点を定義する(定義 2 )。 |
||
−G |
dist を生成するモード。入力は読み込まない。 dist ごとに (r, s, p) の出力点を p の単位で作成する。 −Q オプション参照。 |
||
−H |
入力ファイルにヘッダ行がある時に使う。 ヘ ッ ダ 行 の 数 は .gmtdefaults4 ファイルを編集することにより変更できる。このオプ ションが使われた場合、 GMT のデフォルトではヘッダ行は 1 行で あ る。入力データだけにヘッダ行が必要な場合は −Hi を使うこと [デフ ォルトでは入力データにヘッダ行があればそれも出力される]。 |
||
−L |
長さの制御。 p 座標が l_min < p < l_max の範囲にある点だ け を 投影する。 −E が設定されているときは、 −Lw を使うと C から E までの範囲になる。 |
||
−M |
複数のセグメントからなるファイルであることを意味する。セ グ メ ントは特別な行で区切られる。アスキーファイルでは最初の文字は flag でなければならない [デフォルトは’>’]。バイナリファイルでは 全てのフィールドが NaN で、 −b に明示的に出力する列数を設定しな ければならない。デフォルトでは −M の設定は入力と出力の両方に 適 用される。別々に設定するには −Mi 及び −Mo を使うこと。 |
||
−N |
平面地球。平面上でカルテジアン座標変換を行う [デフォルトで は球面三角法を使う]。 |
||
−Q |
地図型の単位、すなわち project は x, y, r, s が度で p, q, dist, l_min, l_max, w_min, w_max が km であると仮定する。 −Q が 設定されないと、これらは全て同じ単位と見なされる。 |
||
−S |
出力を p が増加するように並べ替える。ランダムなデータを連続 的なプロファイルに投影するのに便利。 |
||
−T |
px/py は投影の回転極の位置を設定する(定義 3 )。 |
||
−V |
冗長モードを選択する。標準エラー出力に経過報告を送る[デフォ ルトでは「黙って」実行する]。 |
||
−W |
幅の制御。 q 座標が w_min < q < w_max の範囲にある点だけ 投 影する。 |
||
−: |
入出力の(経度、緯度)と(緯度、経度)を入れ替える [デフォルト は(経度、緯度)]。 i を付けると入力のみが、 o を付けると出力のみ が入れ替わる [デフォルトでは両方入れ替わる]。 |
||
−bi |
バイナリ入力を選択する。単精度に対しては s を付けること [ デフォルトは d (倍精度)]。大文字の S (又は D) にするとバイト ス ワ ップを行う。随意で、バイナリファイルの列数がこのプログラムで 必要な列数を越えるときは、バイナリファイルの列数 ncol を付け る こと [デフォルトは 2 ]。 |
||
−bo |
バイナリ出力を選択する。単精度に対しては s を付けること [ デフォルトは d (倍精度)]。大文字の S (又は D) にするとバイト ス ワ ップを行う。随意で、バイナリ出力ファイルの必要な列数 ncol を 付けること [デフォルトは −F 又は −G により与えられる]。 |
||
−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 の設定を用いてより多くの桁数を 指定すること。 |
10N,50W から 30N,10W までの大円に沿って 10km 間隔の点を作る。 project −C-50/10 −E-10/30 −G10 −Q > great_circle_points.xyp (注: great_circle_points.xyp は grdtrack 等の入力として利用できる。) c2610.xygmb の航跡上の重力、地磁気、水深のうち、プロファイルの北東側 で 原点から +/- 500 km 以内のデータだけを、原点 30S,30W から N20W の方位に 向かう大円に投影する。 project c2610.xygmb −C-30/-30 −A-20 −W-10000/0 −L-500/500 −Fpz −Q > c2610_projected.pgmb ( 注:この例では −W-10000/0 を大きな負の q 座標により事実上全ての値を容 認するために用いている。これにより大円経路の右手にある点、すなわちこ の 例の北東側の点だけを取り入れている。) 新 しい原点が 5,3 、新しい x 軸 (p) が古い x 軸から 20 度回転するように 、 mydata.xy のカルテジアン座標変換を行う。 project mydata.xy −C5/3 −A70 −Fpq > mydata.pq ファイル pacific.lonlat のデータを、斜めゼロ子午線( p = 0 の線)がタヒチ を 通るように、ホットスポットフレームによる極を用いて斜め座標に変換する 。 project pacific.lonlat −T-75/68 −C-149:26/-17:37 −Fpq > pacific.pq pacific_topo.grd を水深のグリッドファイルとして、ホットスポットフレーム でプレートのフローラインのファイルを作る。 grd2xyz pacific_topo.grd | project −T-75/68 −C0/-90 −Fxyq | xyz2grd −Retc −Ietc −Cflow.grd ここで flow.grd は pacific_topo.grd と同じ範囲のファイルだが、 flow.grd には投影の極についての緯度が含まれている。ここで flow.grd に grdcontour を用いて斜め緯度の等値線を引くと、それがホットスポットフレームにおけ る フローラインになる。 任意の回転極 px/py に対して地図上に斜めの小円を描きたい場合、まずその小 円の斜め座標のファイルを作る必要があり (すなわち lon = 0−360, lat は 定 数)、それから 2 つの行(北極 (0/90) 及び原点 (0/0) )を持つファイルを作り 、回転極を用いてそれらの斜め座標がどうなるかを調べる。ここで、投影さ れ た 北極と原点の座標をそれぞれ回転極と中心として用いて、上の太平洋の例の ようなファイルを投影する。これで斜め小円の座標が得られる。 |
fitcircle(l), GMT(l), mapproject(l), grdproject(l) |