All Products
Search
Document Center

PolarDB:ST_AsPNG

Last Updated:Sep 02, 2026

Mengkodekan objek raster sebagai aliran biner dalam format PNG.

Sintaksis

bytea ST_AsPNG(raster raster_obj,box extent,
        integer pyramidLevel default 0,
         cstring bands default '',
               cstring option default '');

Parameter

Nama Parameter

Deskripsi

raster_obj

Objek raster yang akan diproses.

extent

Luasan gambar. Sistem koordinat geografis digunakan secara default.

pyramidLevel

Tingkat piramida gambar. Nilai dimulai dari 0. Nilai default-nya adalah 0.

bands

Daftar band yang akan diambil. Nilai dimulai dari 0. Gunakan format seperti '0-2' atau '1,2,3'. Nilai default-nya kosong. Gambar PNG dapat memiliki 1, 2, 3, atau 4 band. Secara default, tiga band pertama digunakan.

option

Opsi konversi dalam bentuk string JSON.

Berikut penjelasan mengenai parameter option.

Parameter

Deskripsi

Tipe

Nilai default

Catatan

nodata

Menentukan apakah akan menggunakan nilai NoData.

bool

false

  • true: Memproses nilai Nodata.

  • false: Nilai NoData diproses sebagai nilai biasa.

nodataValue

Nilai NoData.

integer

0

Jika nodata diatur ke true, Anda harus menetapkan nilai untuk parameter ini.

rast_coord

Menentukan apakah kotak input menggunakan koordinat piksel.

bool

false

Jika menggunakan koordinat piksel, x menunjukkan nomor kolom piksel dan y menunjukkan nomor baris. Nomor kolom dan baris dimulai dari 0.

strength

Menentukan apakah gambar ditingkatkan.

string

none

Metode peningkatan. Nilai yang valid:

  • none: Tidak dilakukan peningkatan.

  • stats: Gambar diregangkan berdasarkan nilai statistik.

quality

Kualitas kompresi.

integer

75

Kualitas kompresi. Nilai yang valid: 1 hingga 100.

Deskripsi

  • Fungsi ini mengembalikan data gambar dalam format bytea.

  • Ukuran cache pemotongan default adalah 100 MB. Artinya, ukuran data hasil tidak boleh melebihi 100 MB. Untuk mengubah ukuran cache tersebut, gunakan parameter ganos.raster.clip_max_buffer_size.

  • Jumlah band adalah sebagai berikut:

    • 1: Gambar skala abu-abu.

    • 2: Band skala abu-abu dan band alpha.

    • 3: Band R, G, dan B.

    • 4: Band R, G, B, dan alpha.

Contoh

-- Gunakan rentang pemotongan.
SELECT ST_AsPNG(raster_obj, 
                  '(-180,-90), (0,0)'::Box) 
FROM raster_table    
WHERE id =1;

-- Tentukan tingkat piramida.
SELECT ST_AsPNG(raster_obj, 
                  '(-180,-90), (0,0)'::Box,
                 1) 
FROM raster_table    
WHERE id =1;

-- Tentukan band dan rentang pemotongan.
SELECT ST_AsPNG(raster_obj, 
                  '(-180,-90), (0,0)'::Box,
                 1,
                 '0-2') 
FROM raster_table    
WHERE id =1;

-- Regangkan gambar menggunakan nilai statistik.
SELECT ST_AsPNG(rast, 
                  '(-180,-90), (0,0)'::Box, 
                  0, 
                  '', 
                  '{"nodata":"false", "nodatavalue":"0","rast_coord":"false", "strength":"stats", "quality":"75"}')
FROM raster_table    
WHERE id =1;