ラスタ表面の各セルについてヒルシェード値を計算し、ヒルシェード値の配列を返します。
構文
raster ST_Hillshade(raster rast, integer pyramid_level, integer band, Box extent, BoxType type, float8 zfactor, float8 azimuth, float8 altitude, cstring storageOption);パラメーター
| パラメーター | 型 | 説明 |
|---|---|---|
rast | raster | ソースとなるラスタオブジェクトです。 |
pyramid_level | integer | ラスタのピラミッドレベルです。 |
band | integer | 計算に使用するバンドのインデックス(シーケンス番号)です。 |
extent | Box | 解析対象のエリアです。形式: '((minX,minY),(maxX,maxY))'。 |
type | BoxType | extent を解釈する際に使用する座標系です。有効な値: Raster(ピクセル座標)または World(ワールド座標)。 |
zfactor | float8 | 標高単位を水平座標単位に合わせるための変換係数です。標高データと水平座標で単位が異なる場合(例:x,y が 10 進度、z がメートル)に設定します。デフォルト値: 1。 |
azimuth | float8 | 太陽の方位角(北から時計回りに測定)。有効な値: 0~360。デフォルト値: 315(北西)。 |
altitude | float8 | 地平線からの太陽の仰角です。90 の場合、真上に位置します。有効な値: 0~90。 |
storageOption | cstring | 出力ラスタのストレージオプションです。詳細については、「ST_ClipToRast」をご参照ください。 |
説明
ST_Hillshade は、ラスタ表面の仮想的な照明をモデル化します。仮想光源の位置を設定した後、各セルの隣接セルに対する相対的な照度値を計算します。この処理では、太陽の角度および地形の局所的な傾斜と向き(アスペクト)の両方が反映されます。
出力は、各セルに 0 から 255 の整数値を含むラスタです。0 は最も暗い網掛け(無照度)を表し、255 は最も明るい網掛け(最大照度)を表します。ヒルシェードレイヤーに透過性を適用することで、地形分析および 3D スタイルのマップレンダリングの視覚的品質が向上します。
標高単位と水平単位が異なる場合(例:メートル vs. 10 進度)、共通のスケールに変換するために zfactor を設定してください。ヒルシェード アルゴリズムの詳細な説明については、「ヒルシェードの動作方法」をご参照ください。
例
以下の例では、ピラミッドレベル 0、バンド 0 のラスタに対して、5×5 ピクセルの範囲で、z-factor を 4、太陽の方位角を 180°(南)、太陽の仰角を 80° としてヒルシェードを計算します。
SELECT st_hillshade(rast, 0, 0, '(0,0), (5,5)', 'Raster', 4, 180, 80)
FROM t_surface
WHERE id = 1;