PROJECT

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

関連項目

名前

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 は入力された残り全 ての列である(必要な xy の列以外)。代わりに、 project はプロファイル に沿った (r, s, p) を等しい間隔 dist で作成することもできる。この場 合( −G オプション)、入力は読み込まれない。投影法は次の 3 つのうちの任意の( ただし単独の) 1 つで定義される。 (定義 1) 中心 −C と北から時計回りの 方 位 角 −A 。 (定義 2) 投影経路の始点 −C と終点 −E 。 (定義 3) 中心 −C と 回転極の位置 −T 。大円経路に沿って球面上にデータを投影するときには、 赤 道 がその経路に沿い、ゼロ子午線が中心を通るような斜めの座標系が作られる 。このとき斜め経度 (p) は中心からの距離に対応し、斜め緯度 (q) は大円 経 路に下ろした垂線の距離に対応する。増加する (p) 方向に動くと( azimuth の 方向 B へ向かって) 正の (q) 方向は左側になる。極が指定されているとき は 、正の (q) 方向はその極の側になる。
斜 め投影を指定するには、 −T オプションを用いて極を設定すること。このと き投影される赤道は既に決まっており −C オプションは p = 0 の子午線を決め る のに用いられる。中心 cx/cyp = 0 の子午線が通る点として扱われる。 特定の点を選ばなくても良い場合は、南極 (ox = 0, oy = -90) を使う。
データは −L 及び −W オプションを用いて選択的にある範囲だけを取り出す こ とができる。 −W を使うと、投影される幅は w_min < q < w_max の範囲内だけ になる。 −L を設定すると、長さが l_min < p < l_max の範囲内の点だけを使 う ように設定される。 −E オプションが投影法の定義に使われているときは、 −Lw を選ぶと投影範囲はちょうど O から B までの範囲になる。
−N
を設定すると平面地球(カルテジアン)座標変換を行う。このと き azimuth は 北( y 軸)から時計回りになり、 x 軸から反時計回りという通常のカルテジ アン座標ではないことに注意すること。 azimuth = 90 - theta である。
x, y, r, s, p, q, dist, l_min, l_max, w_min, w_max
の単位については何も 仮 定されていない。 −Q を選ぶと、図上の単位が仮定され x, y, r, s は度、 p, q, dist, l_min, l_max, w_min, w_max は km になる。
特定の大円及び測地線の距離又は逆方位角又は方位角の計算は mapproject を 用いて行ったほうが良い。
project
は大文字・小文字を区別して扱う。全てのオプションの記述の始めの 1 文字には大文字を使うこと。 −flagsxyzpqrs の文字については小文字を使うこと。

−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)