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

ApsaraDB RDS:ST_LinearStretch

最終更新日:Jan 15, 2024

この関数は、ラスターを線形に引き伸ばして新しいラスターを返すために使用されます。

構文

  • 構文1
    ラスターST_LinearStretch(raster raster_obj、
                            integer pyramidLevel default 0,    
                            cstring bands default '', 
                            integer minRatioデフォルト0、
                            integer maxRatioのデフォルト100、 
                            cstring storageOption default ''、
                            cstring parallelOptionのデフォルト '{}') 
  • 構文2
    ラスターST_LinearStretch(raster raster_obj、
                            float8[] minValues,
                            float8[] maxValues,
                            integer pyramidLevel default 0,    
                            cstring bands default '',  
                            cstring storageOption default ''、
                            cstring parallelOptionのデフォルト '{}') 

パラメーター

パラメーター説明
raster_objクエリするラスター。The raster that you want to query.
pyramidLevelストレッチしたいピラミッドレベル。 有効な値は0から始まります。 デフォルト値:0
バンドストレッチするバンドのID。 例: '0-2 'および '1,2,3' 有効なバンドIDは0から始まります。 デフォルト値:'' デフォルト値は、ラスターのすべてのバンドを指定します。
storageOptionストレージオプションで構成されるJSON文字列。 詳細については、このトピックの「storageOption」の表を参照してください。
parallelOption並列操作オプションで構成されるJSON文字列。 詳細については、このトピックの「parallelOption」の表を参照してください。
minRatioラスターのストレッチに基づく最小パーセンタイル。 有効値: 0~100。
maxRatioラスターのストレッチに基づく最大パーセンタイル。 有効値: 0~100。 このパラメーターの値は、minRatioパラメーターの値より大きくなければなりません。
minValues最小値で構成される配列。 最小値の数は、ストレッチするバンドの数と同じである必要があります。
maxValues最大値で構成される配列。 最大値の数は、ストレッチするバンドの数と同じである必要があります。

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

パラメーター説明データ型デフォルト値補足
チャンキング新しいラスターのデータをチャンクとして保存するかどうかを指定します。 Boolean元のラスターの値と同じです。 なし。
chunkdimシステムが新しいラスターのデータをチャンクする元のディメンション。 String元のラスターの値と同じです。 このパラメーターは、chunkingパラメーターをtrueに設定した場合にのみ有効です。
chunktable新しいラスターのデータを格納するチャンクテーブルの名前。 String''"またはNULL値を指定した場合、ランダムな名前の一時チャンクテーブルが生成され、データが格納されます。 一時チャンクテーブルは、現在のセッションでのみ有効です。 新しいラスターの永続的なチャンクテーブルを作成するには、チャンクテーブルの名前を指定する必要があります。
compressionシステムが新しいラスターのデータを圧縮する形式。 String元のラスターの値と同じです。 有効な値:
  • なし
  • JPEG
  • ZLIB
  • PNG
  • LZO
  • LZ4
品質圧縮後の新しいラスターの画質。 integer元のラスターの値と同じです。 有効な値: 1 ~ 99。

このパラメーターは、compressionパラメーターをJPEGに設定した場合にのみ有効です。

interleaving新しいラスタのデータをインターリーブするために使用されるメソッド。 String元のラスターの値と同じです。 有効な値:
  • bip : ピクセルでインターリーブされたバンド (BIP)
  • bil : ラインでインターリーブされたバンド (BIL)
  • bsq : バンドシーケンシャル (BSQ)
エンディアン新しいラスターのエンディアン形式です。 String元のラスターの値と同じです。 有効な値:
  • NDR: 少しエンディアン
  • XDR: ビッグエンディアン
セルタイプ新しいラスターのピクセルタイプ。 String元のラスターの値と同じです。 有効な値:
  • 1bb: 1ビットのブール値
  • 2bui: 2ビット符号なし整数
  • 4bui: 4ビット符号なし整数
  • 8bsi: 8ビット符号付き整数
  • 8bui: 8ビット符号なし整数
  • 16bsi: 16ビット符号付き整数
  • 16bui: 16ビット符号なし整数
  • 32bsi: 32ビット符号付き整数
  • 32bui: 32ビット符号なし整数
  • 64bsi: 64ビット符号付き整数
  • 64bui: 64ビット符号なし整数
  • 32bf: 32ビット浮動数
  • 64bf: 64ビット浮動数

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

パラメーター説明データ型デフォルト値補足
パラレル許可されている並列処理の程度。 integerganos.parallel.degree有効な値: 1 ~ 64。

説明

この関数は、ラスターを線形に伸ばし、新しいラスターを返します。
  • 方法1: ST_BuildPercentiles関数またはST_ComputeStatistics関数を使用して、パーセンタイルを計算します。 次に、パーセンタイルに基づいて元のラスターをストレッチします。

    例えば、ヒストグラムの画素値は33〜206の範囲内であり、最小パーセンタイル及び最大パーセンタイルは2% に設定される。 これは、最小百分位数未満の画素値の2% が33〜45の範囲内にあり、最大百分位数を超える画素値の2% が198〜206の範囲内にあることを意味する。 この場合、33〜45の範囲内の画素値は0に変換され、198〜206の範囲内の画素値は255に変換され、ヒストグラム内の他の全ての画素値は0〜255の範囲内に再分配される。

  • 方法2: minValuesパラメーターで指定された最小範囲とmaxValuesパラメーターで指定された最大範囲に基づいて、元のラスターをストレッチします。

    例えば、8ビットのデータセットにおいて、最小値は35であり、最大値は206である。 この関数は、元のラスターのピクセル値をヒストグラム全体で0〜255の範囲内で分散させます。 このようにして、画像の明るさとコントラストが向上し、画像内の要素を区別しやすくなります。

例1: 最小パーセンテージと最大パーセンテージが2% に設定されているラスタを線形ストレッチします。
INSERT INTO raster_table
SELECT 100, ST_LinearStretch(rast,
                             1,
                             '0-2 '、
                             2、-- 最小の比率
                             98、-最大比率
                             '{"chunktable":"chunk_table" 、"chunking":true}' 、
                             '{"parallel":4}')
FROM raster_table
WHERE id=1; 
例2: 指定したすべてのバンドで200する100範囲にラスターをストレッチします。
INSERT INTO raster_table
SELECT 200, ST_LinearStretch(rast,
                             ARRAY[100,100, 100]::float8[], -- min値
                             ARRAY[200,200、200]::float8[] 、-- max値
                             0,
                             '0-2 '、
                             '{"chunktable":"chunk_table" 、"chunking":true}' 、
                             '{"parallel":4}')
FROM raster_table
WHERE id=1;