7.28 SDO_GEOR.generateStatisticsMedian

形式

SDO_GEOR.generateStatisticsMedian(
     georaster      IN SDO_GEORASTER, 
     pyramidLevel   IN NUMBER, 
     samplingFactor IN VARCHAR2, 
     samplingWindow IN SDO_NUMBER_ARRAY, 
     bandNumbers    IN VARCHAR2 DEFAULT NULL, 
     nodata         IN VARCHAR2 DEFAULT 'FALSE',
     parallelParam  IN VARCHAR2 DEFAULT NULL
     ) RETURN NUMBER;

または

SDO_GEOR.generateStatisticsMedian(
     georaster      IN SDO_GEORASTER, 
     pyramidLevel   IN NUMBER, 
     samplingFactor IN VARCHAR2, 
     samplingWindow IN SDO_GEOMETRY, 
     bandNumbers    IN VARCHAR2 DEFAULT NULL, 
     nodata         IN VARCHAR2 DEFAULT 'FALSE',
     polygonClip    IN VARCHAR2 DEFAULT NULL, 
     parallelParam  IN VARCHAR2 DEFAULT NULL
     ) RETURN NUMBER;

または

SDO_GEOR.generateStatisticsMedian(
     georaster      IN SDO_GEORASTER, 
     mask           IN SDO_GEORASTER,
     pyramidLevel   IN NUMBER, 
     samplingFactor IN VARCHAR2, 
     samplingWindow IN SDO_NUMBER_ARRAY, 
     bandNumbers    IN VARCHAR2 DEFAULT NULL, 
     nodata         IN VARCHAR2 DEFAULT 'FALSE',
     parallelParam  IN VARCHAR2 DEFAULT NULL
     ) RETURN NUMBER;

または

SDO_GEOR.generateStatisticsMedian(
     georaster      IN SDO_GEORASTER, 
     mask           IN SDO_GEORASTER,
     pyramidLevel   IN NUMBER, 
     samplingFactor IN VARCHAR2, 
     samplingWindow IN SDO_GEOMETRY, 
     bandNumbers    IN VARCHAR2 DEFAULT NULL, 
     nodata         IN VARCHAR2 DEFAULT 'FALSE',
     polygonClip    IN VARCHAR2 DEFAULT NULL, 
     parallelParam  IN VARCHAR2 DEFAULT NULL
     ) RETURN NUMBER;

説明

指定されたピラミッド・レベルで1つ以上のレイヤーに関連付けられた統計データを計算して、中央値を戻します。(GeoRasterオブジェクトのメタデータは変更されません。)

パラメータ

georaster

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

mask

GeoRasterオブジェクトとして格納されているビットマップ・マスク。地理参照できる場合と、できない場合があります:

  • マスクが地理参照されない場合、そのエクステントがセル空間座標として使用されます。
  • マスクが地理参照される場合、入力GeoRasterオブジェクトと同じSRIDが必要です。

マスクでカバーされる入力GeoRasterオブジェクトの空間領域が、統計のために計算されます。マスク内のセル値が1の場合は、ソースgeoRasterと同じ位置のピクセルが統計の計算に使用されることを意味します。マスクは、ソースGeoRasterオブジェクトよりも小さくても大きくてもかまいません。

pyramidLevel

戻される解像度の値のピラミッド・レベルを指定します。デフォルトはピラミッド・レベル0です。

samplingFactor

サンプリング係数として、1/(n*n)の分母n'samplingFactor=n'の書式で指定します。この値は、統計の算出時に行次元と列次元の両方でスキップするセルの数を表します。たとえば、samplingFactorが4の場合はセルの16分の1が統計の算出に使用されますが、samplingFactorが1の場合はすべてのセルが統計の算出に使用されます。この数値が大きくなるほど統計の精度は下がる可能性がありますが、統計算出の速度は速くなります。

samplingWindow

数値配列またはSDO_GEOMETRYオブジェクトとして指定される、統計を生成するサンプリング・ウィンドウを指定します。データ型が(VARRAY(1048576) OF NUMBERとして定義された) SDO_NUMBER_ARRAYの場合、このパラメータで矩形ウィンドウの左上の座標(行,列)と右下の座標(行,列)を指定することによって、ラスター空間が想定されます。データ型がSDO_GEOMETRYの場合、それはモデル空間にあるとラスター空間に変換され、ラスター空間のジオメトリ・オブジェクトの最小境界矩形(MBR)がウィンドウとして使用されます。デフォルト値はイメージ全体です。

どちらの場合も、ラスター空間のサンプリング・ウィンドウのMBRとラスター空間のGeoRasterオブジェクトのMBRの共通部分が統計の計算に使用されます。ただし、polygonClipTRUEsamplingWindowジオメトリ・オブジェクトがサンプリング・ウィンドウのMBRのかわりに操作に使用される場合、samplingWindowジオメトリ内のセルのみがカウントされます。

データ型がSDO_GEOMETRYの場合は、SDO_SRID要件についてSDO_GEOR.generateStatisticsファンクションの「使用上のノート」も参照してください。

bandNumbers

統計を算出するレイヤーのバンド座標番号を指定します。このパラメータは文字列で指定し、数値、ハイフン(-)で示した数値の範囲、および数値と数値の範囲を区切るカンマを使用できます。たとえば、'1,3-5,7'はレイヤー2、4、5、6および8を指定します。bandNumbersがNULLの場合、統計の計算にすべてのバンドが使用されます。

nodata

各セル値と、メタデータに定義されたNODATA値を、統計算出時に比較するかどうかを指定します。TRUEを指定した場合は、NODATA値を持つピクセルはすべて考慮されず、FALSE (デフォルト)を指定した場合は、NODATA値を持つピクセルは通常のピクセルとみなされます。NODATA値および値の範囲の詳細は、「NODATA値および値の範囲」を参照してください。

polygonClip

文字列TRUEでは、samplingWindowジオメトリ・オブジェクトが操作で使用されますが、文字列FALSEまたはNULL値では、samplingWindowジオメトリ・オブジェクトの最小境界矩形(MBR)が操作で使用されます。

parallelParam

操作の並列度を指定します。指定する場合、parallel=nという形式である必要があります(nは1より大きい)。データベース・オプティマイザでは、このパラメータによって指定された並列度を使用します。指定しない場合、デフォルトでパラレル処理は行われません。(詳細は、「GeoRasterでのパラレル処理」を参照してください。)

並列性を指定すると、このファンクションの結果をロールバックできません。

使用上のノート

このファンクションは、統計データを計算してMEDIAN値を戻します。(統計データは、GeoRasterメタデータのXMLスキーマ(「GeoRasterメタデータのXMLスキーマ」を参照)の<statisticDatasetType>要素によって記述されますが、このファンクションではメタデータは更新されません。)

samplingWindowがGeoRasterオブジェクト外であるか、またはNODATA値のみが含まれる場合、次のエラーが発生します。

ORA-13393: null or invalid samplingWindow parameter

SDO_GEOR.generateStatisticsファンクションも参照してください。

次の例では、ピラミッド・レベル1ですべてのバンドの統計データを計算して、中央値を戻します。

DECLARE
  gr sdo_georaster;
  window sdo_geometry:=null;
  median number; 
BEGIN
  SELECT tmimage INTO gr FROM landsat WHERE id=2021;
  median:=sdo_geor.generateStatisticsMedian(gr,1,'samplingFactor=7',window,null,'false');
END;
/

次の例では、maskおよびsamplingWindowパラメータを使用して、統計計算用のピクセルを選択します。中央値が返されます。

DECLARE
  gr sdo_georaster;
  maskgr sdo_georaster;
  window sdo_geometry;
  median_val number;  
BEGIN  
  SELECT tmimage INTO gr FROM landsat WHERE id=2021;
  SELECT mask INTO maskgr FROM masks WHERE id=1;
  SELECT geom INTO window FROM boundary WHERE id=1;
  median_val:=sdo_geor.generateStatisticsMedian(gr,maskgr,0,'samplingFactor=2',window,'0','false',’false’,'parallel=4');
  dbms_output.put_line('median='||median_val);
END;
/