全部产品
Search
文档中心

PolarDB:ST_AsPNG

更新时间:Jul 02, 2025

Topik ini menjelaskan fungsi ST_AsPNG, yang mengonversi raster menjadi gambar PNG bertipe BYTEA.

Sintaksis

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

Parameter

ParameterDeskripsi
raster_objRaster yang ingin Anda konversi.
extentCakupan gambar. Sistem koordinat geografis digunakan secara default.
pyramidLevelLapisan piramida tempat gambar berada. Nilai valid dimulai dari 0. Nilai default: 0.
bandsDaftar band berdasarkan mana Anda ingin mendapatkan gambar. Nilai valid dimulai dari 0. Contoh: '0-2' dan '1,2,3'. Parameter ini kosong secara default. Gambar dalam format PNG. Oleh karena itu, atur parameter ini ke 1, 2, 3, atau 4. Tiga band pertama digunakan secara default.
optionOpsi yang digunakan untuk mengonversi string berformat JSON.

Tabel berikut menjelaskan bidang dalam parameter option.

BidangDeskripsiTipeNilai defaultCatatan pengaturan
nodataMenentukan apakah akan menggunakan nilai NoData.boolfalse
  • true: Nilai NoData diproses.
  • false: Nilai NoData diproses sebagai nilai normal.
nodataValueNilai NoData dari raster.integer0Jika parameter nodata diatur ke true, Anda harus menentukan nilai NoData.
rast_coordMenentukan apakah kotak input ditentukan dengan menggunakan koordinat piksel.boolfalseJika koordinat piksel digunakan, x menunjukkan nomor kolom piksel dan y menunjukkan nomor baris piksel. Baik nomor kolom maupun nomor baris dimulai dari 0.
strengthMenentukan apakah akan menerapkan peningkatan dalam tampilan.stringnoneNilai valid:
  • none: Peningkatan tidak diterapkan.
  • stats: Peningkatan diterapkan dengan menggunakan peregangan berdasarkan nilai statistik.
qualityKualitas kompresi.integer75Nilai valid: 1 hingga 100.

Deskripsi

  • Fungsi ini mengembalikan gambar PNG bertipe BYTEA.
  • Data hasil pemotongan hingga 100 MB dapat disimpan dalam cache secara default. Hal ini menunjukkan bahwa hingga 100 MB data dapat dikembalikan. Untuk menyesuaikan batas ukuran gambar, Anda dapat menentukan ukuran cache menggunakan parameter ganos.raster.clip_max_buffer_size.
  • Nilai berikut valid untuk parameter ini:
    • 1: Raster memiliki satu band, berdasarkan mana raster dapat dikonversi menjadi gambar skala abu-abu.
    • 2: Raster memiliki satu band, berdasarkan mana raster dapat dikonversi menjadi gambar skala abu-abu, serta band Alfa.
    • 3: Raster memiliki tiga band, yaitu band R, band G, dan band B.
    • 4: Raster memiliki empat band, yaitu band R, band G, band B, dan band Alfa.

Contoh

--Tentukan ukuran data hasil pemotongan yang dapat disimpan dalam cache.
SELECT ST_AsPNG(raster_obj, 
                  '(-180,-90), (0,0)'::Box) 
FROM raster_table    
WHERE id =1;

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

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

--Tentukan untuk menerapkan peningkatan dengan menggunakan peregangan berdasarkan 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;