このトピックでは、ST_Clip関数について説明します。 この関数は、ラスターオブジェクトをクリップします。
構文
bytea ST_Clip (ラスターraster_obj、整数pyramidLevel、ボックス範囲、BoxType boxType);
bytea ST_Clip (ラスターraster_obj、整数pyramidLevel、ボックス範囲、BoxType boxType、整数destSrid);
レコードST_Clip (ラスターraster_obj,
geometry geom,
integer pyramidLevel default 0,
cstring bands default '',
float8[] nodata default NULL,
cstring clipOption default '',
cstring storageOption default '',
out box outwindow,
アウトbytea rasterblob)
パラメーター
パラメーター | 説明 |
raster_obj | ラスターオブジェクト |
pyramidLevel | ピラミッドレベル |
範囲 | クリップする領域。 値の形式は |
boxType | クリップする領域の座標タイプ。 有効な値:
|
destSrid | 出力セルサブセットの空間参照系識別子 (SRID) です。 |
geom | クリップするジオメトリオブジェクト。 |
バンド | クリップするバンドのシーケンス番号 ( |
ノデータ | float8 [] 形式の NoData 値の配列です。 NoData値の数が、クリッピングされるべきバンドの数よりも少ない場合、バンドの予め定義されたNoData値が、バンドがクリッピングされた後に領域を埋めるために使用される。 バンドに事前定義された NoData 値がない場合、バンドがクリップされた後、値 0 が領域の塗りつぶしに使用されます。 |
clipOption | クリッピングオプション。 |
出力のストレージオプション。 | |
outwindow | 返されるラスターオブジェクトのサイズ。 |
rasterblob | バイナリピクセル行列。 |
次の表に、clipOptionパラメーターのフィールドを示します。
フィールド | データ型 | デフォルト値 | 説明 |
ウィンドウ_クリップ | bool | false | ジオメトリーオブジェクトのバウンディングボックスを使用してラスターオブジェクトをクリップするかどうかを指定します。 有効な値:
|
rast_coord | bool | false | クリップするジオメトリオブジェクトをラスター座標にするかどうかを指定します。 クリップするジオメトリオブジェクトがラスター座標である場合、ジオメトリのx座標は列番号を表し、y座標は行番号を表します。 列番号と行番号は0から始まります。 |
storageOptionパラメーターのフィールドを次の表に示します。
フィールド | データ型 | デフォルト値 | 説明 |
compression | String | lz4 | 圧縮アルゴリズムのタイプです。 有効な値:
|
品質 | integer | 75 | 圧縮品質です。 このパラメーターは、compression パラメーターの値が jpeg に設定されている場合にのみ有効です。 |
interleaving | String | 元のラスターと同じ | インターリーブタイプです。 有効な値:
|
エンディアン | String | 元のラスターと同じ | エンディアン形式です。 有効な値:
|
説明
デフォルトのクリッピングキャッシュは 100 MB です。これは、100 MB のデータのみが返されることを示しています。 出力サイズの制限を調整するには、ganos.raster.clip_max_buffer_sizeパラメーターを使用してキャッシュのサイズを設定します。
例
clip_tableからST_Clip(raster_obj, 0, '((128.980,30.0),(129.0,30.2))', 'World') を選択します。clip_tableからST_Clip(raster_obj, 0, '((128.980,30.0),(129.0,30.2))', 'World', 4326) を選択します。-ジオメトリオブジェクトを使用して、ラスタオブジェクトをクリップします。
-- Use the default clipping settings.
SELECT (ST_CLIP(rast, ST_geomfromtext) ('Polygon((0 0, 45 45, 90 45, 45 0))', 4326)', 0).* from clip_table where id =1;
-背景色として白を使用し、出力をPNG画像に圧縮します。
SELECT (ST_CLIP(rast, ST_geomfromtext('Polygon((0 0, 45, 90 45,45, 45 0, 0)))', 4326), 0, '', ARRAY[254,254,254], '', '', '{" compression ":" png "," interleating ":" bip "}').* from cliptableここでid =1;
-ジオメトリオブジェクトのウィンドウを使用して、ラスタオブジェクトをクリップします。
SELECT (ST_CLIP(rast, ST_geomfromtext('Polygon((0, 45, 90 45,45, 45 0)))', 4326), 0, '', NULL, '{" window_clip ":true}', '').* from clip_table where id =1;