名前

       surface  - 調整可能な張力による連続曲面グリッディングアルゴ
リズム


概要

       surface      [      xyzfile       ]       -Goutputfile.grd
       -Ix_inc[m|c][/y_inc[m|c]]   -Rwest/east/south/north[r]   [
-Aaspect_ratio ] [ -Cconvergence_limit ] [ -H[nrec] ] [ -L ] [ -Lllower ] [ -Luupper ] [ -Nmax_iterations ] [ -Q ] [
-Ssearch_radius[m] ] [ -Ttension_factor[ib] ] [ -V[l] ] [
-Zover-relaxation_factor ] [ -: ] [ -bi[s][n] ]


記述

       surface はランダムに分布する (x,y,z) の3つの値を標準入力
[または xyzfile]から読み、下の式を解くことにより z(x,y) の
バイナリグリッドファイルを作ります:

(1 - T) * L (L (z)) + T * L (z) = 0

ここで T は 0 から 1 までの値をとる張力ファクタであり L は
ラプラス作用素を示します。 T = 0 は SuperMISP と ISM パッケ
ージに等価な"最小曲率"解を与えます。最小曲率は望まない振動
や偽の極大・極小の原因となることがあるので(Smith and Wessel,
 1990 を参照)、これらの影響を防止したければ T > 0 を用いると
 良いでしょう。実験では T ~ 0.25 が通常ポテンシャル場のデー
タには良いようであり、急峻な地形データに対しては T をもっと
大きく(T ~ 0.35)した方が良いようです。 T = 1 は調和表面
(支配データ点以外の場所で極大・極小ができない)を与えます。
空間的なエイリアシングの防止や余分なデータの消去のために、
データを blockmeanblockmedian または blockmode によ
り前処理することを推奨します。解の上限や下限を強制したいと
きがあるかもしれません。これらは固定値、値を持ったグリッド
ファイル、または単に入力データの値の最大/最小値といった形
で入れることができます。

xyzfile
(x,y,z) のデータ値を持つ 3 列の ASCII ファイル[また
はバイナリ、 -b 参照]。ファイルが指定されないときは、
 surface は標準入力を読みます。

-G 出力されるファイル名。出力はバイナリの 2-D .grd ファ
イル。

-I x_inc [およびオプションで y_inc] はグリッド間隔です。
m を付けると分を、 c を付けると秒を示します。

-R west, east, south, north は興味のある領域を特定し
ます。度と分[と秒]で境界を特定するには、dd:mm[:ss]
のフォーマットを使ってください。wesnの代わりに左下
と右上のマップ座標を使うときは r を付け加えてくださ
い。


オプション

       -A     アスペクト比。もし望むならば、グリッドの非等方性を方
程式に加えることができます。 aspect_ratio を入れると、
dy = dx / aspect_ratio がグリッドの大きさに関係します
[デフォルト = 1 では等方的グリッドを仮定]。

-C 収束限界。反復計算では、すべてのグリッドの値の変化の
絶対値の最大値が convergence_limit 未満になったとき
収束したと仮定します(単位は z と同じ)[デフォルトでは
入力データの典型的な勾配の 0.1 パーセントにスケール
されます]。

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

-L このオプションに何も付け加えなければ、 x が経度で
360 度の周期性をもつ可能性があることを示します。付け
加えるものがあるときは、出力される解に制限を加えるは
たらきをします。 llower で下限を設定します。 lower
 は下限値を持つグリッドファイルの名前、または固定値、
または d を付けて入力の最小値を設定、または u を付け
て非制限[デフォルト]とします。 ulower では上限を設定
し、上限値を持つグリッドファイルの名前、または固定値、
または d を付けて入力の最大値を設定、または u を付け
て非制限[デフォルト]とします。

-N 反復計算の回数。反復は convergence_limit に達したと
き、または反復回数が max_iterations に達したときに停
止します[デフォルトは 250 ]。

-Q 最大公約数を持つグリッドの大きさを提案します。これに
より、解にいくつかの中間の段階を使うことによって、よ
り速いランタイムとより良い結果を得ることができます。
-Q によって提案されたサイズは、 -R-I を変更する
ことによって実現することができます。 surface の出力
に対して grdsamplegrdcut を用いることにより求
める -R-I を回復することができます。

-S サーチ半径。 x,y データと同じ単位で search_radius
 を設定します; m を付けると分を示します。これは反復の
最初の計算の前にグリッドを初期化するために使われます;
 グリッド格子が素数で領域分割が不可能な場合でもない限
り、これに時間を費やすだけの価値はありません[デフォ
ルト = 0.0 でサーチは行われません]。

-T 張力ファクタ。これは 0 と 1 の間でなければなりませ
ん。張力は内部の解(上の方程式で見かけの振幅は防止さ
れます)と境界条件(解は端に近づくにつれて平らになりま
す)で用いられます。両方にゼロを使うと自由端を持つ最
小曲率解になります。すなわち自然3次スプラインです。
内部の張力を設定するには -Ttension_factori を、境界
の張力を設定するには -Ttension_factorb を使います。
もし ib を付けなければ、両方とも同じ値に設定され
ます[デフォルトは両方とも = 0 で最小曲率解を与えます]。

-V 冗長モードを選択します。標準エラー出力に経過報告を
送ります[デフォルトでは"静かに"走ります]。 -Vl は計
算を反復する度に収束状況を報告します; -V は各範囲の
グリッドが収束した後にだけ報告します。

-Z 過大緩和ファクタ。このパラメータは収束を速めるために
使います; これは 1 と 2 の間の値をとります。 1 のと
きは方程式をその通りに反復計算し、常に安定収束を保証
します。それより大きな値では収束する間の増分を過大評
価するので、より早く解に到達しますが不安定になること
があります。このファクタに大きな値を用いるときは、
 -Vl オプションで毎回の反復計算を監視すると良いでしょ
う[デフォルト = 1.4 で早く収束しほとんどの場合に安定
です]。

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

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

用例

       hawaii_5x5.xyg の ASCII データの 5 × 5 分の重力の平均化され
たブロックをグリッド化します。 tension_factor = 0.25 、
convergence_limit = 0.1 ミリガルを用い、途中計算を監視し、
結果を hawaii_grd.grd というファイルに書きます。

surface hawaii_5x5.xyg -R198/208/18/25 -I5m -Ghawaii_grd.grd -T0.25 -C0.1 -VL

バグ

       surface は各格子点について複数のデータがあると、まず blockmean
blockmedian または blockmode を実行するように提案します。
blockm* を実行してもまだこのメッセージが出力されるときは、
 グリッド間隔が blockm* が用いる出力フォーマットにおいて更
に多くの桁を必要とするほど小さいことを通常意味します。 blockm*
 を実行する前に .gmtdefaults ファイルの D_FORMAT パラメータ
を変更して桁数を増やすなり、単精度または倍精度のストレージ
を用いるバイナリ入/出力を選択するなりした方が良いでしょう。


関連事項

       blockmean(l),    blockmedian(l),   blockmode(l),   gmt(l),
nearneighbor(l), triangulate(l)


参考文献

       Smith, W. H. F, and P. Wessel, 1990, Gridding with contin-
uous curvature splines in tension, Geophysics, 55,
293-305.



1 May 2003 SURFACE(l)

Man(1) output converted with man2html