GRDGRADIENT

名前
書式
説明
オプション
ヒント

文献
関連項目

名前

grdgradient − z(x,y) を表す 2 次元グリッドファイルから方向微分又は勾配 を計算する

書式

grdgradient in_grdfile −Gout_grdfile [ −Aazim[/azim2] ] [ −D[c][o][n] ] [ −E[s|p]azim/elev[/ambient/diffuse/specular/shine] ] [ −Lflag ] [ −M ] [ −N[e][t] [amp][/sigma[/offset]] ] [ −Sslopefile ] [ −V ]

説明

grdgradient は与えられた向きにおける方向微分( −A )、又はデータのベク ト ル勾配の向き( −S )[と大きさ( −D )]を計算することができる。
出力の最初/最後の行/列の推定値は境界条件に依存する( −L 参照)。

in_grdfile

方向微分を計算する 2 次元グリッドファイル。

−G

方向微分の出力グリッドファイルの名前。

オプション

オ プションフラグとそれに付属する引き数の間にスペースを入れないこと。オ プションフラグには大文字を使い、その付属コードには小文字を使うこと。

−A

方向微分の方位の向き。 azim は x,y 平面における北( +y の 方 向)から東( +x の方向)へ時計回りに測った度単位の角度である。方向 微分の負、 −[dz/dx*sin(azim) + dz/dy*cos(azim)] は、 z(x,y) の 傾 きが azim の向きにおいて下りのときに正の値になり、 azim の向 きから照らす x,y 平面の上の光源による画 像 へ の 陰 影 付 け ( grdimage 及び grdview 参照)としては正しくなる。随意で、 2 つの 方位 −Aazim/azim2 を与えると、各向きにおける勾配が計算され、 大 きな方だけが残される。これは 2 方向の線状構造を持つデータを照ら すのに有用である。例えば、 −A0/270 は北(上)と西(左)から照らす。

−D

データの勾配の向きを見つける。デフォルトでは、向きは上の −Aazim と同様に北から時計回りに測られる。伝統的なカルテジア ン 角 度を用いて正の x (東)方向から反時計回りに測るには c を付ける こと。向き( 0-360 )ではなく方向( 0-180 )を報告するには o を付け ること。 90 度を全ての角度に加えるには n を付けること (例えば、 線状構造の方向を与えるために)。

−E

grdimage 及び grdview で使うのに適したランベルト放射を計 算 す る。ランベルト反射は当たった全ての光を反射する理想的な表面を 仮定しており、その表面は全ての方向から見て等しく光る。 azimelev は光ベクトルの方位角と仰角である。随意で、表面の反射特性を 支配するパラメータである ambient diffuse specular shine を与 え ること。デフォルト値は 0.55/0.6/0.4/10 である。これらの値の一部 を保持するには、新しい値として = を指定 す る こ と 。 例 え ば −E60/30/=/0.5azim elev 及び diffuse を 60, 30 及び 0.5 に設 定し他の反射パラメータを保持する。より単純なランベルトアルゴ リ ズムを使うには s を付けること。この形式では方位角と仰角のパラメ ータだけ与えなければならないので注意。 Peucker の区分的線 形 推 定(単純だが高速なアルゴリズム)を使うには p を付けること。この場 合 azimelev は 315 と 45 度に固定される。これは他の値を与え ても無視されることを意味する。

−L

境界条件を flag で指定する。これを x 又は y 又は xy とする と x 又は y 又はその両方の範囲が周期的であることを示す。ある い は flagg とすると地理的な境界条件であることを示す( x と y は経度と緯度) [デフォルトでは「自然」境界条件が使われる(枠に 垂 直な成分の 2 階偏微分がゼロ)]。

−M

デフォルトでは grdgradient の単位は( z の単位)/( dx 及び dy の単位)である。しかし、ユーザはこのオプションを選んで、経度、緯 度 の度単位の dx,dy をメートル単位に変換して、 grdgradient の単 位を( z の単位)/メートルにすることができる。

−N

規格化[デフォルトでは規格化しない]。実際の勾配 g はオフセッ ト 及びスケールされて最大出力の大きさが amp である規格化勾配 gn になる。 amp が与えられないときは、デフォルトで amp = 1 とな る 。 offset が与えられないときは、 g の平均に設定される。 −N とす ると gn = amp * (g - offset)/max(abs(g - offset)) となる。 −Ne は 累 積 ラ プ ラ ス 分 布 を用いて規格化して gn = amp * (1.0 - exp(sqrt(2) * (g - offset)/ sigma)) とする。ここで sigma が与え ら れなければ (g - offset) の L1 ノルムを用いて推定される。 −Nt は累積コーシー分布を用いて規格化して gn = (2 * amp / PI) * atan( (g - offset)/ sigma) となる。ここで sigma が与えられなけ れば (g - offset) の L2 ノルムを用いて推定される。

−S

勾配ベクトルのスカラーの大きさの出力グリッドファイルの名 前 。 −D を必要とする。

−V

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

ヒント

grdimagegrdview 用の強度ファイルを作るのに使う −N オプションをど う すれば良いのか分からなければ、始めは −Ne0.6 を試してみると良い。

大 きなデータセットの複数のサブ領域の陰影図を作りたいときで、地図全体に 渡って一定の陰影効果が必要となるときは、各地図の grdgradient−N オプ ションに同じ sigmaoffset の値を与えること。 offset = 0 及び規格化さ れていない勾配グリッドに grdinfo −L2 又は −L1 を適用して求まる sigma を 使うと良い。

単にグリッドの x または y の微分が必要なのであれば、 grdmath を使うこと 。

geoid.grd のデータに陰影を付けるためのファイルを、北と西の方向にある 光 源を模して、指数分布に規格化した勾配を用いて作る。

grdgradient geoid.grd −A0/270 −Ggradients.grd −Ne0.6 −V

ファイル topo.grd の海底地形構造の方位方向を見つける。

grdgradient topo.grd −Dno −Gazimuths.grd −V

文献

Horn, B.K.P., Hill-Shading and the Reflectance Map, Proceedings of the IEEE, Vol. 69, No. 1, January 1981, pp. 14-47. (http://people.csail.mit.edu/ bkph/papers/Hill-Shading.pdf)

関連項目

GMT(l), gmtdefaults(l), grdhisteq(l), grdimage(l), grdview(l), grdvector(l)