7.10 SDO_GEOR.createBlank

形式

SDO_GEOR.createBlank(
     rasterType      IN INTEGER, 
     ultCoord        IN SDO_NUMBER_ARRAY, 
     dimSizes        IN SDO_NUMBER_ARRAY, 
     cellValue       IN NUMBER, 
     rasterDataTable IN VARCHAR2 DEFAULT NULL, 
     rasterID        IN NUMBER DEFAULT NULL 
     ) RETURN SDO_GEORASTER;

説明

空白のGeoRasterオブジェクトを作成します。このオブジェクトのすべてのセルには同じ値が含まれます。作成後に、オブジェクトをxxx_SDO_GEOR_SYSDATAビューに登録する必要があります(「使用上のノート」を参照)。

パラメータ

rasterType

5桁のrasterType属性値を指定します(「rasterType属性」を参照)。

ultCoord

GeoRasterオブジェクトの左上の座標を示す整数値の配列を指定します。デフォルト値は、バンド次元を持たないGeoRasterオブジェクトでは(0,0)、バンド次元を持つGeoRasterオブジェクトでは(0,0,0)です。このパラメータがNULLの場合、デフォルト値の0が各次元に使用されます。指定した配列の値がNULLの場合、デフォルト値の0が対応する次元に使用されます。バンド次元の値は0である必要があるため、指定する必要はありません。(値の配列を指定する場合、値の数は空間次元数以上か、または次元の合計数以下である必要があります。)

dimSizes

各次元のセルの数を指定します。配列の値の数を次元の合計数と同じにして、各次元のサイズを明示的に指定する必要があります。行および列の次元サイズは、1より大きい値である必要があります。

cellValue

作成されたGeoRasterオブジェクトのすべてのラスター・セルのセル値を指定します。作成されたGeoRasterオブジェクトのセル深度は8BIT_UNSIGNEDであるため、値の範囲は0から255である必要があります。

rasterDataTable

セル・データ・ブロックを格納するSDO_RASTER型のオブジェクト表の名前を指定します。空白、ピリオド、または大/小文字が混在する文字列を引用符で囲んだ値は使用できません(名前は、SDO_GEORASTERオブジェクトに格納される際に常に大文字に変換されます)RDTは、GeoRaster表に関連付けられるため、同じスキーマである必要があります。このパラメータを指定しない場合、GeoRasterはラスター・データ表に使用される一意の表名を生成します。このパラメータで指定した表がすでに存在しており、SDO_RASTER型のオブジェクト表ではない場合、例外が発生します。

rasterID

ラスター・データ表で、このGeoRasterオブジェクトのセル・ブロックを一意に識別する番号を指定します。このパラメータを指定しない場合、ID用に一意の順序番号が生成されます。

使用上のノート

空白のGeoRasterオブジェクトを作成したら、オブジェクトに対して操作を実行する前に、空白のGeoRasterオブジェクトをGeoRaster表に挿入してオブジェクトをxxx_SDO_GEOR_SYSDATAビューに登録する必要があります。(xxx_SDO_GEOR_SYSDATAビューの詳細は、「GeoRasterシステム・データ・ビュー(xxx_SDO_GEOR_SYSDATA)」を参照してください。GeoRaster操作の詳細は、「GeoRasterのデータベース作成および管理」および「GeoRasterのデータ問合せおよび操作」を参照してください。)

作成されたGeoRasterオブジェクトは空間参照情報を持たないため、空間エクステント・ジオメトリのSRID (座標系)値はNULLです。空間エクステント・ジオメトリには、ultCoord値およびdimSizes値が反映されます。

このファンクションでは、指定されたラスター・データ表が存在する必要はありません。ただし、ラスター・データを表に挿入するには、表が存在している必要があります。

作成されたGeoRasterオブジェクトのセル深度は8BIT_UNSIGNEDですが、SDO_GEOR.changeFormatCopyプロシージャをコールして空白のGeoRasterオブジェクトを作成すると、セル深度を変更できます。その後で、SDO_GEOR.setBlankCellValueプロシージャをコールして、別の範囲でセル値をリセットできます。

表に複数のGeoRasterオブジェクト列が定義されている場合、SDO_GEOR.createBlankおよびSDO_GEOR.initファンクションに適用するガイドラインについては、SDO_GEOR.initファンクションの「使用上のノート」を参照してください。

入力パラメータの値が無効な場合、例外が発生します。

次の例では、空白のGeoRasterオブジェクト含む行を表に挿入します。(GEORASTER_TABLEという名前の表を参照します。この表の定義は「記憶域パラメータ」例1-1の次に説明されています。)

INSERT INTO georaster_table (georid, georaster) VALUES (
  1,
  sdo_geor.createBlank(20001, SDO_NUMBER_ARRAY(0,0),
                       SDO_NUMBER_ARRAY(1024,1024), 255, 'RDT_1')
);