Topik ini menjelaskan fungsi ST_Clip, yang digunakan untuk memotong objek raster.
Sintaksis
bytea ST_Clip(raster raster_obj,integer pyramidLevel, box extent, BoxType boxType);
bytea ST_Clip(raster raster_obj,integer pyramidLevel, box extent, BoxType boxType, integer destSrid);
record ST_Clip(raster raster_obj,
geometry geom,
integer pyramidLevel default 0,
cstring bands default '',
float8[] nodata default NULL,
cstring clipOption default '',
cstring storageOption default '',
out box outwindow,
out bytea rasterblob)Parameter
Parameter | Deskripsi |
raster_obj | Objek raster. |
pyramidLevel | Tingkat piramida. |
extent | Area yang ingin Anda potong. Nilainya dalam format |
boxType | Jenis koordinat area yang ingin Anda potong. Nilai valid:
|
destSrid | Pengenal sistem referensi spasial (SRID) dari subset sel keluaran. |
geom | Objek geometri yang ingin Anda potong. |
bands | Nomor urut band yang akan dipotong, dalam format |
nodata | Array nilai NoData dalam format float8[]. Jika jumlah nilai NoData kurang dari jumlah band yang akan dipotong, nilai NoData yang telah ditentukan untuk sebuah band digunakan untuk mengisi area setelah band tersebut dipotong. Jika sebuah band tidak memiliki nilai NoData yang telah ditentukan, nilai 0 digunakan untuk mengisi area setelah band tersebut dipotong. |
clipOption | Opsi pemotongan. |
Opsi penyimpanan untuk keluaran. | |
outwindow | Ukuran objek raster yang dikembalikan. |
rasterblob | Matriks piksel biner. |
Tabel berikut menjelaskan bidang parameter clipOption.
Bidang | Tipe | Nilai default | Deskripsi |
window_clip | bool | false | Menentukan apakah akan menggunakan kotak pembatas objek geometri untuk memotong objek raster. Nilai valid:
|
rast_coord | bool | false | Menentukan apakah objek geometri yang ingin Anda potong berada dalam koordinat raster. Jika objek geometri yang ingin Anda potong berada dalam koordinat raster, koordinat x dari geometri mewakili nomor kolom dan koordinat y mewakili nomor baris. Nomor kolom dan baris dimulai dari 0. |
Tabel berikut menjelaskan bidang parameter storageOption.
Bidang | Tipe | Nilai default | Deskripsi |
compression | string | lz4 | Tipe algoritma kompresi. Nilai valid:
|
quality | integer | 75 | Kualitas kompresi. Parameter ini hanya berlaku ketika nilai parameter kompresi diatur ke jpeg. |
interleaving | string | Sama dengan raster asli | Tipe interleaving. Nilai valid:
|
endian | string | Sama dengan raster asli | Format endian. Nilai valid:
|
Deskripsi
Cache pemotongan default adalah 100 MB, yang berarti hanya 100 MB data yang dapat dikembalikan. Untuk menyesuaikan batas ukuran keluaran, gunakan parameter ganos.raster.clip_max_buffer_size untuk mengatur ukuran cache.
Contoh
Select ST_Clip(raster_obj, 0, '((128.980,30.0),(129.0,30.2))', 'World') from clip_table;
Select ST_Clip(raster_obj, 0, '((128.980,30.0),(129.0,30.2))', 'World', 4326) from clip_table;
-- Gunakan objek geometri untuk memotong objek raster.
-- Gunakan pengaturan pemotongan default.
SELECT (ST_CLIP(rast, ST_geomfromtext('Polygon((0 0, 45 45, 90 45, 45 0, 0 0))', 4326), 0)).* from clip_table where id =1;
-- Gunakan warna putih sebagai warna latar belakang dan kompres keluaran menjadi gambar PNG.
SELECT (ST_CLIP(rast, ST_geomfromtext('Polygon((0 0, 45 45, 90 45, 45 0, 0 0))', 4326), 0, '', ARRAY[254,254,254], '', '{"compression":"png","interleaving":"bip"}')).* from clip_table where id =1;
-- Gunakan jendela objek geometri untuk memotong objek raster.
SELECT (ST_CLIP(rast, ST_geomfromtext('Polygon((0 0, 45 45, 90 45, 45 0, 0 0))', 4326), 0, '', NULL, '{"window_clip":true}', '')).* from clip_table where id =1;