All Products
Search
Document Center

ApsaraDB RDS:ST_AsImage

Last Updated:Mar 29, 2026

Mengonversi objek raster menjadi citra bytea dalam cakupan geografis atau piksel yang ditentukan. Jika parameter bands tidak ditentukan, tiga band pertama digunakan dan format output secara default berupa 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_objrasterObjek raster yang akan dikonversi.
extentboxCakupan spasial citra output. Secara default menggunakan sistem koordinat geografis.
pyramidLevelinteger0Tingkat piramida yang akan dibaca. Nilai valid dimulai dari 0.
bandscstring''Band yang 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 citra output. Nilai valid: PNG, JPEG.
optioncstring''String JSON berisi opsi rendering tambahan. Lihat Bidang opsi.

Bidang opsi

FieldTypeDefaultDescription
nodataboolfalseMengatur 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 hasil potongan 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 citra output. Jumlah band berikut didukung:

    • 1: satu band — diekspor sebagai citra grayscale.

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

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

    • 4: band R, band G, band B, dan band Alpha — diekspor sebagai citra 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;