Mengekstrak tingkat piramida atau subset pita tertentu dari objek raster dan mengembalikannya sebagai objek raster baru.
Sintaksis
raster ST_SubRaster(raster raster_obj,
integer pyramidLevel default 0,
cstring bands default '',
cstring storageOption default '',
cstring options default '{}')Parameter
| Parameter | Tipe | Bawaan | Deskripsi |
|---|---|---|---|
raster_obj | raster | — | Objek raster sumber. |
pyramidLevel | integer | 0 | Tingkat piramida yang akan diekstrak. |
bands | cstring | '' | Pita yang akan diekstrak. Menerima rentang integer ('0-2') atau daftar yang dipisahkan koma ('1,2,3'). Indeks pita dimulai dari 0. Nilai bawaan ('') mengekstrak semua pita. |
storageOption | cstring | '' | String JSON yang mengontrol cara penyimpanan objek raster baru. Lihat parameter storageOption. |
options | cstring | '{}' | String JSON yang mengontrol cara pembuatan objek raster baru. Lihat parameter options. |
Parameter storageOption
Semua sub-parameter storageOption bersifat opsional. Parameter yang tidak ditentukan mewarisi nilai dari objek raster sumber.
Parameter yang umum digunakan
| Parameter | Tipe | Bawaan | Deskripsi |
|---|---|---|---|
chunktable | string | '' | Nama tabel chunk untuk objek raster baru. Jika diatur ke '' atau NULL, tabel chunk temporary dengan nama acak dibuat dan hanya berlaku selama session saat ini. Tentukan nama untuk membuat tabel chunk permanen. |
compression | string | Sama dengan sumber | Format kompresi. Nilai yang valid: NONE, JPEG, ZLIB, PNG, LZO, LZ4. |
celltype | string | Sama dengan sumber | Tipe piksel. Nilai yang valid: 1bb, 2bui, 4bui, 8bsi, 8bui, 16bsi, 16bui, 32bsi, 32bui, 64bsi, 64bui, 32bf, 64bf. |
chunking | boolean | Sama dengan sumber | Menentukan apakah objek raster baru disimpan dalam bentuk chunk. |
Parameter lanjutan
| Parameter | Tipe | Bawaan | Deskripsi |
|---|---|---|---|
chunkdim | string | Sama dengan sumber | Dimensi chunk. Hanya berlaku jika chunking bernilai true. |
quality | integer | Sama dengan sumber | Kualitas gambar setelah kompresi (1–99). Hanya berlaku jika compression bernilai JPEG. |
interleaving | string | Sama dengan sumber | Tipe interleaving. Nilai yang valid: bip (band interleaved by pixel, BIP), bil (band interleaved by line, BIL), bsq (band sequential, BSQ). |
endian | string | Sama dengan sumber | Urutan byte. Nilai yang valid: NDR (little-endian), XDR (big-endian). |
Parameter options
| Parameter | Tipe | Bawaan | Deskripsi |
|---|---|---|---|
parallel | integer | ganos.parallel.degree | Tingkat paralelisme. Nilai yang valid: 1–64. |
stretch | string | none | Metode stretch nilai piksel. Nilai yang valid: none (mengganti nilai di luar rentang dengan ekstrem terdekat), stats (melakukan stretch berdasarkan statistik raster — memerlukan statistik yang telah dihitung sebelumnya; lihat catatan di bawah), data_type (melakukan stretch berdasarkan rentang nilai tipe piksel). |
Jikastretchdiatur kestats, objek raster sumber harus memiliki statistik yang telah dihitung sebelumnya. PanggilST_SummaryStatspada objek raster sumber sebelum memanggilST_SubRaster.
Contoh
Mengekstrak pita dari objek raster
Mengekstrak pita 0 hingga 2 dari tingkat piramida 1 dan menyimpan hasilnya dalam tabel chunk permanen.
SELECT ST_SubRaster(rast, 1, '0-2', '{"chunktable":"chunk_table", "chunking":true}')
FROM raster_sub
WHERE id = 1;Mengonversi tipe piksel dan melakukan stretch nilai piksel secara paralel
Mengonversi ke integer tak bertanda 8-bit (8BUI) menggunakan metode stretch data_type dengan tingkat paralelisme 4.
SELECT ST_SubRaster(rast, 1, '0-2', '{"chunktable":"chunk_table", "chunking":true, "celltype": "8BUI"}', '{"stretch": "data_type", "parallel": 4}')
FROM raster_sub
WHERE id = 1;