7.80 SDO_GEOR.getRasterBlockLocator
形式
SDO_GEOR.getRasterBlockLocator( georaster IN SDO_GEORASTER, pyramidLevel IN NUMBER, bandBlockNumber IN NUMBER, rowBlockNumber IN NUMBER, columnBlockNumber IN NUMBER, loc IN OUT NOCOPY BLOB, isBitmapMask IN VARCHAR2 DEFAULT NULL, lock_for_write IN VARCHAR2 DEFAULT NULL);
または
SDO_GEOR.getRasterBlockLocator( georaster IN SDO_GEORASTER, pyramidLevel IN NUMBER, rowNumber IN NUMBER, colNumber IN NUMBER, bandNumber IN NUMBER, offset OUT NUMBER, loc IN OUT NOCOPY BLOB, isBitmapMask IN VARCHAR2 DEFAULT NULL, lock_for_write IN VARCHAR2 DEFAULT NULL);
または
SDO_GEOR.getRasterBlockLocator( georaster IN SDO_GEORASTER, pyramidLevel IN NUMBER, ptGeom IN SDO_GEOMETRY, layerNumber IN NUMBER, offset OUT NUMBER, loc IN OUT NOCOPY BLOB, isBitmapMask IN VARCHAR2 DEFAULT NULL, lock_for_write IN VARCHAR2 DEFAULT NULL);
説明
このプロシージャには3つの構文があります。
-
最初にリストされている構文は、
pyramidLevel
、bandBlockNumber
、rowBlockNumber
およびcolumnBlockNumber
パラメータの指定によってラスター・ブロックのLOBロケータを戻します。 -
2番目と3番目にリストされている構文は、特定の単一セルを含むラスター・ブロックのLOBロケータおよびラスター・ブロック内のセルのオフセットを戻します。特定の単一セルは、
pyramidLevel
、rowNumber
、columnNumber
およびbandNumber
パラメータによって、またはセル座標空間かモデル座標空間の点ジオメトリ・パラメータ(ptGeom
)によって識別されます。
パラメータ
- georaster
-
GeoRasterオブジェクトを指定します。
- pyramidLevel
-
ブロックのピラミッド・レベルを指定します。
- bandBlockNumber
-
ブロックのバンド番号を指定します。
- bandNumber
-
セルのバンド番号を指定します。
- rowBlockNumber
-
ブロックの行番号を指定します。
- rowNumber
-
セルの行番号を指定します。
- columnBlockNumber
-
ブロックの列番号を指定します。
- columnNumber
-
セルの列番号を指定します。
- ptGeom
-
セルの位置を特定する点ジオメトリを指定します。
- layerNumber
-
値を戻すセルを含む論理レイヤーの番号を指定します。(「バンド、レイヤーおよびメタデータ」で説明したように、論理レイヤー番号は、物理バンドの座標番号に1を足した値です。)
- offset
-
検索されるラスター・ブロック内のセルのオフセット(バイト単位)を含める出力パラメータを指定します。ラスター・ブロックが圧縮される場合、それは常にブロックの解凍バージョンに含まれるセルのオフセットを示します。
- loc
-
LOBロケータを指定します。
- isBitmapMask
-
ビットマップ・マスク・ブロックにアクセスする場合は文字列
TRUE
を指定します。通常のラスター・ブロックにアクセスする場合は文字列FALSE
を指定します。このパラメータを指定しない場合は、通常のラスター・ブロックにアクセスします。ビットマップ・マスクの詳細は、「ビットマップ・マスク」を参照してください。 - lockForWrite
-
文字列
TRUE
を指定すると、ラスター・データ表の行がロックされ、現行のトランザクションが終了するまで、他のユーザーはその行をロックしたり更新することができなくなります。文字列FALSE
を指定すると、ラスター・データ表の行はロックされません。このパラメータを指定しない場合、行はロックされません。
使用上のノート
このプロシージャは、指定されたパラメータを使用してラスター・ブロック・ロケータ(および一部の構文ではオフセット)を取得します。LOBロケータはオープンされず、データの読取りや処理は行われません。LOBロケータのオープンおよびクローズ、LOBロケータからのデータの読取りおよびLOBロケータへのデータの書込みには、標準のLOB操作を使用する必要があります。
データの読取りまたは書込みが正しく行われるようにするには、ラスター・データの物理記憶域(「GeoRasterの物理記憶域」を参照)を理解しておく必要があります。また、必要に応じてラスター・データを圧縮および解凍する必要があります。
LOBロケータについては、『Oracle Database SecureFilesおよびラージ・オブジェクト開発者ガイド』を参照してください。
例
次の例では、2つのラスター・ブロックのLOBロケータを取得します。1つ目は通常のラスター・ブロックで、2つ目はビットマップ・マスク・ブロックです。SDO_GEOR.getRasterBlockLocatorプロシージャへのいずれのコールも、ラスター・データ表の行がロックされます。
DECLARE gr sdo_georaster; lb blob; offset number; BEGIN select georaster into gr from georaster_table where georid=1; sdo_geor.getRasterBlockLocator(gr, 0, 0, 0, 0, offset,lb, null, 'TRUE'); sdo_geor.getRasterBlockLocator(gr, 0, 0, 0, 0, offset,lb, 'TRUE', 'TRUE'); END; /
親トピック: SDO_GEORパッケージのリファレンス