7.116 SDO_GEOR.setBinFunction

形式

SDO_GEOR.setBinFunction(
     georaster    IN SDO_GEORASTER, 
     layerNumber  IN NUMBER 
     binFunction  IN SDO_NUMBER_ARRAY);

説明

レイヤーに関連付けられたビン・ファンクションを設定します。

パラメータ

georaster

GeoRasterオブジェクトを指定します。

layerNumber

ビン・タイプを戻すレイヤーの番号を指定します。値が0(ゼロ)の場合、オブジェクト・レイヤーが指定されます。

binFunction

ビン・タイプ、ビンの合計数、最初のビン番号、最小セル値および最大セル値を指定する要素を含む配列として、ビン・ファンクションを指定します。SDO_NUMBER_ARRAY型は、VARRAY(1048576) OF NUMBERとして定義されます。詳細および例については、「使用上のノート」を参照してください。

使用上のノート

ビン・ファンクションは、GeoRasterセルの値または値の範囲を、特定のビン番号にマップします。ビン番号はすべて整数です。タイプがLINEARのビン・ファンクションが定義されている場合、このファンクションはSDO_GEOR.generateStatisticsファンクションでセル値に対する統計を算出するために使用されます。GeoRasterでは、ビン・ファンクションの操作および処理を行うインタフェースは提供されません。

binFunctionパラメータには、5つの数字からなる配列を指定します。各数字の意味は次のとおりです。

  • 1番目の数字はビン・タイプを示します。0 (LINEAR)または1 (LOGARIGHM)を指定する必要があります。

  • 2番目の数字はビンの合計数を示します。

  • 3番目の数字は最初のビンの番号を示します。

  • 4番目の数字は範囲に含まれる最小セル値です。

  • 5番目の数字は範囲に含まれる最大セル値です。

たとえば、binFunctionSDO_NUMBER_ARRAY(0,10,1,0,511)の場合、ビン・タイプはLINEARで、1から10までの番号が付けられた(1から始まる)10個のビンがあり、0から511のセル値がビン1からビン10に均一に分散されています。

layerNumberがNULL、負、またはレイヤーの最大番号より大きい値の場合、例外が発生します。

次の例では、「使用上のノート」で説明したbinFunctionパラメータ値を使用して、指定したGeoRasterオブジェクトのレイヤー3のビン・ファンクションを設定します。

DECLARE
 gr sdo_georaster;
BEGIN
 SELECT georaster INTO gr FROM georaster_table WHERE georid=4 FOR UPDATE;
 sdo_geor.setBinFunction(gr, 3, sdo_number_array(0,10,1,0,511));
 UPDATE georaster_table SET georaster=gr WHERE georid=4;
END;
/