すべてのプロダクト
Search
ドキュメントセンター

ApsaraDB RDS:ST_RPCRectify

最終更新日:Mar 29, 2026

有理多項式係数 (RPC) を使用してラスターオブジェクトを補正し、補正済みのラスターを返します。

構文

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

パラメーター

パラメーターデフォルト説明
rastraster補正するラスターオブジェクト。RPC 情報を含んでいる必要があります。
demrasterNULL補正時に参照する数値標高モデル (DEM)。
rectifyOptioncstring (JSON)'{}'補正オプション。
storageOptioncstring (JSON)'{}'出力ラスターのストレージオプション。
parallelOptioncstring (JSON)'{}'並列処理オプション。
説明 入力ラスターオブジェクトには RPC 情報が含まれている必要があります。

rectifyOption パラメーター

パラメーターデフォルト説明
resamplestringNearリサンプリングメソッド。有効な値:NearAverageCubicBilinear
outSridintegerソースと同じ出力ラスターの空間参照 ID (SRID)。
nodataValuefloat8 or float8[]NULL出力ラスターの nodata 値。すべてのバンドに適用する単一の値を指定するか、バンドごとに 1 つの要素を持つ配列 (例:[0, 0, 0]) を指定します。設定しない場合、この値はデフォルトでソースラスターの nodata 値になります。ソースに nodata 値がない場合は 0 になります。
RPC_DEM_MISSING_VALUEfloat80dem パラメーターに nodata 値がある場合、またはピクセルが有効な DEM の範囲外にある場合に使用する高さの値。

storageOption パラメーター

パラメーターデフォルト説明
chunkingbooleanソースと同じ出力ラスターをチャンクとして保存するかどうかを指定します。
chunkdimstringソースと同じチャンクディメンション。chunkingtrue の場合にのみ有効です。
chunktablestring''チャンクテーブルの名前。'' に設定すると、現在のセッションでランダムな名前の一時的なチャンクテーブルが作成されます。一時テーブルはセッションが終了すると削除されます。セッションを超えて出力ラスターを永続化するには、名前を指定します。並列処理メソッドが匿名チャンクテーブルをサポートしていない場合は、事前にチャンクテーブルを作成してください。
compressionstringソースと同じ圧縮フォーマット。有効な値:NONEJPEGZLIBPNGLZOLZ4JP2K
qualityintegerソースと同じ圧縮品質。JPEG 圧縮にのみ適用されます。
interleavingstringソースと同じバンドインターリーブ方式。有効な値:bip (ピクセル単位のバンドインターリーブ、BIP)、bil (ライン単位のバンドインターリーブ、BIL)、bsq (バンドシーケンシャル、BSQ)。
endianstringソースと同じ出力ラスターのバイトオーダー。有効な値:NDR (リトルエンディアン)、XDR (ビッグエンディアン)。

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

-- RPC ラスターをロードします。
INSERT INTO raster_table VALUES(1, ST_ImportFrom('t_chunk', '<RAST_DATA_DIR>/rpc.tif', '{}'));

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

-- DEM を使用せず、最近傍 (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;

-- DEM を使用して補正し、8 つのパラレルワーカーを使用して EPSG:32635 で出力します。
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;