All Products
Search
Document Center

ApsaraDB RDS:ST_Hillshade

Last Updated:Mar 29, 2026

Menghitung nilai hillshade untuk setiap sel pada permukaan raster dan mengembalikan array hillshade.

Sintaksis

raster ST_Hillshade(raster rast, integer pyramid_level, integer band, Box extent, BoxType type, float8 zfactor, float8 azimuth, float8 altitude, cstring storageOption);

Parameter

ParameterTipeDeskripsi
rastrasterObjek raster sumber.
pyramid_levelintegerTingkat piramida dari raster.
bandintegerIndeks (nomor urut) band yang digunakan untuk perhitungan.
extentBoxArea yang akan dianalisis. Format: '((minX,minY),(maxX,maxY))'.
typeBoxTypeSistem koordinat yang digunakan untuk menginterpretasikan extent. Nilai yang valid: Raster (koordinat piksel) atau World (koordinat dunia).
zfactorfloat8Faktor konversi yang menskalakan satuan elevasi agar sesuai dengan satuan koordinat horizontal. Atur parameter ini ketika data elevasi dan koordinat horizontal Anda menggunakan satuan berbeda — misalnya, ketika satuan x,y dalam derajat desimal dan satuan z dalam meter. Nilai default: 1.
azimuthfloat8Sudut azimuth matahari, diukur searah jarum jam dari utara. Nilai yang valid: 0360. Nilai default: 315 (barat laut).
altitudefloat8Sudut ketinggian matahari di atas horizon. Nilai 90 menempatkannya tepat di atas kepala. Nilai yang valid: 090.
storageOptioncstringOpsi penyimpanan untuk raster output. Untuk detailnya, lihat ST_ClipToRast.

Deskripsi

Fungsi ST_Hillshade memodelkan iluminasi hipotetis pada permukaan raster dengan menetapkan posisi sumber cahaya imajiner, lalu menghitung nilai iluminasi setiap sel relatif terhadap tetangganya—memperhitungkan sudut matahari serta kemiringan dan aspek lokal medan.

Outputnya berupa raster yang setiap selnya berisi bilangan bulat dari 0 hingga 255. Nilai 0 merepresentasikan bayangan paling gelap (tanpa iluminasi), sedangkan 255 merepresentasikan bayangan paling terang (iluminasi maksimum). Penerapan transparansi pada layer hillshade meningkatkan kualitas visual analisis medan dan rendering peta bergaya 3D.

Jika satuan elevasi berbeda dari satuan horizontal (misalnya, meter vs. derajat desimal), atur parameter zfactor untuk menyamakan skalanya.

Untuk penjelasan mendetail mengenai algoritma hillshade, lihat How Hillshade works.

Contoh

Contoh berikut menghitung hillshade pada area berukuran 5×5 piksel dari sebuah raster pada tingkat piramida 0, band 0, dengan faktor-z 4, azimuth matahari 180° (arah selatan), dan ketinggian matahari 80°.

SELECT st_hillshade(rast, 0, 0, '(0,0), (5,5)', 'Raster', 4, 180, 80)
FROM t_surface
WHERE id = 1;