All Products
Search
Document Center

ApsaraDB RDS:ST_RPCRectify

Last Updated:Mar 29, 2026

Merectifikasi objek raster menggunakan Rational Polynomial Coefficients (RPC) dan mengembalikan raster yang telah direktifikasi.

Sintaksis

raster ST_RPCRectify(raster rast,
                     raster dem DEFAULT NULL,
                     cstring rectifyOption DEFAULT '{}',
                     cstring storageOption DEFAULT '{}',
                     cstring parallelOption DEFAULT '{}')

Parameter

ParameterTypeDefaultDescription
rastrasterObjek raster yang akan diluruskan harus berisi informasi RPC.
demrasterNULLDigital elevation model (DEM) yang digunakan sebagai referensi selama proses rectifikasi.
rectifyOptioncstring (JSON)'{}'Opsi rectifikasi.
storageOptioncstring (JSON)'{}'Opsi penyimpanan untuk raster output.
parallelOptioncstring (JSON)'{}'Opsi pemrosesan paralel.
Catatan Objek raster input harus berisi informasi RPC.

Parameter rectifyOption

ParameterTypeDefaultDescription
resamplestringNearMetode resampling. Nilai yang valid: Near, Average, Cubic, Bilinear.
outSridintegerSama dengan sumberSpatial reference ID (SRID) dari raster output.
nodataValuefloat8 atau float8[]NULLNilai nodata untuk raster output. Tentukan satu nilai untuk menerapkannya ke semua band, atau array (misalnya, [0, 0, 0]) dengan satu elemen per band. Jika tidak ditentukan, nilai default-nya adalah nilai nodata dari raster sumber, atau 0 jika raster sumber tidak memiliki nilai tersebut.
RPC_DEM_MISSING_VALUEfloat80Nilai ketinggian yang digunakan ketika parameter dem memiliki nilai nodata atau piksel berada di luar jangkauan DEM yang valid.

Parameter storageOption

ParameterTypeDefaultDescription
chunkingbooleanSama dengan sumberMenentukan apakah raster output disimpan dalam bentuk chunk.
chunkdimstringSama dengan sumberDimensi chunk. Hanya berlaku jika chunking bernilai true.
chunktablestring''Nama tabel chunk. Atur ke '' untuk membuat tabel chunk temporary dengan nama acak dalam sesi saat ini. Tabel temporary akan dihapus saat sesi berakhir. Tentukan nama untuk menyimpan raster output melebihi durasi sesi. Jika metode paralel tidak mendukung tabel chunk anonim, buat tabel chunk terlebih dahulu.
compressionstringSama dengan sumberFormat kompresi. Nilai yang valid: NONE, JPEG, ZLIB, PNG, LZO, LZ4, JP2K.
qualityintegerSama dengan sumberKualitas kompresi. Hanya berlaku untuk kompresi JPEG.
interleavingstringSama dengan sumberMetode interleaving band. Nilai yang valid: bip (band interleaved by pixel, BIP), bil (band interleaved by line, BIL), bsq (band sequential, BSQ).
endianstringSama dengan sumberUrutan byte dari raster output. Nilai yang valid: NDR (little endian), XDR (big endian).

Contoh

CREATE TABLE IF NOT EXISTS raster_table(id integer, rast raster);

-- Muat raster RPC.
INSERT INTO raster_table VALUES(1, ST_ImportFrom('t_chunk', '<RAST_DATA_DIR>/rpc.tif', '{}'));

-- Muat raster 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);

-- Rectifikasi tanpa DEM, menggunakan resampling nearest neighbor (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;

-- Rectifikasi dengan DEM dan output dalam EPSG:32635, menggunakan 8 Parallel Worker.
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;