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
| Parameter | Deskripsi |
| raster_obj | Raster yang ingin Anda konversi. |
| extent | Luas area gambar. Sistem koordinat geografis digunakan secara default. |
| pyramidLevel | Lapisan piramida tempat gambar berada. Nilai valid dimulai dari 0. Nilai default: 0. |
| bands | Daftar 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. |
| format | Format gambar. Nilai valid:
|
| option | Opsi yang digunakan untuk mengonversi string berformat JSON. |
Tabel berikut menjelaskan bidang dalam parameter option.
| Bidang | Deskripsi | Tipe | Nilai default | Catatan pengaturan |
| nodata | Menentukan apakah akan menggunakan nilai NoData. | bool | false |
|
| nodataValue | Nilai NoData dari raster. | integer | 0 | Jika parameter nodata diatur ke true, Anda harus menentukan nilai NoData. |
| rast_coord | Menentukan apakah kotak input ditentukan dengan menggunakan koordinat piksel. | bool | false | Jika koordinat piksel digunakan, x menunjukkan nomor kolom piksel dan y menunjukkan nomor baris piksel. Baik nomor kolom maupun nomor baris dimulai dari 0. |
| strength | Menentukan apakah akan menerapkan peningkatan dalam tampilan. | string | none | Nilai valid:
|
| quality | Kualitas kompresi. | integer | 75 | Nilai 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;