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

PolarDB:ST_ClipToRast

最終更新日:Jan 23, 2025

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

構文

raster ST_ClipToRast(raster raster_obj,
                     geometry geom,
                     integer pyramidLevel default 0,
                     cstring bands default '',
                     float8[] nodata default NULL,
                     cstring clipOption default '',
                     cstring storageOption default '')

パラメーター

パラメーター

説明

raster_obj

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

pyramidLevel

ピラミッドレベル

geom

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

バンド

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

ノデータ

float8[] の形式の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

圧縮品質です。 このパラメーターは、jpeg圧縮アルゴリズムに対してのみ有効です。

interleaving

String

元のラスターと同じ

インターリーブ方法。 有効な値:

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

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

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

エンディアン

String

元のラスターと同じ

エンディアン。 有効な値:

  • NDR: 少しエンディアン

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

説明

  • chunktableパラメーターにNULLまたは "が渡された場合、ランダムな名前の一時チャンクテーブルが生成され、データが格納されます。 この一時テーブルは、現在のセッションでのみ有効です。 アクセス可能なクリッピングオブジェクトを保持する必要がある場合は、チャンクテーブルの名前を指定する必要があります。

  • クリッピングのデフォルトのキャッシュサイズは100 MBです。 これは、最大100 MBのクリッピング結果データを返すことができることを示しています。 返される結果のサイズを調整する必要がある場合は、ganos.raster.clip_max_buffer_sizeパラメーターを使用してキャッシュサイズを指定できます。

-- Create a permanent table.
CREATE TABLE rast_clip_result(id integer, rast raster);

-- Create a temporary table.
CREATE TEMP TABLE rast_clip_result_temp(id integer, rast raster);

-- Use the default clipping settings and store the result in a temporary table.
INSERT INTO rast_clip_result_temp(id, rast) 
select 1, ST_ClipToRast(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 for padding and store the result in a permanent table.
INSERT INTO rast_clip_result(id, rast) 
select 2, ST_ClipToRast(rast, ST_geomfromtext('Polygon((0 0, 45 45, 90 45, 45 0, 0 0))', 4326), 0, '', ARRAY[254,254,254], '', '{"chunktable":"clip_rbt"}') 
from clip_table 
where id =1;

-- Use the window of a geometry for clipping.
INSERT INTO rast_clip_result_temp(id, rast) 
SELECT 3, ST_ClipToRast(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;