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
| Parameter | Deskripsi |
|---|---|
raster_obj | Raster yang akan dikonversi. |
extent | Kotak pembatas dari gambar output. Secara default menggunakan koordinat geografis. |
pyramidLevel | Tingkat piramida yang akan dibaca. Nilai valid dimulai dari 0. Default: 0. |
bands | Pita 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. |
format | Format gambar output. Nilai valid: PNG (default), JPEG. |
option | String JSON berisi opsi konversi advanced. Lihat Opsi. |
Opsi
Parameter option menerima string JSON dengan bidang-bidang berikut:
| Bidang | Tipe | Default | Deskripsi |
|---|---|---|---|
nodata | bool | false | Menentukan apakah nilai NoData digunakan. true: nilai NoData diproses. false: nilai NoData diproses sebagai nilai biasa. |
nodataValue | integer | 0 | Nilai NoData dari raster. Diperlukan saat nodata bernilai true. |
rast_coord | bool | false | Menentukan 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. |
strength | string | none | Mode peningkatan tampilan. none tidak menerapkan peningkatan apa pun. stats menerapkan peregangan Histogram berdasarkan nilai statistik. |
quality | integer | 75 | Kualitas 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;