この関数は、指定したジオメトリオブジェクトを使用してラスターオブジェクトをクリップし、そのクリップ結果を新しいラスターオブジェクトとして返します。
構文
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 | クリッピングに使用されるジオメトリオブジェクト。 |
バンド | クリップされるバンド ( |
ノデータ | float8[] の形式のnodata値。 値の数がバンドの数より少ない場合、バンドに指定されているnodata値が埋められます。 バンドにnodata値が指定されていない場合、値0が埋められます。 |
clipOption | JSON文字列で表されるクリッピングオプション。 |
返された結果でJSON文字列で表されるストレージオプション。 |
次の表に、clipOptionのパラメーターを示します。
パラメーター | タイプ | デフォルト値 | 説明 |
ウィンドウ_クリップ | bool | false | クリッピングにジオメトリの境界ボックスを使用するかどうかを指定します。 有効な値:
|
rast_coord | bool | false | 渡されたジオメトリがピクセル座標を使用するかどうかを指定します。 ピクセル座標が使用される場合、x座標はピクセルの列番号を表し、y座標はピクセルの行番号を表す。 |
storageOptionのパラメーターを次の表に示します。
パラメーター | タイプ | デフォルト値 | 説明 |
チャンキング | Boolean | 元のラスターと同じ | データをチャンクとして保存するかどうかを指定します。 |
chunkdim | String | 元のラスターと同じ | チャンクに関するディメンション情報。 このパラメーターは、チャンキングパラメーターがtrueに設定されている場合にのみ有効です。 |
chunktable | String | '' | チャンクテーブルの名前です。 |
compression | String | lz4 | 圧縮アルゴリズムのタイプです。 有効な値:
|
品質 | integer | 75 | 圧縮品質です。 このパラメーターは、jpeg圧縮アルゴリズムに対してのみ有効です。 |
interleaving | String | 元のラスターと同じ | インターリーブ方法。 有効な値:
|
エンディアン | String | 元のラスターと同じ | エンディアン。 有効な値:
|
説明
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;