All Products
Search
Document Center

PolarDB:ST_CreateRast

Last Updated:Mar 29, 2026

Membuat objek raster dari file yang disimpan di bucket OSS, bucket MinIO, atau file HDFS, serta dari array satu dimensi.

Sintaksis

raster ST_CreateRast(cstring url);
raster ST_CreateRast(cstring url, cstring storageOption);
raster ST_CreateRast(anyarray data, integer width, cstring storageOption, geometry extent);

Parameter

ParameterDeskripsi
urlPath file sumber. Untuk format path yang didukung, lihat Object storage paths.
storageOptionString JSON yang menentukan opsi penyimpanan chunk untuk piramida raster.
dataArray satu dimensi yang merepresentasikan raster. Panjang array harus sama dengan jumlah kolom dikalikan jumlah baris.
widthJumlah kolom dalam raster.
extent(Opsional) Ruang tiga dimensi yang direpresentasikan menggunakan geometri.

Bidang storageOption

BidangTipeFormatBawaanDeskripsi
chunkdimString(w,h,b)Sama dengan ukuran chunk pada file sumberUkuran setiap chunk yang digunakan untuk menyimpan data raster.
interleavingStringbsqMetode interleaving. Nilai yang valid: bip (band interleaved by pixel), bil (band interleaved by line), bsq (band sequential), auto (ditentukan secara otomatis).
chunk_tableStringNoneNama tabel chunk. Wajib ditentukan saat membuat objek raster dari array satu dimensi.

Catatan penggunaan

Timpa nilai bawaan untuk chunkdim dan interleaving hanya dalam kasus berikut:

  • Tampilan multiband RGB: Jika interleaving bernilai bsq tetapi raster akan dirender menggunakan kombinasi multiband RGB, atur interleaving menjadi bip.

  • Ketidaksesuaian ukuran chunk: Jika gambar sumber memiliki chunk berukuran 1 baris × n kolom tetapi Anda memerlukan chunk berukuran 256 × 256, atur chunkdim ke ukuran chunk yang diinginkan.

Untuk mendapatkan daftar format data yang didukung, panggil fungsi ST_RasterDrivers.

Contoh

Semua contoh berikut menggunakan ST_CreateRast untuk membuat objek raster dari backend penyimpanan yang berbeda.

-- Membuat objek raster dari file OSS menggunakan kredensial AccessKey dan titik akhir internal.
SELECT ST_CreateRast('OSS://<ak>:<ak_secret>@oss-cn-beijing-internal.aliyuncs.com/mybucket/data/image.tif');

-- Membuat objek raster dari bucket MinIO menggunakan host dan port dalam URL.
SELECT ST_CreateRast('OSS://<ak>:<ak_secret>@10.0.XX.XX:443/mybucket/data/image.tif');

-- Membuat objek raster dari file HDFS menggunakan username dalam URL.
SELECT ST_CreateRast('HDFS://<user_name>@10.0.XX.XX:8020/path/image.tif');

-- Membuat objek raster dengan dimensi chunk dan interleaving kustom.
SELECT ST_CreateRast('OSS://<ak>:<ak_secret>@oss-cn-beijing-internal.aliyuncs.com/mybucket/data/image.tif', '{"chunkdim":"(256,256,3)","interleaving":"auto"}');

-- Membuat objek raster dari file NetCDF dan memilih subset hcc.
SELECT ST_CreateRast('OSS://<ak>:<ak_secret>@oss-cn-beijing-internal.aliyuncs.com/mybucket/data/image.nc:hcc');

-- Membuat objek raster dari array satu dimensi dengan extent geometri.
SELECT ST_FixedRid(ST_CreateRast(ARRAY[10, 11, 8, 12], 2, '{"chunktable":"rbt"}', ST_GeomFromText('POLYGON((0 0, 10 0, 10 10, 0 10, 0 0))', 4326)));

-- Membuat objek raster dengan mengagregasi nilai dari tabel menggunakan array_agg.
SELECT ST_FixedRid(ST_CreateRast((SELECT array_agg(value) FROM point_table), 300, '{"chunktable":"rbt"}'));