10.2 SDO_GEOR_GDAL.translate
形式
SDO_GEOR_GDAL.translate( inDirectory IN SDO_VARCHAR2, InFileName IN OUT SDO_VARCHAR2, outGeoRaster IN OUT SDO_GEORASTER, options IN VARCHAR2 DEFAULT NULL, createOptions IN VARCHAR2 DEFAULT NULL, metadataOptions IN VARCHAR2 DEFAULT NULL, openOptions IN VARCHAR2 DEFAULT NULL);
または
SDO_GEOR_GDAL.translate( inGeoRaster IN SDO_GEORASTER, outDirectory IN VARCHAR2, outFileName IN VARCHAR2, options IN VARCHAR2 DEFAULT NULL, createOptions IN VARCHAR2 DEFAULT NULL, metadataOptions IN VARCHAR2 DEFAULT NULL, openOptions IN VARCHAR2 DEFAULT NULL);
または
SDO_GEOR_GDAL.translate( inGeoRaster IN SDO_GEORASTER, outGeoRaster IN OUT SDO_GEORASTER, options IN VARCHAR2 DEFAULT NULL, createOptions IN VARCHAR2 DEFAULT NULL, metadataOptions IN VARCHAR2 DEFAULT NULL, openOptions IN VARCHAR2 DEFAULT NULL);
または
SDO_GEOR_GDAL.translate( inGeoRaster IN MDSYS.SDO_GEORASTER, outTableName IN VARCHAR2, outRasterid IN NUMBER, options IN VARCHAR2 DEFAULT '', createOptions IN VARCHAR2 DEFAULT '', metadataOptions IN VARCHAR2 DEFAULT '', openOptions IN VARCHAR2 DEFAULT '');
または
SDO_GEOR_GDAL.translate( inTableName IN VARCHAR2, inRasterid IN NUMBER, outGeoRaster IN OUT MDSYS.SDO_GEORASTER, options IN VARCHAR2 DEFAULT '', createOptions IN VARCHAR2 DEFAULT '', metadataOptions IN VARCHAR2 DEFAULT '', openOptions IN VARCHAR2 DEFAULT '');
説明
ラスター・データを異なる形式間で変換します。ピクセルのサブセット化、リサンプリング、スケール変更などの操作をプロセスで実行する可能性があります。
パラメータ
- inDirectory
-
入力ファイルを含むシステム・ディレクトリを指すディレクトリ・オブジェクトの名前。
- inFileName
-
GDAL互換ラスター・データ・ソース指定のベース・ファイル名(パスを含まないファイル名)。
- inGeoRaster
-
入力GeoRasterオブジェクトを指定します。
- outGeoRaster
-
操作の結果を格納するGeoRasterオブジェクトを指定します。有効な初期化されたGeoRasterオブジェクトである必要があります。
inGeoRaster
と同じGeoRasterオブジェクトは指定できません。 - outDirectory
-
出力ファイルを含むシステム・ディレクトリを指すディレクトリ・オブジェクトの名前。
- outFileName
-
出力ファイルの名前。
- inTableName
-
入力ラスターがBLOB列に格納されている表またはビューの名前。詳細は、「使用上のノート」を参照してください。
- inRasterid
-
入力ラスターがBLOB列に格納されている表内の行を識別するID。詳細は、「使用上のノート」を参照してください。
- outTableName
-
出力ラスターがBLOB列に格納される表またはビューの名前。詳細は、「使用上のノート」を参照してください。
- outRasterid
-
出力ラスターがBLOB列に格納される表内の行を識別するID。詳細は、「使用上のノート」を参照してください。
- options
-
指定した場合、GDAL変換操作のオプションを示します。使用可能な
options
パラメータ値の名前と説明の表については、「使用上のノート」を参照してください。例:
options => 'srcwin=100,100,2500,2500'
- createOptions
-
指定した場合、出力ドライバに固有のオプションを示します。形式は'name=value'であり、オプションはスペースで区切られます。例:
"COMPRESS=JPEG-F GENPYRAMID=NN"
- metadataOptions
-
指定した場合、出力ドライバに固有のメタデータ値を割り当てます。形式は'name=value'であり、オプションはスペースで区切られます。例:
"TIFFTAG_POINTAREA=AREA"
- openOptions
-
指定した場合、入力ドライバ形式に固有のオプションを示します。詳細は、GDALでサポートされている形式のリストを参照してください。
使用上のノート
このファンクションは、GDAL translate
コマンドと同じ処理を実行します。
ソースおよびターゲットのラスター・データは、ファイル・システム、表のBLOB、またはGeoRasterオブジェクトに格納できます。また、次の点にも注意してください。
- ファイル・システムに格納されているラスター・データは、データベース・ディレクトリ・オブジェクト名とファイル名(
(inDirectory, inFileName)
や(outDirectory, outFileName)
など)の組合せによって識別されます。 - BLOBに格納されるラスター・データは、表名またはビュー名およびID (
(inTableName, inRasterid)
や(outTableName, outRasterid)
など)で識別されます。BLOBにラスターを格納する表またはビューには、少なくとも次の2つの列が必要です:(rasterblock BLOB, rasterid NUMBER)
。rasterblock
列にはラスターが格納され、rasterid
はラスターの識別に使用されます。
optionsパラメータの使用可能なキーワードを次の表に示します。
表10-2 translate操作のoptionsパラメータの使用可能な値
キーワード | 説明 |
---|---|
|
バンド番号の配列。整数リストであり、1が最初のバンドです。例: 指定しない場合、入力ファイルのバンド・リストが使用されます。 |
|
|
|
|
|
べき関数による非線形スケール変更を適用します。正の値である必要があります。scaleオプションとともに使用されます。例: |
|
データセットの作成をサポートするGDALドライバの名前。文字列型。例: |
|
地上基準点。GCPのセットを指定するために複数回指定できます。形式 |
|
バンド番号の配列。整数リストであり、1が最初のバンドです。例: 指定しない場合、入力ファイルのバンド・リストが使用されます。 |
|
各出力バンドのNodata値のリスト(または設定を解除する場合は |
|
書式 |
|
|
|
出力ピクセルのデータ型。サポートされる値は、 このオプションを指定しない場合、入力データ型が使用されます。 使用されているデータ型が出力形式でサポートされているかどうかを確認します。 |
|
行と列で、または元のイメージ・サイズの相対的な割合で定義される出力イメージのサイズを設定します。次に例を示します:
指定しない場合、入力イメージの元のサイズが使用されます。 |
|
|
|
|
|
ソース・イメージのラスター属性表を出力イメージにコピーするかどうかを示します。デフォルトは 操作は、ラスター属性表をサポートするための出力形式の容量に応じて異なります。 |
|
リサンプリング・モード{ |
|
カラー表を持つ1バンドのデータセットを3 (RGB)または4 (RGBA)バンドのデータセットとして解釈するかどうかを示します。グレー・レベルのみを含むカラー表を持つデータセットをグレーの索引付けされたデータセットに拡張します。{ |
|
入力イメージのピクセル値を出力イメージにスケール変更するための値のリスト。値は、 |
|
指定しない場合、入力イメージ全体が使用されます。 |
|
出力イメージに対する統計を計算して格納します。ブール型であり、デフォルトは |
|
出力形式への変換時にデータ型の不一致およびデータの消失がある場合はエラーが発生します。ブール型であり、デフォルトは |
|
水平方向と垂直方向の出力イメージの解像度を出力します。例: |
便宜上、options
パラメータの引数は、GDAL gdal_translate
コマンドライン・ツールと同じ書式で入力することもできます。例: “-srcwin 10 10 512 512 –outsize 1024 1024“
例
次の例では、初期化されたGeoRasterオブジェクトにファイル・システムからgeotiffファイルをロードします。
CREATE OR REPLACE DIRECTORY mydata_dir AS '/folder_name/data/'; BEGIN DELETE FROM imagery WHERE id = 1; INSERT INTO imagery VALUES(1, sdo_geor.init('imagery_rdt',1)) RETURNING raster INTO gr; sdo_geor_gdal.translate(inDirectory => 'mydata_dir', inFileName => 'sample.tif', outGeoRaster => gr); UPDATE imagery SET raster = gr WHERE id = 1; COMMIT; END;
次の例では、GeoRasterオブジェクトをgeotiffファイルにエクスポートします。
CREATE OR REPLACE DIRECTORY dump_dir AS '/folder_name/dump/'; DECLARE gr sdo_georaster; BEGIN SELECT raster INTO gr FROM imagery WHERE id = 1; sdo_geor_gdal.translate(inGeoRaster => gr, outDirectory => 'dump_dir', outFileName => 'copy_imagery_id_1.tif'); END;
次の例では、値の解像度およびスケールを変更しながら、イメージの別のクロッピング部分にGeoRasterオブジェクトをコピーします。
DECLARE gr1 sdo_georaster; gr2 sdo_georaster; BEGIN DELETE FROM imagery WHERE id = 2; SELECT raster INTO gr1 WHERE id = 2; INSERT INTO imagery VALUES(2, sdo_geor.init('imagery',2)) RETURNING raster INTO gr2; sdo_geor_gdal.translate( inGeoraster => gr1, options => 'srcwin=100,100,2500,2500' || 'scale=0,255' || 'resxy=400,400', outGeoRaster => gr); UPDATE imagery SET raster = gr2 WHERE id = 2; COMMIT; END;
次の例では、GeoRasterオブジェクトをErdas .img
形式のファイルにエクスポートします。
CREATE OR REPLACE DIRECTORY myoutput_dir AS '/folder_name/data/'; DECLARE gr sdo_georaster; BEGIN SELECT raster INTO gr where id = 3; sdo_geor_gdal.translate( inGeoraster => gr, outDirectory => myoutput_dir,, outFilename => 'exported.img', options => 'format=hfa'); END;
次の例では、GeoRasterオブジェクトを表raster_table
のBLOBにエクスポートします。raster_table
は(rasterid number, rasterblock BLOB)
として定義されます:
DECLARE gr sdo_georaster; BEGIN INSERT INTO raster_table VALUES (100, empty_blob()); SELECT raster INTO gr FROM imagery WHERE id = 1; sdo_geor_gdal.translate(inGeoRaster => gr, outTableName => 'raster_table', outRasterid => 100); COMMIT; END;
次の例では、表raster_table
のBLOBに格納されているラスター・データをGeoRasterオブジェクトにインポートします。raster_table
は、(rasterid number, rasterblock BLOB)
として定義されます:
DECLARE gr sdo_georaster; BEGIN INSERT INTO imagery VALUES (2, sdo_geor.init(‘imagery_rdt’, 2)) RETURNING raster INTO gr; sdo_geor_gdal.translate( inTableName => 'raster_table', inRasterid => 100, outGeoRaster => gr); UPDATE imagery SET raster = gr WHERE id= 2; COMMIT; END;
親トピック: SDO_GEOR_GDALパッケージのリファレンス