全部产品
Search
文档中心

PolarDB:ST_BuildPyramid

更新时间:Jul 02, 2025

Topik ini menjelaskan fungsi ST_BuildPyramid, yang digunakan untuk membuat piramida untuk objek raster.

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
sourceNama dari objek raster.
chunkTableNameNama tabel chunk yang disimpan dalam piramida. Parameter ini hanya berlaku ketika objek raster disimpan dalam Bucket OSS (Object Storage Service).
pyramidLevelJumlah level dalam piramida. Nilai -1 menentukan bahwa jumlah level terbesar dibuat dalam piramida.
algorithmAlgoritma resampling yang digunakan untuk membuat piramida. Nilai valid:
  • Near
  • Average
  • Bilinear
  • Cubic
storageOptionString JSON yang digunakan untuk menentukan parameter terkait penyimpanan. Parameter ini digunakan untuk menggambarkan informasi penyimpanan chunk dari piramida. String JSON ini hanya berlaku ketika objek raster disimpan dalam Bucket OSS.
buildOptionString JSON yang digunakan untuk menentukan parameter terkait pembuatan piramida. PolarDB mendukung parameter parallel. Parameter ini menentukan tingkat paralelisme. Tipe data dari parameter ini adalah INTEGER. Nilai parameter ini berkisar antara 1 hingga 64. Jika Anda tidak menentukan parameter parallel, nilai parameter GUC ganos.parallel.degree digunakan sebagai tingkat paralelisme default. Untuk informasi lebih lanjut, lihat ganos.parallel.degree.
Catatan Jika Anda menjalankan thread secara paralel untuk membuat piramida, transaksi tidak didukung. Jika piramida tidak dapat dibuat atau Anda perlu membatalkan transaksi, Anda dapat memanggil fungsi ST_deletePyramid untuk menghapus piramida. Untuk informasi lebih lanjut, lihat ST_deletePyramid.

Tabel berikut menjelaskan parameter dalam storageOption.

ParameterTipeDeskripsi
chunkdimstringDimensi yang digunakan untuk meng-chunk data objek raster. Nilai parameter ini mengikuti format (w, h, b). Secara default, ukuran per chunk diperoleh dari data gambar asli.
interleavingstringMetode yang digunakan untuk menyusun ulang data objek raster.
  • bip: band interleaved by pixel (BIP)
  • bil: band interleaved by line (BIL)
  • bsq: band sequential (BSQ) (Ini adalah nilai default.)
  • auto: metode interleaving yang ditentukan oleh fungsi ini
compressionstringFormat ke mana Anda ingin menekan data objek raster. Nilai valid:
  • none
  • jpeg
  • zlib
  • png
  • lzo
  • LZ4 (Ini adalah nilai default.)
  • zstd
  • snappy
  • jp2k
qualityintegerKualitas kompresi. Parameter ini hanya berlaku ketika Anda menggunakan format kompresi JPEG atau JPEG 2000.

Rentang nilai: 1-99. Nilai default: 75.

Deskripsi

Fungsi ini mendukung komputasi yang dipercepat GPU. Secara default, dalam lingkungan aktif dengan GPU, Ganos secara otomatis mengaktifkan komputasi yang dipercepat GPU.

Contoh

Update raster_table set raster_obj = ST_BuildPyramid(raster_obj) where id = 1;

Update raster_table set raster_obj = ST_BuildPyramid(raster_obj, 'chunk_table') where id = 2;

-- Gunakan JPEG 2000 untuk menekan data objek raster.
-- Pastikan semua band berada dalam satu chunk.
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;

-- Buat piramida dengan menggunakan operasi 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;