全部产品
Search
文档中心

PolarDB:ST_RPCRectify

更新时间:Jul 02, 2025

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

ParameterDeskripsi
rastObjek raster yang akan diperbaiki.
demModel elevasi digital (DEM) yang dirujuk ketika fungsi ini memperbaiki objek raster. Nilai default: null.
rectifyOptionOpsi yang akan diperbaiki. Nilainya adalah string dalam format JSON.
storageOptionOpsi penyimpanan untuk keluaran. Nilainya adalah string dalam format JSON.
parallelOptionOpsi 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.

ParameterDeskripsiTipeNilai defaultDeskripsi
resampleMetode yang digunakan untuk resampling piksel.string'Near'Nilai valid:
  • Near
  • Average
  • Cubic
  • Bilinear
outSridInformasi referensi spasial objek raster baru.integerNilainya sama dengan nilai untuk objek raster asli.Tidak ada
nodataValueNilai nodata baru yang ditentukan berdasarkan band objek raster baru.float8

float8[]

NULLAnda dapat menentukan nilai atau array dalam parameter nodataValue.
  • Jika Anda menentukan nilai, nilai tersebut digunakan untuk semua band di objek raster baru.
  • Jika Anda menentukan array [0, 0, 0], jumlah elemen array harus sama dengan jumlah band di objek raster baru.
  • Jika Anda tidak menentukan parameter ini, sistem menetapkan parameter ini ke nilai parameter nodataValue untuk objek raster asli. Jika parameter nodataValue asli tidak ditentukan, sistem menetapkan parameter ini ke 0.
RPC_DEM_MISSING_VALUENilai ketinggian saat parameter dem disetel ke nilai nodata baru atau data raster tidak termasuk dalam nilai valid parameter dem.float80Tidak ada

Tabel berikut menjelaskan parameter dari storageOption.

ParameterDeskripsiTipeNilai defaultDeskripsi
chunkingMenentukan apakah data disimpan sebagai chunk.booleanNilainya sama dengan nilai untuk objek raster asli.Tidak ada
chunkdimDimensi yang digunakan untuk chunk data.stringNilainya sama dengan nilai untuk objek raster asli.Parameter ini hanya berlaku jika Anda menyetel parameter chunking ke true.
chunktableNama 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.

compressionFormat ke dalam mana Anda ingin menekan data objek raster.stringNilainya sama dengan nilai untuk objek raster asli.Nilai valid:
  • NONE
  • JPEG
  • ZLIB
  • PNG
  • LZO
  • LZ4
  • JP2K
qualityKualitas kompresi.integerNilainya sama dengan nilai untuk objek raster asli.Bidang ini hanya berlaku dalam format JPEG.
interleavingMetode yang digunakan untuk menginterleave data objek raster.stringNilainya sama dengan nilai untuk objek raster asli.Nilai valid:
  • bip: band interleaved by pixel (BIP)
  • bil: band interleaved by line (BIL)
  • bsq: band sequential (BSQ)
endianFormat endian objek raster baru.stringNilainya sama dengan nilai untuk objek raster asli.Nilai valid:
  • NDR: little endian
  • XDR: big endian

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;