7.40 SDO_GEOR.getBitmapMaskSubset

形式

SDO_GEOR.getBitmapMaskSubset(
     georaster    IN SDO_GEORASTER, 
     layerNumber  IN NUMBER, 
     pyramidLevel IN VARCHAR2, 
     window       IN SDO_NUMBER_ARRAY, 
     rasterBlob   IN OUT NOCOPY BLOB, 
     storageParam IN VARCHAR2 DEFAULT NULL);

または

SDO_GEOR.getBitmapMaskSubset(
     georaster    IN SDO_GEORASTER, 
     layerNumber  IN NUMBER, 
     pyramidLevel IN VARCHAR2, 
     inWindow     IN SDO_NUMBER_ARRAY, 
     rasterBlob   IN OUT NOCOPY BLOB, 
     outWindow    OUT SDO_NUMBER_ARRAY, 
     storageParam IN VARCHAR2 DEFAULT NULL);

または

SDO_GEOR.getBitmapMaskSubset(
     georaster    IN SDO_GEORASTER, 
     layerNumber  IN NUMBER, 
     pyramidLevel IN VARCHAR2, 
     window       IN SDO_GEOMETRY, 
     rasterBlob   IN OUT NOCOPY BLOB, 
     storageParam IN VARCHAR2 DEFAULT NULL);

または

SDO_GEOR.getBitmapMaskSubset(
     georaster    IN SDO_GEORASTER, 
     layerNumber  IN NUMBER, 
     pyramidLevel IN VARCHAR2, 
     inWindow     IN SDO_GEOMETRY, 
     rasterBlob   IN OUT NOCOPY BLOB, 
     outWindow    OUT SDO_NUMBER_ARRAY, 
     storageParam IN VARCHAR2 DEFAULT NULL);

説明

ビットマップ・マスクのサブセットを取得します。

パラメータ

georaster

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

layerNumber

操作を実行するレイヤーの番号を指定します。値が0(ゼロ)の場合、オブジェクト・レイヤーが指定されます。

pyramidLevel

指定したセルを含むピラミッド・レベルを指定します。

window, inWindow

サブセットに対する矩形ウィンドウを指定します。左下と右上の座標を含む数値配列か、SDO_GEOMETRYオブジェクトとして指定します。SDO_NUMBER_ARRAY型は、VARRAY(1048576) OF NUMBERとして定義されます。

rasterBlob

出力内容(結果のサブセット)を格納するBLOBを指定します。

outWindow

セル空間内で出力ウィンドウの左上角および右下角の座標を指定するSDO_NUMBER_ARRAYオブジェクトを指定します。

storageParam

rasterBlobの作成時に適用される記憶域パラメータを示す文字列を指定します。このプロシージャでサポートされているstorageParamキーワードはcelldepthcompressioninterleavingおよびqualityのみで、他のキーワードはすべて無視されます。記憶域パラメータについては、「記憶域パラメータ」を参照してください。

storageParamパラメータがNULLの場合、結果のGeoRasterオブジェクトのcelldepth値は1BITセル深度になり、圧縮タイプはDEFLATEになり(入力されたGeoRasterオブジェクトが圧縮されている場合)、インターリーブ・タイプは入力されたGeoRasterオブジェクトと同じになります。

使用上のノート

指定したラスター・レイヤーに指定のGeoRasterオブジェクトに関連付けられたビットマップが存在しない場合、または指定した入力ウィンドウがGeoRasterオブジェクトの空間エクステントと交差しない場合、このプロシージャは、長さが0 (ゼロ)に切り捨てられたrasterBlobとNULL値が設定されたoutWindowを戻します。

このプロシージャの処理は、単一のGeoRasterオブジェクト上で行われます。このプロシージャの構文は4種類あり、入力ウィンドウの指定がジオメトリ・オブジェクトによるものとウィンドウの左上角および右下角によるもののいずれであるか、およびoutWindowパラメータを使用して出力ウィンドウの座標を戻すかどうかによって異なります。

windowまたはinWindowパラメータのデータ型がSDO_GEOMETRYの場合、SDO_SRID値は、NULL (ラスター空間を指定する)またはMDSYS.CS_SRS表のSRID列の値のいずれかである必要があります。

windowまたはinWindowパラメータ・ジオメトリとモデル空間のSDO_SRID値が異なる場合は、処理が実行される前に、ジオメトリ・パラメータは自動的にモデル空間の座標系に変換されます。(ラスター空間およびモデル空間の詳細は、「GeoRasterデータ・モデル」を参照してください。)

windowパラメータで測地MBRを指定する場合、日付変更線をまたぐMBRは指定できません。測地MBRについては、『Oracle Spatial開発者ガイド』を参照してください。

プロシージャが完了すると、rasterBLOBパラメータには、タイル処理されていないクロッピング済のウィンドウのセル(ピクセル)データが含まれます。クロッピング済のウィンドウとは、処理対象として指定したウィンドウとソースGeoRasterオブジェクトの空間エクステントが重複する部分のことです。outWindowパラメータを指定した場合は、プロシージャが完了すると、セル空間内のクロッピング済のウィンドウの座標がそのパラメータに含まれます。

ビットマップ・マスクには、空のラスター・ブロック(「空のラスター・ブロック」を参照)が含まれる場合があります。空のラスター・ブロックから導出される出力ウィンドウ内のすべてのセルは、出力のBLOBでは値0(ゼロ)が埋め込まれます。

BLOBには埋込みがありません。ただし、セル深度が8ビットより小さく、出力に必要なビット数の合計が8で除算できない場合を除きます。このような場合は、通常の埋込みとは異なり、結果の最後のバイトでのみ、後続のビットに対し0(ゼロ)が埋め込まれます。

入力されたGeoRasterオブジェクトが圧縮されているかどうかに関係なく、圧縮を指定できます。圧縮済の入力されたGeoRasterオブジェクトに対して、解凍された出力を得るには、storageParamパラメータでcompression=NONEを指定します。GeoRasterの圧縮および解凍の詳細は、「圧縮と解凍」を参照してください。

ビットマップ・マスクの詳細は、「ビットマップ・マスク」を参照してください。

次の例では、指定したGeoRasterオブジェクトのオブジェクト・レイヤーに関連付けられたビットマップ・マスクのサブセットを取得します。

DECLARE
  gr sdo_georaster;
  lb blob;
BEGIN
  SELECT georaster INTO gr FROM georaster_table WHERE georid=4;
  dbms_lob.createTemporary(lb, TRUE);
  sdo_geor.getBitmapMaskSubset(gr, 0, 0, sdo_number_array(0,0,99,99), lb, 'compression=none');
  dbms_lob.freeTemporary(lb);
END;
/