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

PolarDB:ST_BuildPyramid

最終更新日:Sep 26, 2024

このトピックでは、ラスタオブジェクトのピラミッドを作成するために使用されるST_BuildPyramid関数について説明します。

構文

raster ST_BuildPyramid(raster source, 
                       integer pyramidLevel default -1, 
                       ResampleAlgorithm algorithm default 'Near', 
                       cstring chunkTableName default '', 
                       cstring storageOption default '{}',
                       cstring buildOption default '{}');

パラメーター

パラメーター

説明

ソース

ラスターオブジェクトの名前です。

chunkTableName

ピラミッドに格納されているチャンクテーブルの名前。 このパラメーターは、ラスターオブジェクトがobject Storage Service (OSS) バケットに保存されている場合にのみ有効になります。

pyramidLevel

ピラミッド内のレベルの数。 値-1は、ピラミッド内で最大数のレベルが作成されることを指定します。

アルゴリズム

ピラミッドの作成に使用されるリサンプリングアルゴリズム。 有効な値:

  • 近く

  • Average

  • バイリニア

  • 立方

storageOption

ストレージ関連のパラメーターを指定するために使用されるJSON文字列。 これらのパラメータは、ピラミッドのチャンク記憶情報を記述するために使用される。 このJSON文字列は、ラスターオブジェクトがOSSバケットに保存されている場合にのみ有効です。

buildOption

ピラミッドの建物関連のパラメーターを指定するために使用されるJSON文字列。 PolarDBはparallelパラメーターをサポートしています。 このパラメータは、並列処理の程度を指定します。 このパラメーターのデータ型はINTEGERです。 このパラメーターの値は1から64の範囲です。 parallelパラメーターを指定しない場合、GUCパラメーターganos.parallel.de greeの値がデフォルトの並列度として使用されます。 詳細については、「ganos.parallel.de gree」をご参照ください。

説明

スレッドを並列に実行してピラミッドを作成する場合、トランザクションはサポートされません。 ピラミッドを作成できない場合、またはトランザクションをロールバックする必要がある場合は、ST_deletePyramid関数を呼び出してピラミッドを削除できます。 詳細については、「ST_deletePyramid」をご参照ください。

次の表に、storageOptionのパラメーターを示します。

パラメーター

データ型

説明

chunkdim

String

ラスタオブジェクトのデータをチャンクするために使用されるディメンション。 このパラメーターの値は (w, h, b) 形式に従います。 デフォルトでは、チャンクあたりのサイズは元の画像データから取得されます。

interleaving

String

ラスターオブジェクトのデータをインターリーブするために使用されるメソッド。

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

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

  • bsq: バンドシーケンシャル (BSQ) (これはデフォルト値です。)

  • auto: この関数で指定されたインターリーブ方法

compression

String

ラスターオブジェクトのデータを圧縮する形式。 有効な値:

  • none

  • jpeg

  • zlib

  • png

  • lzo

  • LZ4 (これはデフォルト値です) 。

  • zstd

  • snappy

  • jp2k

品質

integer

圧縮の質。 このパラメーターは、JPEGまたはJPEG 2000圧縮形式を使用する場合にのみ有効になります。

値の範囲: 1-99。 デフォルト値: 75。

説明

この機能は、GPU高速コンピューティングをサポートします。 デフォルトでは、GPUを備えたアクティブ環境では、Ganosは自動的にGPU高速コンピューティングを有効にします。

Update raster_table set raster_obj = ST_BuildPyramid(raster_obj) where id = 1;

Update raster_table set raster_obj = ST_BuildPyramid(raster_obj, 'chunk_table') where id = 2;

-- Use JPEG 2000 to compress the data of the raster object.
-- Make sure that all bands are within one chunk.
Update raster_table set raster_obj = ST_BuildPyramid(
    raster_obj, 
    -1, 
    'Near', 
    'chunk_table', 
    '{"compression":"jp2k", "quality": 75, "chunkdim":"(256,256,4)","interleaving":"auto"}') 
where id = 3;

-- Create the pyramid by using parallel operations.
Update raster_table set raster_obj = ST_BuildPyramid(
    raster_obj, 
    -1, 
    'Near', 
    'chunk_table', 
    '{"compression":"jp2k", "quality": 75, "chunkdim":"(256,256,4)","interleaving":"auto"}', 
    '{"parallel":4}') 
where id = 3;