このトピックでは、ST_AsDatasetFile関数について説明します。 この関数は、ラスターオブジェクトの特定の部分を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から始まります。 このパラメーターの値は、バンドIDの範囲または配列です。 例: |
format | ファイルの形式。 詳細については、「ST_RasterDrivers」をご参照ください。 |
create_option | 抽出されたデータを使用してデータセットを作成するオプション。 このパラメーターの値はJSON文字列です。 詳細については、「ST_RasterDrivers」をご参照ください。 |
process_option | 抽出されたデータを処理するオプション。 このパラメーターの値はJSON文字列です。 rast_coordオプションは、ピクセル座標を使用して入力バウンディングボックスを指定するかどうかを指定します。 ピクセル座標を使用して入力境界ボックスを指定する場合、x座標は列番号を指定します。 を指定し、y座標は行番号を指定します。 ピクセルの x座標とy座標の有効な値は0から始まります。 |
ext | ファイルの形式。 サポートされるファイル形式は、TIFおよびXMLを含む。 |
data | ファイルのBYTEAタイプのデータ。 |
説明
指定するファイル形式は、Ganosのドライバでサポートされている必要があります。 したがって、ST_RasterDrivers関数のcan_asfileパラメーターをtrueに設定する必要があります。 詳細については、「ST_RasterDrivers」をご参照ください。
抽出されたデータを格納するキャッシュのデフォルトサイズは100 MBです。 つまり、最大100 MBの抽出データを返すことができます。 返される抽出データのサイズを調整する場合は、ganos.raster.clip_max_buffer_sizeパラメーターを使用してキャッシュサイズを変更できます。
create_optionパラメーターの値は、ST_RasterDrivers関数のcreate_optionsパラメーターから取得できます。 詳細については、「ST_RasterDrivers」をご参照ください。
例
--Specify the part of data that you want to extract.
SELECT ST_AsDatasetFile(raster_obj,
'(-180,-90), (0,0)'::Box)
FROM raster_table
WHERE id =1;
--Specify the pyramid level from which you want to extract data.
SELECT ST_AsDatasetFile(raster_obj,
'(-180,-90), (0,0)'::Box,
1)
FROM raster_table
WHERE id =1;
--Specify the IDs of the bands from which you want to extract data.
SELECT ST_AsDatasetFile(raster_obj,
'(-180,-90), (0,0)'::Box,
1,
'0-2')
FROM raster_table
WHERE id =1;
--Specify that Ganos saves the extracted data as a GIF file.
SELECT ST_AsDatasetFile(raster_obj,
'(-180,-90), (0,0)'::Box,
1,
'0-2',
'GIF')
FROM raster_table
WHERE id =1;
--Specify the file format and options that are used to process the extracted data.
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;
--Specify that pixel coordinates are used to specify the input bounding box.
SELECT ST_AsDatasetFile(raster_obj,
'(0,0), (100,100)'::Box,
1,
'0-2',
'GTiff',
'{}',
'{"rast_coord":"true"}')
FROM raster_table
WHERE id =1;