7.151 SDO_GEOR.setStatistics
形式
SDO_GEOR.setStatistics( georaster IN OUT SDO_GEORASTER, layerNumber IN NUMBER, statistics IN SDO_NUMBER_ARRAY);
または
SDO_GEOR.setStatistics( georaster IN OUT SDO_GEORASTER, layerNumber IN NUMBER, statistics IN SDO_NUMBER_ARRAY, histogram IN SDO_GEOR_HISTOGRAM, samplingFactor IN NUMBER DEFAULT 1, samplingWindow IN SDO_NUMBER_ARRAY DEFAULT NULL);
または
SDO_GEOR.setStatistics( georaster IN OUT SDO_GEORASTER, layerNumber IN NUMBER, statistics IN SDO_NUMBER_ARRAY, histogramTable IN VARCHAR2, samplingFactor IN NUMBER DEFAULT NULL, samplingWindow IN SDO_NUMBER_ARRAY DEFAULT NULL);
説明
レイヤーに関連付けられた統計データを設定します。
パラメータ
- georaster
-
GeoRasterオブジェクトを指定します。
- layerNumber
-
統計を設定するレイヤーの番号を指定します。値が0(ゼロ)の場合、オブジェクト・レイヤーが指定されます。
- statistics
-
MIN
、MAX
、MEAN
、MEDIAN
、MODEVALUE
およびSTD
の数値の配列を指定します。配列のすべての値に、NULL以外の値を指定する必要があります。SDO_NUMBER_ARRAY型はVARRAY(1048576) OF NUMBER
として定義されます。このパラメータがNULLの場合、レイヤーに関連付けられたすべての統計情報は削除されます。
- histogram
-
SDO_GEOR_HISTOGRAM型のヒストグラムを指定します。このオブジェクト型およびヒストグラムの概要は、「SDO_GEOR_HISTOGRAMオブジェクト型」で説明しています。
- histogramTable
-
ヒストグラムを格納する表の名前。
- samplingFactor
-
サンプリング係数を指定します。1/nの分母nのことで、統計の算出時に使用するセルの数を表します。たとえば、
samplingFactor
が4の場合は、セルの4分の1が統計の算出に使用されます。デフォルトは1です。この場合、すべてのセルが使用されます。この数値が大きくなるほど統計の精度は下がる可能性がありますが、統計算出の速度は速くなります。 - samplingWindow
-
サンプリング・ウィンドウ: 統計を設定する矩形ウィンドウを指定します。左下と右上の座標を含む数値配列か、SDO_GEOMETRYオブジェクトとして指定します。SDO_NUMBER_ARRAY型は、
VARRAY(1048576) OF NUMBER
として定義されます。ウィンドウは、セル空間のエクステント内に収まっている必要があります。このパラメータのデフォルトはイメージ全体です。
使用上のノート
このプロシージャは、GeoRasterメタデータのXMLスキーマ(「GeoRasterメタデータのXMLスキーマ」
を参照)の<statisticDatasetType>要素によって記述された統計データを設定します。
histogram
をNULLに指定した場合、および既存のヒストグラムがあり、異なるサンプリング係数またはサンプリング・ウィンドウを使用した統計が設定されている場合、既存のヒストグラムは削除されます。
このプロシージャは、設定する統計を指定する場合に使用しますが、GeoRasterで統計の算出および設定を行う場合はSDO_GEOR.generateStatisticsファンクションを使用します。
レイヤーに関連付けられた統計データを取得するには、SDO_GEOR.getStatisticsファンクションを使用します。
layerNumber
がNULLか、GeoRasterオブジェクトに対して無効な場合、またはstatistics
が不適正な配列サイズであるか、NULLの配列要素を含んでいる場合は、例外が発生します。
例
次の例では、GEORASTER_TABLE表で、GEORID列値が4である行に含まれているGeoRasterオブジェクト(GEORASTER列)のレイヤー0の統計データを設定します。(GEORASTER_TABLE表の定義は、「記憶域パラメータ」の例1-1の次に説明されています。)
DECLARE grobj sdo_georaster; BEGIN SELECT georaster INTO grobj FROM georaster_table WHERE georid=4 FOR UPDATE; sdo_geor.setStatistics(grobj, 0, SDO_NUMBER_ARRAY(0, 255, 100, 127, 95, 25)); UPDATE georaster_table SET georaster = grobj WHERE georid=4; COMMIT; END; /
親トピック: SDO_GEORパッケージのリファレンス