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

PolarDB:ST_ClipToRast

最終更新日:Aug 24, 2026

このトピックでは、ST_ClipToRast関数について説明します。 この関数は、指定したジオメトリオブジェクトを使用してラスターオブジェクトをクリップし、そのクリップ結果を新しいラスターオブジェクトとして返します。

構文

ラスターST_ClipToRast(raster raster_obj、
                     geometry geom,
                     integer pyramidLevel default 0,
                     cstring bands default '',
                     float8[] nodata default NULL,
                     cstring clipOption default '',
                     cstring storageOptionデフォルト '') 

パラメーター

パラメーター

説明

raster_obj

クリップするラスタオブジェクト。

pyramidLevel

ピラミッドレベル

geom

クリッピングに使用されるジオメトリオブジェクト。

バンド

クリップするバンド。 値の形式は '0-2 'または '1,2,3' です。 それは0から始まります。 デフォルト値:" デフォルト値は、すべてのバンドがクリップされることを示します。

ノデータ

float8 [] 形式の NoData 値の配列です。 NoData値の数が、クリッピングされるべきバンドの数より少ない場合、バンドの予め定義されたNoData値が満たされる。 バンドにあらかじめ定義されたNoData値がない場合、値0が満たされます。

clipOption

JSON文字列で表されるクリッピングオプション。

storageOption

返された結果でJSON文字列で表されるストレージオプション。

次の表に、clipOptionパラメーターのフィールドを示します。

パラメーター

データ型

デフォルト

説明

ウィンドウ_クリップ

bool

false

クリッピングにジオメトリの境界ボックスを使用するかどうかを指定します。 有効な値:

  • true: クリッピングにジオメトリの最小境界矩形 (MBR) を使用します。

  • false: クリッピングにジオメトリオブジェクトを使用します。

rast_coord

bool

false

指定したジオメトリがピクセル座標を使用するかどうかを指定します。 ピクセル座標が使用される場合、x座標はピクセルの列番号を表し、y座標はピクセルの行番号を表す。

storageOptionパラメーターのフィールドを次の表に示します。

パラメーター

データ型

デフォルト

説明

チャンキング

Boolean

元のラスターと同じ

新しいラスターオブジェクトのデータをチャンクとして保存するかどうかを指定します。

chunkdim

String

元のラスターと同じ

システムが新しいラスタオブジェクトのデータをチャンク化する元となるディメンション。 このパラメーターは、チャンキングパラメーターがtrueに設定されている場合にのみ有効です。

chunktable

String

''

新しいラスターのデータを格納するチャンクテーブルの名前。 このパラメーターを "に設定すると、ランダムな名前の一時チャンクテーブルが生成され、データが保存されます。 一時チャンクテーブルは、現在のセッションでのみ有効です。 新しいラスターの永続的なチャンクテーブルを作成するには、チャンクテーブルの名前を指定する必要があります。

compression

String

lz4

圧縮アルゴリズムのタイプです。 有効な値:

  • none

  • jpeg

  • zlib

  • png

  • lzo

  • lz4

品質

integer

75

圧縮品質です。 このパラメーターは、compression パラメーターの値が jpeg に設定されている場合にのみ有効です。

interleaving

String

元のラスターと同じ

インターリーブタイプです。 有効な値:

  • bip : ピクセルでインターリーブされたバンド (BIP)

  • bil : ラインでインターリーブされたバンド (BIL)

  • bsq : バンドシーケンシャル (BSQ)

エンディアン

String

元のラスターと同じ

エンディアン形式です。 有効な値:

  • NDR: 少しエンディアン

  • XDR: ビッグエンディアン

説明

  • chunkTable prameterをNULLまたは ''に設定すると、ランダムな名前の一時チャンクテーブルが生成され、データが格納されます。 この一時テーブルは、現在のセッションに対してのみ有効です。 新しいラスターの永続的なチャンクテーブルを作成するには、チャンクテーブルの名前を指定する必要があります。

  • クリッピングのデフォルトのキャッシュサイズは100 MBです。 これは、最大100 MBのクリッピングデータを返すことができることを示しています。 返される結果のサイズを調整する場合は、SET ganos.raster.clip_max_buffer_size = <Cache size in bytes>; ステートメントを実行します。

-- 永続テーブルを作成します。
CREATE TABLE rast_clip_result(id integer, rast raster);

-- 一時テーブルを作成します。
TEMP TABLE rast_clip_result_temp(id integer, rast raster);

-デフォルトのクリッピング設定を使用し、結果を一時テーブルに保存します。
INSERT INTO rast_clip_result_temp(id, rast)
select 1, ST_ClipToRast(rast, ST_geomfromtext('Polygon((0 0, 45, 90 45, 45 0, 0)))', 4326), 0)
clip_tableから
id =1;

-パディングの背景色として白を使用し、結果を永続的なテーブルに保存します。
INSERT INTO rast_clip_result(id, rast)
select 2, ST_ClipToRast(rast, ST_geomfromtext('Polygon((0 0, 45, 90 45,45, 45 0, 0)))', 4326), 0, '', ARRAY[254,254,254], '', '{"chunktable":"clip_rbt"}')
clip_tableから
id =1;

-クリッピングにジオメトリのウィンドウを使用します。
INSERT INTO rast_clip_result_temp(id, rast)
SELECT 3, ST_ClipToRast(rast, ST_geomfromtext('Polygon((0 0, 45, 90 45,45, 45 0, 0)))', 4326), 0, '', NULL, '{" window_clip ":true}', '')
clip_tableから
id =1;