All Products
Search
Document Center

ApsaraDB RDS:ST_AsImage

Last Updated:Aug 22, 2026

Mengonversi objek raster menjadi gambar bytea dalam cakupan geografis atau piksel yang ditentukan. Jika parameter bands tidak ditentukan, tiga band pertama digunakan dan format output secara default adalah PNG.

Sintaksis

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

Parameter

ParameterTypeDefaultDescription
raster_objraster—Objek raster yang akan dikonversi.
extentbox—Cakupan spasial gambar output. Secara default menggunakan sistem koordinat geografis.
pyramidLevelinteger0Tingkat piramida yang akan dibaca. Nilai valid dimulai dari 0.
bandscstring''Band yang akan disertakan dalam output. Menerima rentang ('0-2') dan daftar yang dipisahkan koma ('1,2,3'). Jika dibiarkan kosong, tiga band pertama digunakan. Jumlah band yang valid: PNG mendukung 1, 2, 3, atau 4 band; JPEG mendukung 1 atau 3 band.
formatcstring'PNG'Format gambar output. Nilai valid: PNG, JPEG.
optioncstring''String JSON berisi opsi rendering tambahan. Lihat Bidang opsi.

Bidang opsi

FieldTypeDefaultDescription
nodataboolfalseMengontrol penanganan nilai NoData. true: proses nilai NoData. false: perlakukan nilai NoData sebagai nilai biasa.
nodataValueinteger0Nilai NoData dari raster. Diperlukan ketika nodata bernilai true.
rast_coordboolfalseMenentukan apakah kotak extent menggunakan koordinat piksel alih-alih koordinat geografis. Ketika true, sumbu-x dipetakan ke nomor kolom dan sumbu-y dipetakan ke nomor baris, keduanya dimulai dari 0.
strengthstring'none'Mode peningkatan tampilan. none: tanpa peningkatan. stats: terapkan peregangan berdasarkan nilai statistik.
qualityinteger75Kualitas kompresi. Nilai valid: 1–100.

Catatan penggunaan

  • ST_AsImage mengembalikan nilai bytea.

  • Secara default, hingga 100 MB data yang dipotong dapat di-cache per kueri. Untuk menyesuaikan batas ini, atur parameter ganos.raster.clip_max_buffer_size.

  • Parameter bands mengontrol band mana saja yang disertakan dalam gambar output. Jumlah band berikut didukung:

    • 1: satu band — diekspor sebagai gambar grayscale.

    • 2: satu band + band Alpha — diekspor sebagai gambar grayscale dengan transparansi.

    • 3: band R, band G, dan band B — diekspor sebagai gambar RGB.

    • 4: band R, band G, band B, dan band Alpha — diekspor sebagai gambar RGBA.

Contoh

Semua contoh membaca dari raster_table dan memfilter berdasarkan id = 1. Cakupan geografis '(-180,-90), (0,0)'::box mencakup kuadran kiri-bawah globe.

Ekspor dengan pengaturan default

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

Ekspor dari tingkat piramida tertentu

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

Ekspor band 0, 1, dan 2

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

Ekspor sebagai PNG dengan format eksplisit

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

Ekspor dengan peningkatan tampilan berbasis 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;

Ekspor wilayah berbasis koordinat piksel dengan peningkatan tampilan

Gunakan rast_coord: true untuk menentukan cakupan dalam koordinat piksel alih-alih koordinat geografis.

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;