7.18 SDO_GEOR.exportTo
形式
SDO_GEOR.exportTo( georaster IN SDO_GEORASTER, subsetParam IN VARCHAR2, r_destFormat IN VARCHAR2, r_destType IN VARCHAR2, r_destName IN VARCHAR2, h_destFormat IN VARCHAR2 DEFAULT NULL, h_destType IN VARCHAR2 DEFAULT NULL, h_destName IN VARCHAR2 DEFAULT NULL);
または
SDO_GEOR.exportTo( georaster IN SDO_GEORASTER, subsetParam IN VARCHAR2, r_destFormat IN VARCHAR2, r_destBLOB IN OUT NOCOPY BLOB);
または
SDO_GEOR.exportTo( georaster IN SDO_GEORASTER, subsetParam IN VARCHAR2, r_destFormat IN VARCHAR2, r_destBLOB IN OUT NOCOPY BLOB, h_destFormat IN VARCHAR2 DEFAULT NULL, h_destCLOB IN OUT NOCOPY CLOB DEFAULT NULL);
説明
GeoRasterオブジェクトまたはGeoRasterオブジェクトのサブセットを、ファイルまたはBLOBオブジェクトにエクスポートします。
パラメータ
- georaster
-
エクスポートするGeoRasterオブジェクトを指定します。
- subsetParam
-
サブセット・パラメータを含む文字列(GeoRasterオブジェクトのサブセットのエクスポート用)を指定します。形式および使用方法については「記憶域パラメータ」を参照してください(ただし、その項で示すキーワードの中には、このプロシージャには適用されないものもあります)。サポートされているキーワードは、次のとおりです。
-
pLevel
: エクスポートするピラミッド・レベルを指定します。デフォルトは0です。 -
cropArea
:cropArea = (startRow, startCol, endRow, endCol)
という形式でエクスポートする領域を指定します。これは、エクスポートする矩形ウィンドウの左上の座標(startRow
、startCol
)と右下の座標(endRow
、endCol
)を識別することで、ラスター空間が想定されます。cropArea
を指定しない場合は、イメージ全体がエクスポートされます。 -
layerNumber
: エクスポートするレイヤーのレイヤー番号を指定します。たとえば、layerNumber=(3-5)
の場合はレイヤー3、4および5がエクスポートされ、layerNumber=(1,3,5)
の場合はレイヤー1、3および5がエクスポートされます。
-
- r_destFormat
-
ラスターの宛先の形式を指定します。
TIFF
、BMP
またはPNG
のいずれかを指定する必要があります。(JPEG
およびGIF
は、このプロシージャではサポートされていません。) - r_destType
-
エクスポート操作の宛先のタイプを指定します。
FILE
を指定する必要があります。 - r_destName
-
destType
がFILE
の場合、宛先ファイル名をフルパスで指定します。ファイル拡張子は指定しないでください。ワールド・ファイルのエクスポートのみにこのプロシージャを使用する場合は、このパラメータにNULL値を指定します。 - r_destBLOB
-
エクスポート操作の結果のイメージ・ファイルを格納するBLOBオブジェクトを指定します。
- h_destFormat
-
ジオヘッダーの宛先の形式を指定します。
WORLDFILE
を指定する必要があります。 - h_destType
-
エクスポート操作の宛先のジオヘッダー・タイプを指定します。
FILE
を指定する必要があります。 - h_destName
-
h_destType
がFILE
の場合、ジオヘッダーの宛先ファイル名をフルパスで指定します。ファイル拡張子は指定しないでください。 - h_destCLOB
-
エクスポート操作の結果のジオヘッダー・ファイルを格納するCLOBオブジェクトを指定します。
使用上のノート
ノート:
- SDO_GEOR.exportToサブプログラムは非推奨です。
- SDO_GEOR.exportToサブプログラムは、サーバーレス・デプロイメントと専用デプロイメントの両方のOracle Autonomous Databaseでサポートされていません。
ラスター・イメージとジオヘッダーが別々のファイルに存在する場合にのみ、r_xxx パラメータとh_xxx パラメータの両方を含む形式を使用してください。
このプロシージャは、宛先ファイル形式としてJPEGまたはGIFをサポートしていません。
このプロシージャは、cellDepth
値が2BIT
のGeoRasterオブジェクトをサポートしていません。
BSQまたはBILインターリーブ形式で8ビット以上のセル深度を持つGeoRasterオブジェクトは、BIPインターリーブ形式でエクスポートされます。
このプロシージャをコールするには、出力ファイルまたはファイルを含めるディレクトリに対する書込み権限が必要です。次の例(ユーザーSYSTEM
として実行)では、指定したファイルに対する書込み権限をユーザーHERMAN
に付与します。
call dbms_java.grant_permission('HERMAN','SYS:java.io.FilePermission', '/mydirectory/myimages/img1.tif', 'write' );
1回の操作でエクスポートできるGeoRasterデータの最大容量は、67メガバイト(MB)です。したがって、1回でエクスポートできるGeoRasterオブジェクトの最大次元は、width*height*bands*cellDepth/8 <= 67 MB
およびrowBlockSize*columnBlockSize*bands*cellDepth/8 <= 67 MB
になります。たとえば、widthとheightが等しい、3バンド、8ビットのGeoRasterオブジェクトの場合は次のようになります。
-
エクスポートできる最大のwidthとheightは4728×4728。
-
エクスポートできる最大のブロック次元は4096×4096。
例
次の例では、2つのエクスポート操作を示します。最初の操作では、GeoRasterオブジェクト全体(地理参照情報以外)をBMP形式のファイルにエクスポートします。2番目の操作では、GeoRasterオブジェクトのサブセットを、ESRIワールド・ファイルを持つファイルにエクスポートします。
DECLARE geor SDO_GEORASTER; fileName VARCHAR2(1024); tfwName VARCHAR2(1024); BEGIN SELECT georaster INTO geor FROM georaster_table WHERE georid = 1; -- Export the whole GeoRaster object into a BMP file, excluding any -- georeferencing information. sdo_geor.exportTo(geor, NULL, 'BMP', 'file', '/mydirectory/myimages/img1_export'); -- Export a subset to a file with a world file. fileName := '/mydir/parrotExported'; tfwName := '/mydir/parrotWorldFile'; SELECT georaster INTO geor FROM georaster_table WHERE georid = 8; sdo_geor.exportTo(geor, 'cropArea=(0,0,500,500)', 'TIFF', 'file', fileName, 'WORLDFILE', 'FILE', tfwName); END; /
次の例では、GeoRasterオブジェクトをBLOBオブジェクトおよびCLOBオブジェクトにエクスポートします。
CREATE TABLE blob_table (blob_col BLOB, blobid NUMBER unique, clob_col CLOB); INSERT INTO blob_table values (empty_blob(), 3, null); INSERT INTO blob_table VALUES (empty_blob(), 4, empty_clob()); DECLARE lobd1 BLOB; lobd2 BLOB; lobd3 CLOB; geor1 SDO_GEORASTER; geor2 SDO_GEORASTER; BEGIN -- Example 1: Export to BLOB. SELECT blob_col INTO lobd1 FROM blob_table WHERE blobid=3 for update; SELECT georaster INTO geor1 FROM georaster_table WHERE georid = 13; sdo_geor.exportTo(geor1, '', 'TIFF', lobd1); UPDATE blob_table set blob_col = lobd1 WHERE blobid=3; COMMIT; -- Example 2: Export GeoRaster to BLOB with world file exported to CLOB. SELECT blob_col INTO lobd2 FROM blob_table WHERE blobid=4 for update; SELECT clob_col INTO lobd3 FROM blob_table WHERE blobid=4 for update; SELECT georaster INTO geor2 FROM georaster_table WHERE georid = 8; sdo_geor.exportTo(geor2, 'cropArea=(0,0,500,500)', 'TIFF', lobd2, 'WORLDFILE', lobd3); UPDATE blob_table set blob_col = lobd2, clob_col = lobd3 WHERE blobid = 4; COMMIT; END; /
親トピック: SDO_GEORパッケージのリファレンス