ラスタオブジェクトから空間範囲を抽出し、BYTEA 形式のファイルとして返します。
構文
setof record ST_AsDatasetFile(raster raster_obj,
box extent,
integer pyramidLevel default 0,
cstring bands default '',
cstring format default 'GTiff',
cstring create_option default '{}',
cstring process_option default '{}',
out ext cstring,
out data bytea);パラメーター
| パラメーター | 説明 |
|---|---|
| raster_obj | データを抽出するラスタオブジェクト。 |
| extent | 抽出するエリアのバウンディングボックス。座標はデフォルトで地理座標系 (GCS) になります。 |
| pyramidLevel | 読み取り元のピラミッドレベル。有効値は 0 から始まります。デフォルト値: 0。 |
| bands | 抽出するバンド ID。有効なバンド ID は 0 から始まります。範囲 ('0-2') またはコンマ区切りリスト ('1,2,3') で指定します。デフォルト値: '' (すべてのバンド)。 |
| format | 出力ファイル形式。サポートされている形式については、「ST_RasterDrivers」をご参照ください。デフォルト値: 'GTiff'。 |
| create_option | 出力データセットの作成オプションを指定する JSON 文字列。ST_RasterDrivers によって返される create_options フィールドの有効値を使用します。デフォルト値: '{}' |
| process_option | 処理オプションを指定する JSON 文字列。rast_coord オプションは、extent パラメーターがピクセル座標を使用するかどうかを指定します。"true" に設定すると、x 座標はピクセル列に、y 座標はピクセル行にマッピングされ、どちらも 0 から始まります。デフォルト値: '{}'。 |
| ext (out) | 返されるデータのファイル拡張子。サポートされている値: TIF、XML。 |
| data (out) | bytea 形式のファイルコンテンツ。 |
注意事項
出力フォーマットは、
can_asfileがtrueに設定された Ganos ドライバーでサポートされている必要があります。サポートされているフォーマットを確認するには、ST_RasterDrivers を呼び出してください。デフォルトでは、この関数は最大 100 MB の抽出データを返します。この制限を調整するには、
ganos.raster.clip_max_buffer_sizeを使用してキャッシュサイズを変更します。create_optionの有効値は、ST_RasterDrivers の出力に含まれるcreate_optionsフィールドから取得します。
例
デフォルト設定を使用して地理的範囲を抽出します:
SELECT ST_AsDatasetFile(raster_obj,
'(-180,-90), (0,0)'::Box)
FROM raster_table
WHERE id = 1;特定のピラミッドレベルから抽出します:
SELECT ST_AsDatasetFile(raster_obj,
'(-180,-90), (0,0)'::Box,
1)
FROM raster_table
WHERE id = 1;特定のバンドを抽出します:
SELECT ST_AsDatasetFile(raster_obj,
'(-180,-90), (0,0)'::Box,
1,
'0-2')
FROM raster_table
WHERE id = 1;抽出したデータを GIF ファイルとして保存します:
SELECT ST_AsDatasetFile(raster_obj,
'(-180,-90), (0,0)'::Box,
1,
'0-2',
'GIF')
FROM raster_table
WHERE id = 1;抽出データのファイル形式と作成オプションを指定します:
SELECT ST_AsDatasetFile(raster_obj,
'(-180,-90), (0,0)'::Box,
1,
'0-2',
'GTiff',
'{"blockxsize":256, "blockysize":256, "compress": "DEFLATE"}')
FROM raster_table
WHERE id = 1;ピクセル座標を使用してバウンディングボックスを定義します:
SELECT ST_AsDatasetFile(raster_obj,
'(0,0), (100,100)'::Box,
1,
'0-2',
'GTiff',
'{}',
'{"rast_coord":"true"}')
FROM raster_table
WHERE id = 1;