13.14 SDO_GEOR_UTL.generateGrayRamp
形式
SDO_GEOR_UTL.generateGrayRamp( graySeeds IN SDO_GEOR_GRAYSCALE, rampSteps IN SDO_NUMBER_ARRAY, cellValueType IN VARCHAR2 DEFAULT 'integer', interpoParam IN VARCHAR2 DEFAULT 'method=linear' ) RETURN SDO_GEOR_GRAYSCALE;
説明
シードとして入力された値を内挿して、グレースケール・ランプ(グラデーション)とともにSDO_GEOR_GRAYSCALEオブジェクトを生成します。
パラメータ
- graySeeds
-
内挿の開始値と終了値として使用するシード値を含むSDO_GEOR_GRAYSCALEオブジェクト。少なくとも2つのピクセル値/グレー値のペアを含む必要があります。
- rampSteps
-
各項目がグレー・ランプの各セクションに生成される内挿された値の数を示す配列。グレー・ランプの各セクションに生成される値の数を示す少なくとも1つの整数値を含む必要があります。
- cellValueType
-
整数値または実値としてセル値を作成するかどうかを示す文字列。このパラメータの可能な値は、
integer
(デフォルト)またはreal
です。 - interpoParam
-
内挿メソッドを指定する文字列。可能な値は、
method=linear
(デフォルト)およびmethod=cosine
です。
使用上のノート
このファンクションは、SDO_GEOR_GRAYSCALE型のオブジェクトを戻します(「SDO_GEOR_GRAYSCALEオブジェクト型」を参照)。
グレー・ランプは、各セクションに異なる長さの複数の異なるセクションが含まれる可能性があります。graySeeds
で3つの値を指定すると、ファンクションは同じグレー・ランプの2つのセクションを生成します。各セクションのグレー・レベルの数は、rampSteps
配列によって制御されます。生成されたグレースケールの合計数は、rampSteps
配列の値とgraySeeds
の値の数の合計です。個別のセクションを生成するには、graySeeds
パラメータの新しい項目およびrampSteps
の新しい項目を挿入します。(rampSteps
の値0は、内挿された値をそのセクションで生成する必要がないことを示します。)
例
次の例では、0から255に線形に内挿された102個のグレースケールを含むグレー・ランプを生成して適用します。(IDおよびRASTERという名前の列を含むRAMP_TESTという名前の表を仮定します。)
DECLARE gr sdo_georaster; gs sdo_geor_grayscale; BEGIN select raster into gr from ramp_test where id = 3 for update; gs := sdo_geor_utl.generateGrayRamp( graySeeds => sdo_geor_grayscale( sdo_number_array( 0, 1000), sdo_number_array( 0, 255)), rampSteps => sdo_number_array( 100 ), cellValueType => 'integer', interpoParam => 'method=linear' ); sdo_geor.setGrayScale( gr, 0, gs ); update ramp_test set raster = gr where id = 3; commit; END;
次の例では、-100から0の範囲の100個の内挿された値および0から1000の範囲の100個の内挿された値を持つ203個のグレースケール値のグレーランプを生成して適用します。(IDおよびRASTERという名前の列を含むRAMP_TESTという名前の表を仮定します。)
DECLARE gr sdo_georaster; gs sdo_geor_grayscale; BEGIN select raster into gr from ramp_test where id = 3 for update; gs := sdo_geor_utl.generateGrayRamp( graySeeds => sdo_geor_grayscale( sdo_number_array( -100, 0, 1000), sdo_number_array( 255, 0, 255)), rampSteps => sdo_number_array( 100, 100 ), cellValueType => 'real', interpoParam => 'method=linear' ); sdo_geor.setGrayScale( gr, 0, gs ); update ramp_test set raster = gr where id = 3; commit; END;
次の例では、-100から0の範囲の100個の内挿された値および0から1000の範囲の100個の内挿された値の204個のグレースケール値を持つグレーランプを生成して適用します。(IDおよびRASTERという名前の列を含むRAMP_TESTという名前の表を仮定します。)
DECLARE gr sdo_georaster; gs sdo_geor_grayscale; BEGIN select raster into gr from ramp_test where id = 3 for update; gs := sdo_geor_utl.generateGrayRamp( graySeeds => sdo_geor_grayscale( sdo_number_array( -100, 0, 100, 1000), sdo_number_array( 0, 10, 100, 200)), rampSteps => sdo_number_array( 100, 0, 100 ), cellValueType => 'real', interpoParam => 'method=linear' ); sdo_geor.setGrayScale( gr, 0, gs ); update ramp_test set raster = gr where id = 3; commit; END;
rampSteps
配列(rampSteps => sdo_number_array( 100, 0, 100 );
)の値0は、内挿された値が2番目のセクションの生成に必要ないことを示します。
親トピック: SDO_GEOR_UTLパッケージのリファレンス