All Products
Search
Document Center

PolarDB:ST_BuildPyramid

Last Updated:Mar 28, 2026

Membangun piramida untuk objek raster guna mempercepat rendering multi-resolusi dan kueri berdasarkan tingkat zoom.

Sintaksis

raster ST_BuildPyramid(raster source,
                       integer pyramidLevel default -1,
                       ResampleAlgorithm algorithm default 'Near',
                       cstring chunkTableName default '',
                       cstring storageOption default '{}',
                       cstring buildOption default '{}');

Parameter

ParameterDeskripsi
sourceObjek raster yang akan dibuatkan piramidanya.
pyramidLevelJumlah tingkat piramida yang akan dibuat. Atur ke -1 untuk membuat jumlah maksimum tingkat berdasarkan ukuran gambar. Nilai default: -1.
algorithmAlgoritma resampling. Nilai yang valid: Near, Average, Bilinear, Cubic. Nilai default: Near.
chunkTableNameNama tabel chunk tempat menyimpan data piramida. Hanya berlaku ketika objek raster disimpan di bucket Object Storage Service (OSS).
storageOptionString JSON yang menentukan pengaturan penyimpanan chunk untuk piramida. Hanya berlaku ketika objek raster disimpan di bucket OSS. Untuk detailnya, lihat Opsi penyimpanan.
buildOptionString JSON yang menentukan pengaturan pembuatan piramida. Mendukung parameter parallel untuk mengontrol tingkat paralelisme. Untuk detailnya, lihat Opsi pembuatan.

Opsi penyimpanan

Parameter storageOption menerima objek JSON dengan bidang-bidang berikut:

BidangTipeDeskripsi
chunkdimstringDimensi chunk dalam format (w, h, b). Default mengikuti ukuran chunk dari data gambar asli.
interleavingstringMetode interleaving band. Nilai yang valid: bip (band interleaved by pixel, BIP), bil (band interleaved by line, BIL), bsq (band sequential, BSQ), auto (ditentukan secara otomatis). Nilai default: bsq.
compressionstringFormat kompresi. Nilai yang valid: none, jpeg, zlib, png, lzo, LZ4, zstd, snappy, jp2k. Nilai default: LZ4.
qualityintegerKualitas kompresi. Hanya berlaku untuk kompresi JPEG dan JPEG 2000 (jp2k). Nilai yang valid: 1–99. Nilai default: 75.

Opsi pembuatan

Parameter buildOption menerima objek JSON dengan bidang-bidang berikut:

BidangTipeDeskripsi
parallelintegerTingkat paralelisme untuk pembuatan piramida. Nilai yang valid: 1–64. Jika tidak ditentukan, nilai parameter GUC ganos.parallel.degree yang digunakan.
Penting

Pembuatan piramida secara paralel tidak mendukung transaksi. Jika proses pembuatan gagal atau Anda perlu melakukan rollback, panggil ST_deletePyramid untuk menghapus piramida yang belum lengkap.

Deskripsi

Fungsi ini mendukung komputasi yang dipercepat GPU. Secara default, pada lingkungan dengan GPU yang tersedia, Ganos secara otomatis mengaktifkan komputasi yang dipercepat GPU untuk fungsi ini.

Contoh

Membangun piramida dengan pengaturan default:

UPDATE raster_table SET raster_obj = ST_BuildPyramid(raster_obj) WHERE id = 1;

Membangun piramida dan menyimpan data piramida di tabel chunk bernama:

UPDATE raster_table SET raster_obj = ST_BuildPyramid(raster_obj, 'chunk_table') WHERE id = 2;

Membangun piramida dengan kompresi JPEG 2000, ukuran chunk tetap 256×256, 4 band per chunk, dan interleaving band otomatis:

UPDATE raster_table SET raster_obj = ST_BuildPyramid(
    raster_obj,
    -1,
    'Near',
    'chunk_table',
    '{"compression":"jp2k", "quality": 75, "chunkdim":"(256,256,4)", "interleaving":"auto"}'
) WHERE id = 3;

Membangun piramida yang sama menggunakan 4 thread paralel:

UPDATE raster_table SET raster_obj = ST_BuildPyramid(
    raster_obj,
    -1,
    'Near',
    'chunk_table',
    '{"compression":"jp2k", "quality": 75, "chunkdim":"(256,256,4)", "interleaving":"auto"}',
    '{"parallel":4}'
) WHERE id = 3;