10 SDO_GEOR_GDALパッケージのリファレンス
SDO_GEOR_GDALパッケージは、外部プロシージャを使用してオープン・ソース・ソフトウェアGDALをOracle Databaseサーバーと統合し、GDALの一連の操作を実行するためにPL/SQL APIを提供します。この章では、そのサブプログラムのリファレンス情報を、例を使用して説明します。
SDO_GEOR_GDALパッケージのファンクションおよびプロシージャは、Oracle Databaseサーバー・マシン上で実行され、他のGeoRaster PL/SQL APIと連携して動作できます。
現在、SDO_GEOR_GDALパッケージは、WindowsおよびLinuxオペレーティング・システムでのみ使用できます。
構成要件などの詳細は、SDO_GEOR_GDALパッケージの使用を参照してください。
10.1 SDO_GEOR_GDAL.dem
形式
SDO_GEOR_GDAL.dem( inGeoRaster IN SDO_GEORASTER, outGeoRaster IN OUT SDO_GEORASTER, processing IN VARCHAR2 DEFAULT NULL, options IN VARCHAR2 DEFAULT NULL, createOptions IN VARCHAR2 DEFAULT NULL, metadataOptions IN VARCHAR2 DEFAULT NULL, colorDirectory IN VARCHAR2 DEFAULT NULL, colorFileName IN VARCHAR2 DEFAULT NULL, openOptions IN VARCHAR2 DEFAULT NULL);
説明
入力数値標高モデル(DEM)を処理し、指定された処理および変換オプションを反映した出力GeoRasterオブジェクトを生成します。
パラメータ
- inGeoRaster
-
GeoRasterオブジェクト。通常は数値標高モデル(DEM)。
- outGeoRaster
-
操作の結果を格納するGeoRasterオブジェクトを指定します。有効な初期化されたGeoRasterオブジェクトである必要があります。
inGeoRaster
と同じGeoRasterオブジェクトは指定できません。 - processing
-
指定した場合、適用するDEM処理技術の名前を示します。
-
aspect
は、方位マップを生成します。 -
color-relief
は、カラー・レリーフ・マップを生成します。 -
hillshade
は、影付きレリーフ・マップを生成します。 -
Roughness
は、粗さのマップを生成します。 -
slope
は、傾斜マップを生成します。 -
TPI
は、Topographic Position Indexのマップを生成します。 -
TRI
は、Terrain Ruggedness Indexのマップを生成します。
-
- options
-
指定した場合、GDAL変換操作のオプションを示します。使用可能な
options
パラメータ値の名前と説明の表については、「使用上のノート」を参照してください。例:
options => 'outputType=float32'
- createOptions
-
指定した場合、出力ドライバに固有のオプションを示します。形式は'name=value'であり、オプションはスペースで区切られます。例:
"COMPRESS=JPEG-F GENPYRAMID=NN"
- metadataOptions
-
指定した場合、出力ドライバに固有のメタデータ値を割り当てます。形式は'name=value'であり、オプションはスペースで区切られます。例:
"TIFFTAG_POINTAREA=AREA"
- colorDirectory
-
指定した場合、入力カラー表ファイルが存在するファイル・システム・ディレクトリに関連するディレクトリ・オブジェクトの名前を示します。
- colorFileName
-
指定した場合、GDAL互換カラー表ファイルのベース・ファイル名を示します。
- openOptions
-
指定した場合、入力ドライバ形式に固有のオプションを示します。詳細は、GDALでサポートされている形式のリストを参照してください。
使用上のノート
openOptions
パラメータの使用可能なキーワードを次の表に示します。
表10-1 dem操作のopenOptionsパラメータの使用可能な値
キーワード | 説明 |
---|---|
|
Hornの計算式ではなくZevenbergenThorneアルゴリズムを使用するかどうかを示します。ブール型であり、デフォルトは |
|
|
|
|
|
DEMを識別するバンド番号。値は1 (デフォルト)から始まります。 |
|
|
|
ラスターのエッジで値を計算するかどうかを示します。ブール型であり、デフォルトは |
|
出力ピクセルのデータ型。サポートされる値は、 このオプションを指定しない場合、入力データ型が使用されます。 使用されているデータ型が出力形式でサポートされているかどうかを確認します。 |
|
垂直単位を乗算するための比率を示します。たとえば、垂直単位がメートルであり、変換する必要がある場合は、 |
|
|
|
|
|
|
便宜上、options
パラメータの引数は、GDAL gdal_dem
コマンドライン・ツールと同じ書式で入力することもできます。例: ”-b 1 –scale 10”
例
次の例では、入力DEMから方位マップを生成します。
DECLARE gr6 sdo_georaster; gr7 sdo_georaster; BEHIN delete from imagery where id = 7; insert into imagery values(7, sdo_geor.init('dem_rdt',7)) returning raster into gr7; select raster into gr6 from imagery where id = 6; sdo_geor_gdal.dem(inGeoRaster => gr6, outGeoRaster => gr7, processing => 'aspect', options => 'outputType=float32'); update imagery set raster = gr7 where id = 7; commit; END;
親トピック: SDO_GEOR_GDALパッケージのリファレンス
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);
説明
ラスター・データを異なる形式間で変換します。ピクセルのサブセット化、リサンプリング、スケール変更などの操作をプロセスで実行する可能性があります。
パラメータ
- inDirectory
-
入力ファイルを含むシステム・ディレクトリを指すディレクトリ・オブジェクトの名前。
- inFileName
-
GDAL互換ラスター・データ・ソース指定のベース・ファイル名(パスを含まないファイル名)。
- inGeoRaster
-
入力GeoRasterオブジェクト
- outGeoRaster
-
操作の結果を格納するGeoRasterオブジェクトを指定します。有効な初期化されたGeoRasterオブジェクトである必要があります。
inGeoRaster
と同じGeoRasterオブジェクトは指定できません。 - outDirectory
-
出力ファイルを含むシステム・ディレクトリを指すディレクトリ・オブジェクトの名前。
- outFileName
-
操作の結果を格納するGeoRasterオブジェクトを指定します。有効な初期化されたGeoRasterオブジェクトである必要があります。
inGeoRaster
と同じGeoRasterオブジェクトは指定できません。 - 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
コマンドと同じ処理を実行します。
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ファイルをロードします。
DECLARE gr6 sdo_georaster; gr7 sdo_georaster; BEHIN delete from imagery where id = 7; insert into imagery values(7, sdo_geor.init('dem_rdt',7)) returning raster into gr7; select raster into gr6 from imagery where id = 6; sdo_geor_gdal.dem(inGeoRaster => gr6, outGeoRaster => gr7, processing => 'aspect', options => 'outputType=float32'); update imagery set raster = gr7 where id = 7; 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;
親トピック: SDO_GEOR_GDALパッケージのリファレンス