この関数は、ラスターオブジェクトをクリップします。

構文

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 ピラミッドレベルです。
extent クリップされる領域です。「((minX,minY),(maxX,maxY))」形式です。
boxType クリップする領域の座標タイプです。 有効な値は以下のとおりです。
  • Raster : ピクセル座標
  • World : ワールド座標
destSrid 出力セルサブセットの空間参照系識別子 (SRID) です。
geometry クリッピングに使用されるジオメトリーオブジェクトです。
bands クリップするバンドのシーケンス番号です。「0-2」または「1,2,3」の形式です。 シーケンス番号は 0 から始まります。 デフォルト値は null 文字列 ('') です。 これは、すべてのバンドがクリップされることを示します。
nodata float8 [] 形式の NoData 値の配列です。 NoData 値の数がクリップされるバンドの数よりも少ない場合、バンドの事前定義された NoData 値を使用して、バンドがクリップされた後に領域を塗りつぶします。 バンドに事前定義された NoData 値がない場合、バンドがクリップされた後、値 0 が領域の塗りつぶしに使用されます。
clipOption クリッピングオプションです。 値は JSON 形式の文字列です。
storageOption 出力のストレージオプションです。 値は JSON 形式の文字列です。

次の表は clipOption のパラメーターを示します。

パラメーター デフォルト値 説明
window_clip Boolean false ジオメトリーオブジェクトのバウンディングボックスを使用してラスターオブジェクトをクリップするかどうかを指定します。 有効な値は以下のとおりです。
  • true : ジオメトリーオブジェクトの最小外接長方形 (MBR) を使用します。
  • false : ジオメトリーオブジェクトを使用します。
rast_coord Boolean false クリップするジオメトリーがラスター座標であるかどうかです。 true の場合、ジオメトリーの x 座標は列番号を表し、y 座標は行番号を表します。

次の表は storageOption のパラメーターを示します。

パラメーター デフォルト値 説明
compression String lz4 圧縮アルゴリズムのタイプです。 有効な値は以下のとおりです。
  • none
  • jpeg
  • zlib
  • png
  • lzo
  • lz4
quality Integer 75 圧縮品質です。 このパラメーターは、compression パラメーターの値が jpeg に設定されている場合にのみ有効です。
interleaving String 元のラスターオブジェクトと同じ インターリーブタイプです。 有効な値は以下のとおりです。
  • bip : ピクセルでインターリーブされたバンド (BIP)
  • bil : ラインでインターリーブされたバンド (BIL)
  • bsq : バンドシーケンシャル (BSQ)
endian String 元のラスターオブジェクトと同じ エンディアン形式です。 有効な値は以下のとおりです。
  • NDR : リトルエンディアン形式
  • XDR : ビッグエンディアン形式

説明

デフォルトのクリッピングキャッシュは 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;