全部产品
Search
文档中心

PolarDB:ST_AsImage

更新时间:Jul 02, 2025

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

Sintaksis

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

Parameter

ParameterDeskripsi
raster_objRaster yang ingin Anda konversi.
extentLuas area gambar. Sistem koordinat geografis digunakan secara default.
pyramidLevelLapisan piramida tempat gambar berada. Nilai valid dimulai dari 0. Nilai default: 0.
bandsDaftar rentang berdasarkan mana Anda ingin memperoleh gambar. Nilai valid dimulai dari 0. Contoh: '0-2' dan '1,2,3'. Parameter ini kosong secara default. Jika gambar dalam format JPEG, atur parameter ini ke 1 atau 3. Jika gambar dalam format PNG, atur parameter ini ke 1, 2, 3, atau 4. Tiga rentang pertama digunakan secara default.
formatFormat gambar. Nilai valid:
  • PNG
  • JPEG
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 bertipe BYTEA.
  • Data hasil pemotongan hingga 100 MB dapat disimpan dalam cache secara default, yang 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-nilai berikut valid untuk parameter ini:
    • 1: Raster memiliki satu rentang berdasarkan mana raster dapat dikonversi menjadi gambar skala abu-abu.
    • 2: Raster memiliki satu rentang, berdasarkan mana raster dapat dikonversi menjadi gambar skala abu-abu, dan rentang Alfa.
    • 3: Raster memiliki tiga rentang, yaitu rentang R, G, dan B.
    • 4: Raster memiliki empat rentang, yaitu rentang R, G, B, dan rentang Alfa.

Contoh

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

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

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

--Tentukan format kompresi.
SELECT ST_AsImage(raster_obj, 
                  '(-180,-90), (0,0)'::Box,
                 1,
                 '0-2',
                 'PNG') 
FROM raster_table    
WHERE id=1;

--Tentukan untuk menerapkan peningkatan dengan menggunakan peregangan berdasarkan nilai statistik.
SELECT ST_AsImage(rast, 
                  '(-180,-90), (0,0)'::Box, 
                  0, 
                  '',
                  'PNG', 
                  '{"nodata":"false", "nodatavalue":"0","rast_coord":"false", "strength":"stats", "quality":"75"}')
FROM raster_table    
WHERE id=1;

--Tentukan koordinat piksel berdasarkan mana Anda ingin memotong gambar dan menerapkan peningkatan dengan menggunakan peregangan berdasarkan nilai statistik.
SELECT ST_AsImage(rast, 
                  '(0,0), (200,100)'::Box, 
                  0, 
                  '',
                  'PNG', 
                  '{"nodata":"false", "nodatavalue":"0","rast_coord":"true", "strength":"stats", "quality":"75"}')
FROM raster_table    
WHERE id=1;