7.82 SDO_GEOR.getRasterData

形式

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

説明

指定されたピラミッド・レベルで、入力されたGeoRasterオブジェクトのすべてのラスター・データを含む単一のBLOBオブジェクトを作成します。

パラメータ

georaster

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

pyramidLevel

操作を実行するピラミッド・レベルを指定します。

rasterBlob

結果を格納するBLOBオブジェクトを指定します。

storageParam

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

storageParamがNULLの場合、または指定されない場合は、セル深度、インターリーブ、圧縮タイプ(および該当する場合は圧縮品質)は、入力されたGeoRasterオブジェクトと同じになります。

bgValues

スパース・データに入力する背景値を指定します。SDO_NUMBER_ARRAYオブジェクト内の要素の数は、1つ(すべてのバンドに同じ入力値を使用)またはバンド次元のサイズ(各バンドにそれぞれ異なる入力値を使用)のいずれかであることが必要です。たとえば、SDO_NUMBER_ARRAY(1,5,10)では、1番目のバンドに1、2番目のバンドに5、3番目のバンドに10が入力されます。デフォルトのbgValuesは0 (ゼロ)です。

このパラメータは、空のラスター・ブロック(「空のラスター・ブロック」を参照)がソースに含まれる場合に有効です。このパラメータを指定しない場合、空のラスター・ブロックから導出されるすべてのセルは、出力のBLOBでは値0(ゼロ)が埋め込まれます。

使用上のノート

GeoRasterオブジェクトがブロック化されている場合、指定したピラミッド・レベルのすべてのブロックのモザイクが戻されます。

プロシージャが完了すると、rasterBlobオブジェクトには、タイル処理されていないセル(ピクセル)データが含まれます。

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

次の例では、フルフォーマット基準のJPEG(JPEG-F)圧縮を使用して、GEORASTER_TABLE表内でID値が2のGeoRasterオブジェクトのすべてのラスター・データからBLOBオブジェクトを作成します。この表の定義は、「記憶域パラメータ」例1-1の次に説明されています。

DECLARE
  gr sdo_georaster;
  lb blob;
BEGIN
  SELECT georaster INTO gr FROM georaster_table WHERE georid=2;
  dbms_lob.createTemporary(lb, FALSE);
  sdo_geor.getRasterData(gr, 0, lb, 'compress=JPEG-F');
  dbms_lob.freeTemporary(lb);
END;
/