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の共通部分が統計の計算に使用されます。ただし、
polygonClip
がTRUE
でsamplingWindow
ジオメトリ・オブジェクトがサンプリング・ウィンドウの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; /
親トピック: SDO_GEORパッケージのリファレンス