構文
raster ST_RPCRectify(raster rast,
raster dem DEFAULT NULL,
cstring rectifyOption DEFAULT '{}',
cstring storageOption DEFAULT '{}',
cstring parallelOption DEFAULT '{}')
パラメーター
| パラメーター | 型 | デフォルト | 説明 |
|---|
rast | raster | — | 補正するラスターオブジェクト。RPC 情報を含んでいる必要があります。 |
dem | raster | NULL | 補正時に参照する数値標高モデル (DEM)。 |
rectifyOption | cstring (JSON) | '{}' | 補正オプション。 |
storageOption | cstring (JSON) | '{}' | 出力ラスターのストレージオプション。 |
parallelOption | cstring (JSON) | '{}' | 並列処理オプション。 |
説明 入力ラスターオブジェクトには RPC 情報が含まれている必要があります。
rectifyOption パラメーター
| パラメーター | 型 | デフォルト | 説明 |
|---|
resample | string | Near | リサンプリングメソッド。有効な値:Near、Average、Cubic、Bilinear。 |
outSrid | integer | ソースと同じ | 出力ラスターの空間参照 ID (SRID)。 |
nodataValue | float8 or float8[] | NULL | 出力ラスターの nodata 値。すべてのバンドに適用する単一の値を指定するか、バンドごとに 1 つの要素を持つ配列 (例:[0, 0, 0]) を指定します。設定しない場合、この値はデフォルトでソースラスターの nodata 値になります。ソースに nodata 値がない場合は 0 になります。 |
RPC_DEM_MISSING_VALUE | float8 | 0 | dem パラメーターに nodata 値がある場合、またはピクセルが有効な DEM の範囲外にある場合に使用する高さの値。 |
storageOption パラメーター
| パラメーター | 型 | デフォルト | 説明 |
|---|
chunking | boolean | ソースと同じ | 出力ラスターをチャンクとして保存するかどうかを指定します。 |
chunkdim | string | ソースと同じ | チャンクディメンション。chunking が true の場合にのみ有効です。 |
chunktable | string | '' | チャンクテーブルの名前。'' に設定すると、現在のセッションでランダムな名前の一時的なチャンクテーブルが作成されます。一時テーブルはセッションが終了すると削除されます。セッションを超えて出力ラスターを永続化するには、名前を指定します。並列処理メソッドが匿名チャンクテーブルをサポートしていない場合は、事前にチャンクテーブルを作成してください。 |
compression | string | ソースと同じ | 圧縮フォーマット。有効な値:NONE、JPEG、ZLIB、PNG、LZO、LZ4、JP2K。 |
quality | integer | ソースと同じ | 圧縮品質。JPEG 圧縮にのみ適用されます。 |
interleaving | string | ソースと同じ | バンドインターリーブ方式。有効な値:bip (ピクセル単位のバンドインターリーブ、BIP)、bil (ライン単位のバンドインターリーブ、BIL)、bsq (バンドシーケンシャル、BSQ)。 |
endian | string | ソースと同じ | 出力ラスターのバイトオーダー。有効な値: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;