All Products
Search
Document Center

PolarDB:ST_AsImage

Last Updated:Mar 29, 2026

Mengonversi raster menjadi gambar BYTEA yang dipotong berdasarkan cakupan, tingkat piramida, pilihan pita, dan format tertentu. Secara default, fungsi ini mengembalikan hingga 100 MB data gambar.

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 akan dikonversi.
extentKotak pembatas dari gambar output. Secara default menggunakan koordinat geografis.
pyramidLevelTingkat piramida yang akan dibaca. Nilai valid dimulai dari 0. Default: 0.
bandsPita yang akan disertakan dalam gambar output. Nilai valid dimulai dari 0. Menerima rentang ('0-2') atau daftar ('1,2,3'). Biarkan kosong untuk menggunakan tiga pita pertama secara default. Jumlah pita menentukan mode output: 1 = grayscale, 2 = grayscale + Alpha, 3 = R, G, B, 4 = R, G, B, Alpha. Untuk JPEG, tentukan 1 atau 3 pita. Untuk PNG, tentukan 1, 2, 3, atau 4 pita.
formatFormat gambar output. Nilai valid: PNG (default), JPEG.
optionString JSON berisi opsi konversi advanced. Lihat Opsi.

Opsi

Parameter option menerima string JSON dengan bidang-bidang berikut:

BidangTipeDefaultDeskripsi
nodataboolfalseMenentukan apakah nilai NoData digunakan. true: nilai NoData diproses. false: nilai NoData diproses sebagai nilai biasa.
nodataValueinteger0Nilai NoData dari raster. Diperlukan saat nodata bernilai true.
rast_coordboolfalseMenentukan apakah parameter extent menggunakan koordinat piksel alih-alih koordinat geografis. Saat true, x adalah nomor kolom dan y adalah nomor baris, keduanya dimulai dari 0.
strengthstringnoneMode peningkatan tampilan. none tidak menerapkan peningkatan apa pun. stats menerapkan peregangan Histogram berdasarkan nilai statistik.
qualityinteger75Kualitas kompresi. Nilai valid: 1–100.

Catatan penggunaan

  • Secara default, hingga 100 MB data hasil potong dapat dikembalikan. Untuk menyesuaikan batas ini, atur parameter ganos.raster.clip_max_buffer_size.

Contoh

Semua contoh melakukan kueri terhadap raster_table dan memfilter berdasarkan id = 1.

Potong menggunakan koordinat geografis (dasar)

SELECT ST_AsImage(raster_obj,
                  '(-180,-90), (0,0)'::Box)
FROM raster_table
WHERE id = 1;

Tentukan tingkat piramida

SELECT ST_AsImage(raster_obj,
                  '(-180,-90), (0,0)'::Box,
                  1)
FROM raster_table
WHERE id = 1;

Pilih rentang pita

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

Tentukan format output

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

Terapkan peregangan Histogram menggunakan 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;

Potong berdasarkan koordinat piksel dengan peregangan Histogram

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;