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