Memperbaiki file data raster berdasarkan parameter koefisien polinomial rasional (RPC) terkait dan mengembalikan file data raster yang diperbarui.
Sintaksis
raster ST_RPCRectify(raster rast,
raster dem default NULL,
cstring rectifyOption default '{}',
cstring storageOption default '{}',
cstring parallelOption default '{}')Parameter
| Parameter | Deskripsi |
| rast | Objek raster yang akan diperbaiki. |
| dem | Model elevasi digital (DEM) yang dirujuk ketika fungsi ini memperbaiki objek raster. Nilai default: null. |
| rectifyOption | Opsi yang akan diperbaiki. Nilainya adalah string dalam format JSON. |
| storageOption | Opsi penyimpanan untuk keluaran. Nilainya adalah string dalam format JSON. |
| parallelOption | Opsi paralel. Nilainya adalah string dalam format JSON. |
Deskripsi
Catatan Objek raster harus mencakup informasi RPC.
rectifyOption adalah array string dalam format JSON. Tabel berikut menjelaskan setiap parameter dari objek JSON.
| Parameter | Deskripsi | Tipe | Nilai default | Deskripsi |
| resample | Metode yang digunakan untuk resampling piksel. | string | 'Near' | Nilai valid:
|
| outSrid | Informasi referensi spasial objek raster baru. | integer | Nilainya sama dengan nilai untuk objek raster asli. | Tidak ada |
| nodataValue | Nilai nodata baru yang ditentukan berdasarkan band objek raster baru. | float8 float8[] | NULL | Anda dapat menentukan nilai atau array dalam parameter nodataValue.
|
| RPC_DEM_MISSING_VALUE | Nilai ketinggian saat parameter dem disetel ke nilai nodata baru atau data raster tidak termasuk dalam nilai valid parameter dem. | float8 | 0 | Tidak ada |
Tabel berikut menjelaskan parameter dari storageOption.
| Parameter | Deskripsi | Tipe | Nilai default | Deskripsi |
| chunking | Menentukan apakah data disimpan sebagai chunk. | boolean | Nilainya sama dengan nilai untuk objek raster asli. | Tidak ada |
| chunkdim | Dimensi yang digunakan untuk chunk data. | string | Nilainya sama dengan nilai untuk objek raster asli. | Parameter ini hanya berlaku jika Anda menyetel parameter chunking ke true. |
| chunktable | Nama tabel chunk. | string | '' | Jika Anda menentukan nilai '', sistem membuat tabel chunk sementara dengan nama acak dalam sesi saat ini. Tabel chunk sementara ini digunakan untuk menyimpan objek raster baru. Tabel chunk sementara hanya tersedia dalam sesi saat ini. Setelah sesi berakhir, tabel chunk sementara juga dihapus. Jika Anda ingin menyimpan objek raster baru, Anda harus menentukan nama untuk tabel chunk. Jika metode paralel yang ditentukan tidak mendukung tabel chunk yang dibuat oleh pengguna anonim, Anda harus membuat tabel chunk terlebih dahulu. |
| compression | Format ke dalam mana Anda ingin menekan data objek raster. | string | Nilainya sama dengan nilai untuk objek raster asli. | Nilai valid:
|
| quality | Kualitas kompresi. | integer | Nilainya sama dengan nilai untuk objek raster asli. | Bidang ini hanya berlaku dalam format JPEG. |
| interleaving | Metode yang digunakan untuk menginterleave data objek raster. | string | Nilainya sama dengan nilai untuk objek raster asli. | Nilai valid:
|
| endian | Format endian objek raster baru. | string | Nilainya sama dengan nilai untuk objek raster asli. | Nilai valid:
|
Contoh:
CREATE TABLE if not exists raster_table(id integer, rast raster);
-- Data raster RPC.
INSERT INTO raster_table values(1, ST_ImportFrom('t_chunk','<RAST_DATA_DIR>/rpc.tif', '{}'));
-- Data DEM.
INSERT INTO raster_table values(2, ST_ImportFrom('t_chunk','<RAST_DATA_DIR>/rpc_dem.tif', '{}'));
CREATE TABLE raster_result(id integer, rast raster);
-- Parameter dem tidak ditentukan. Sistem melakukan sampling data menggunakan metode Nearest Neighbor Search (NNS).
INSERT INTO raster_result(id, rast)
select 10, ST_RPCRectify(rast,
NULL,
'{"resample":"Near"}',
'{"chunking":true,"chunkdim":"(256,256,1)","interleaving":"bsq","chunktable":"t_chunk"}')
from raster_table
where id =1;
-- Parameter dem ditentukan. Sistem melakukan sampling data menggunakan metode NNS.
INSERT INTO raster_result(id, rast)
select 11, ST_RPCRectify(rast,
(SELECT rast FROM raster_table WHERE id = 2),
'{"resample":"Near", "outSrid": 32635}',
'{"chunking":true,"chunkdim":"(256,256,1)","interleaving":"bsq","chunktable":"t_chunk"}',
'{"parallel": 8}')
from raster_table
where id =1;