4.16 テンプレート関連のサブプログラムを使用したGeoRasterアプリケーションの開発
SDO_GEOR.createTemplateおよびSDO_GEOR.getRasterBlockLocatorサブプログラムを使用すると、Oracle XMLType、GeoRaster XMLスキーマおよびOracle BLOBを直接操作せずにGeoRasterメタデータとバイナリ・ラスター・データの読取りおよび書込みを行うことで、GeoRasterアプリケーション(GeoRasterオブジェクトを処理するETLツールやイメージ処理システムなど)を開発できます。
新しいGeoRasterオブジェクトを作成(「新しいGeoRasterオブジェクトの作成」を参照)すると、SDO_GEOR.createTemplateファンクションを使用して、ラスター型、次元サイズ、ULTCoordinate、セル深度、インターリーブ・タイプ、ブロック化とブロック・サイズ、ピラミッド・リサンプリング・メソッドと縮小レベル、圧縮方法と圧縮品質などの基本情報をGeoRasterオブジェクトのメタデータに移入できます。このファンクションでは、オプションで、正しい行数および空のBLOBを含むラスター・ブロックで構成される行データをラスター・データ表に移入できます。
SDO_GEOR.createTemplateファンクションにより生成されるXMLメタデータは、GeoRasterメタデータのスキーマに準拠します。そのため、他のGeoRasterサブプログラムを使用してメタデータの問合せや更新を行うことができます(「GeoRasterメタデータの問合せおよび更新」を参照)。
SDO_GEOR.getRasterBlockLocatorプロシージャを使用すると、ピラミッド・レベルとブロック番号を指定することでラスター・ブロックのロケータを取得できます。ラスター・ブロックのロケータを取得したら、OCIまたはJava JDBC LOBインタフェースを使用してバイナリ・ラスター・データの読取りおよび書込みを行うことができます。(SDO_GEOR.getRasterBlockLocatorプロシージャは、それ自体ではLOBデータの読取りや処理を行いません。)この方法を使用するには、ラスター・データの物理記憶域(「GeoRasterの物理記憶域」を参照)を理解しておく必要があり、BLOBの読取りおよび書込みの前に必要に応じてデータの圧縮と解凍を行う必要があります。
親トピック: GeoRasterのデータ問合せおよび操作