1.21 GeoRasterツール: ビューア、ローダー、エクスポータ

Oracle Spatialには、GeoRasterデータを表示、ロードおよびエクスポートするツールが含まれています。

Oracleはサード・パーティと密接に連携して、各種ラスター・データ形式をロードおよびエクスポートする包括的なETL (抽出、変換、ロード)ツールと、GeoRasterオブジェクトを表示するビジュアライゼーション・クライアントを提供します。Spatialパートナ・ソリューション情報はhttp://www.oracle.com/technetwork/database-options/spatialandgraph/learnmore/、オープン・ソースGDALサポートはhttp://www.gdal.org/frmt_georaster.htmlを参照してください。

GeoRasterには、次のクライアント側ツールも含まれています。

  • JAIベースのGeoRasterビューア、ローダーおよびエクスポータ

  • 多数のイメージ・ファイルおよびラスター・ファイルの同時バッチ・ロードおよびエクスポートのためのGDALベースのETLウィザード

これらのクライアント側ツールを使用するには、Oracle Database Examplesメディアからデモ・ファイルをインストールする必要があります(『Oracle Database Examplesインストレーション・ガイド』を参照)。インストールすると、これらのツールは次の.jarファイルにあります(Spatialのデフォルトのインストール・ディレクトリが$ORACLE_HOME/mdであるとします)。

$ORACLE_HOME/md/demo/georaster/tool/georastertool.jar

さらに、GDAL自体はOracle Spatialのインストールに含まれています。

1.21.1 JAIベースのビューア、ローダーおよびエクスポータ

GeoRaster JAIベースのツールには、ビューア、ローダーおよびエクスポータが含まれます。これらのツールは、DBAおよびアプリケーション開発者向けです。ビューアは、GeoRasterオブジェクトのすべての型とそのメタデータを調査する場合に特に便利です。これによって、GeoRaster表またはビューのいずれか1つまたはリストとして定義された仮想モザイクも表示されます。ローダーおよびエクスポータは、限られた数のイメージ・ファイルおよびラスター・ファイルを1つずつ簡単にロードおよびエクスポートするための軽量ツールです。ロードおよびエクスポート機能は非常に限定されており、多くの制限があります。したがって、イメージおよびラスター・ファイルをロードおよびエクスポートするには、GDALベースのETLGDALまたはSDO_GEOR_GDAL.translateを使用することを常にお薦めします。$ORACLE_HOME/md/demo/georaster/tool/README.txtファイルには、次のツールに役立つ使用情報や使用手順が記載されています。

  • GeoRasterビューア: このツールは、GeoRasterオブジェクトとメタデータ、および仮想モザイクを表示します。複数のデータベースに同時に接続して、左側のペインに示される各データベースからGeoRasterオブジェクトを表示できます。元のイメージ(ピラミッド・レベル0)から概要的なイメージ(最高のピラミッド・レベル)まで、様々な解像度のビューを簡単に切り替えることができます。線形ストレッチ(自動、手動、またはピース単位)、正規化、均等化、および明るさ、コントラスト、しきい値の制御など、イメージを向上させるための操作を実行できます。(GeoRasterオブジェクトの表示方法の詳細は、「GeoRasterオブジェクトの表示」を参照してください。)

    ビューアからは、GeoRasterローダーおよびエクスポータ・ツールをコールし、GDALベースのETLツールを起動できます。これにより、1つのツールを、すべてのGeoRasterツールの機能へのインタフェースとして使用できます。ローダーおよびエクスポータ・ツールの詳細は、この項および$ORACLE_HOME/md/demo/georaster/tool/JAI_based_tools_user_guide.txtファイルを参照してください。

  • GeoRasterローダー: このツールは、ラスター・データをGeoRasterオブジェクトにロードします。TIFF、GeoTIFF、JPEG、BMP、GIF、PNGおよびJP2イメージ形式をロードできます。地理参照情報は、ESRIワールド・ファイル、GeoTIFFファイルおよびDigital Globe RPCテキスト・ファイルからのロードが可能です。

    Windows以外のシステムでは、このローダー・ツールはBMPまたはGIFイメージ形式をサポートしていません。このツールは、セル深度値が2BITのラスター・データ、またはBILまたはBSQインターリーブ・タイプのソース・マルチバンド・ラスター・データをサポートしていません。インポートされたGeoRasterオブジェクトは、BIPインターリーブ・タイプになります。このツールでのロード操作はロールバックできません。

    JPEGファイル形式でイメージをロードする場合、操作に必要なメモリーの容量は、圧縮されていないイメージのサイズによって異なります。これは、-Xmxオプション(java -Xmx256M oracle.spatial.georaster.tools.GeoRasterLoader ...など)を使用してコマンドライン・パラメータとして指定できます。

  • GeoRasterエクスポータ: このツールは、GeoRasterオブジェクトをイメージ・ファイルにエクスポートします。GeoRasterエクスポータ・ツールは、宛先イメージ・ファイル形式としてTIFF、GeoTIFF、JPEG、BMP、GIF、PNGおよびJP2をサポートします。地理参照情報は、ESRIワールド・ファイル、GeoTIFFファイルおよびDigital Globe RPCテキスト・ファイルへのエクスポートが可能です。

    GeoRasterエクスポータ・ツールは、ターゲット・ファイル形式としてGIFをサポートしないことに注意してください。GeoRasterエクスポータ・ツールは、cellDepth値が2BITのGeoRasterオブジェクトをサポートしていません。BSQまたはBILインターリーブ形式で8ビット以上のセル深度を持つGeoRasterオブジェクトは、BIPインターリーブ形式でエクスポートされます。

イメージのサイズおよびタイプに関して、ロード操作とエクスポート操作に制限事項が適用される場合があります。詳細は、GeoRasterツールの$ORACLE_HOME/md/demo/georaster/tool/JAI_based_tools_user_guide.txtファイルを参照してください。

これらのツールはJavaで開発されているため、Oracle Databaseとネットワーク接続できるかぎり、イントラネットまたはインターネットを介して任意の場所で実行できます。

GeoRasterのクライアント側ツールでGeoTIFFイメージをロードまたはエクスポートするには、次のライブラリを現在のCLASSPATH定義に追加します。

  • xtiff-jai.jar (SourceForge Extensible-TIFF-JAIグループから入手可能)

  • geotiff-jai.jar (SourceForge GeoTIFF-JAIグループから入手可能)

JP2イメージのロードまたはエクスポートを行うには、CLASSPATH定義にライブラリjai-imageio.jar (Oracle Java Advanced Imaging Image I/O Toolsのダウンロード・ページから入手可能)を追加します。

ラスター・ファイルまたはイメージ・ファイルがGeoRasterオブジェクトにロードされた後、データ全体がGeoRasterオブジェクトのネイティブ・データ型で格納され、他の特定のファイル形式との関連性がなくなります。

独自のGeoRasterローダー・ツールおよびGeoRasterエクスポータ・ツールは、OCI、Oracle C++ Call Interface(OCCI)またはJavaを使用して開発できます。開発したツールは、クライアント側のコマンドまたはサーバー側のSQLプロシージャまたはファンクションとして実装できます。

1.21.2 同時バッチ・ロードおよびエクスポートのためのGDALベースのETLウィザード

GeoRasterには、GDALを使用して様々なイメージ・ファイルとラスター・ファイルの同時バッチ・ロードおよびエクスポートを自動化して有効化するためのETLウィザード・ツールが付属しています。この強力なツールによって、多数のラスター・ファイルとイメージ・ファイルを一括して同時にロードおよびエクスポートできます。

これは、XMLスキーマを定義し、XMLでロードおよびエクスポート記述ファイルを作成するためのGraphical User Interfaceを提供します。各記述ファイルには、GeoRasterを対象に一括して一連のラスター・ファイルをロードまたはエクスポートする方法が記述されています。XML記述ファイルが作成されると、同じウィザード・ツールを使用して複数の記述ファイルを呼び出し、ラスター・ファイルを一括して同時にロードおよびエクスポートできます。実行時障害は、発生すると捕捉されて記録されますが、バッチ・ロードまたはエクスポート・プロセスは停止しません。このツールは、インストールされているGDALでサポートされているラスター形式をサポートしています。

このウィザードを使用するには、Oracle Database Examplesメディアからデモ・ファイルをインストールする必要があります(『Oracle Database Examplesインストレーション・ガイド』を参照)。インストール後、このウィザードは次の.jarファイルに配置されます(Spatialのデフォルトのインストール・ディレクトリが$ORACLE_HOME/mdであるとします)。

$ORACLE_HOME/md/demo/georaster/tool/georastertool.jar

$ORACLE_HOME/md/demo/georaster/tool/README.txtファイルには、GDALの設定方法とウィザードの起動方法が記述されています。

$ORACLE_HOME/md/demo/georaster/tool/GDAL_based_etl_user_guide.pdfファイルには、使用方法の詳細が記述されています。

1.21.3 GDALのSpatialインストールからの使用またはクライアント・マシンでの使用

GeoSpatial Data Abstraction Library (GDAL)は、多数のデータ形式およびサービスをサポートするオープン・ソースのソフトウェア・ライブラリです。Oracle SpatialジオメトリおよびGeoRasterオブジェクトは、GDALライブラリ、コマンドライン・ツールおよびプログラミング・インタフェースでサポートされます。

GDALはOracle Spatialとともに配布され、Linuxシステムでは$ORACLE_HOME/md/gdal、Windowsシステムでは%ORACLE_HOME% \md\gdalにインストールされます。GDALは、Oracle MOSノート2997919.1にリストされているパッチIDを使用して、My Oracle Supportからダウンロードすることもできます。(GDALは、Linux x86-64およびMicrosoft Windows x64 (64ビット)プラットフォームでのみ配布されます。これは、他のプラットフォームでOracle Spatialとともに配布されません。)

Oracleインストールからコマンドラインで使用するためにGDALを準備するには、GDALのbindatalibおよびpluginsフォルダをシステム環境変数に追加する必要があります。

次の例は、Linux x86-64でGDALを設定します:

setenv GDAL_HOME ${ORACLE_HOME}/md/gdal
setenv GDAL_DATA ${GDAL_HOME}/data
setenv GDAL_DRIVER_PATH ${GDAL_HOME}/lib/gdalplugins
setenv PATH ${GDAL_HOME}/bin:${PATH}
setenv LD_LIBRARY_PATH ${GDAL_HOME}/lib:${LD_LIBRARY_PATH}

次の例は、Windows x64 (64ビット)でGDALを設定します:

set GDAL_HOME=%ORACLE_HOME%\md\gdal
set GDAL_DATA=%GDAL_HOME%\data
set GDAL_DRIVER_PATH=%GDAL_HOME%\bin\gdalplugins
set PATH=%GDAL_HOME%\bin;%PATH%

前述の例では、Oracle OCI共有ライブラリがすでにシステムに構成されていると仮定します。Oracle OCI共有ライブラリは、Oracle DatabaseまたはInstant Clientインストールで確認できます。

次の例は、Oracle Instant ClientをWindows PATH変数に追加します。

set PATH=C:\instantclient_12_1;%PATH%

GDALを自動的に設定するスクリプトは、setup_gdal.confおよびsetup_gdal.bat($ORACLE_HOME/md/demo/georaster/toolフォルダにある)です。

「ラスター・データのロード」およびそのサブトピックでは、GDALを使用してラスター・ファイルをGeoRasterにロードする方法の説明および例を示します。

クライアント・マシンでコマンドラインを使用するためにGDALを準備するには、Oracle MOSノート2997919.1にリストされているパッチIDを使用してMy Oracle Supportからダウンロードし、GDALパッケージ内のREADME.txtファイルの指示に従います。

1.21.4 SDO_GEOR_GDALパッケージの使用

SDO_GEOR_GDAL PL/SQLパッケージは、外部プロシージャを使用してオープン・ソース・ソフトウェアGDALをOracle Databaseサーバーと統合し、GDALの一連の機能を実行するためにPL/SQL APIを提供します。

ノート:

SDO_GEOR_GDALは、共有デプロイメントと専用デプロイメントの両方のOracle Autonomous Databaseでサポートされていません。

SDO_GEOR_GDALパッケージのファンクションおよびプロシージャは、Oracle Databaseサーバー・システム上で実行され、他のGeoRaster PL/SQL APIと連携して動作できます。

現在、SDO_GEOR_GDALパッケージは、Linuxのx86-64およびMicrosoft Windowsのx64 (64ビット)オペレーティング・システムでのみ使用できます。

SDO_GEOR_GDALパッケージのリファレンスには、SDO_GEOR_GDALパッケージの説明と、そのパッケージ内のサブプログラムのリファレンス情報が含まれています。

SDO_GEOR_GDALを使用するための構成要件

SDO_GEOR_GDALパッケージを使用するには、オペレーティング・システムに応じた指示に従います。

Linux x86-64システム:

サーバー構成ファイルに次の行を追加します。${ORACLE_HOME}/hs/admin/extproc.ora

ただし、これらの各行で、${ORACLE_HOME}はOracleホーム・ディレクトリへの実際のパスに置き換えます。

set EXTPROC_DLLS=${ORACLE_HOME}/md/lib/libsdogdal.so
set GDAL_DATA=${ORACLE_HOME}/md/gdal/data
set GDAL_DRIVER_PATH=${ORACLE_HOME}/md/gdal/lib/gdalplugins
set LD_LIBRARY_PATH=${ORACLE_HOME}/lib:${ORACLE_HOME}/md/gdal/lib

前述の構成を有効にするには、データベースを停止してから再起動する必要があります。

ノート:

この構成のSDO_GEOR_GDALパッケージ・メソッドの呼び出し時に「ORA-06520: PL/SQL: 外部ライブラリのロード中にエラーが発生しました」というエラーが表示された場合は、${ORALE_HOME}/md/gdal/libにあるすべてのライブラリ(*.so*)のシンボリック・リンクをディレクトリ${ORACLE_HOME}/libに作成し再試行してください。たとえば:

ln -s ${ORACLE_HOME}/md/gdal/lib/libgdal.so  ${ORACLE_HOME}/lib/libgdal.so

Windows x64 (64ビット)システム:

次の行をサーバー構成ファイルに追加します。%ORACLE_HOME%\hs\admin\extproc.ora

ただし、これらの各行で、%ORACLE_HOME%はOracleホーム・ディレクトリへの実際のパスに置き換えます。

set EXTPROC_DLLS=%ORACLE_HOME%\\md\\bin\\orasdogdal.dll
set GDAL_DATA=%ORACLE_HOME%\\md\\gdal\\data
set GDAL_DRIVER_PATH=%ORACLE_HOME%\\md\\gdal\\bin\\gdalplugins
set PATH=%ORACLE_HOME%\\bin;%ORACLE_HOME%\\lib;%ORACLE_HOME%\\md\\gdal\\bin

前述の構成を有効にするには、データベースを停止してから再起動する必要があります。

ノート:

この構成のSDO_GEOR_GDALパッケージ・メソッドの呼び出し時に「ORA-06520: PL/SQL: 外部ライブラリのロード中にエラーが発生しました」というエラーが表示された場合は、%ORACLE_HOME%\md\gdal\binにあるすべてのライブラリ(*.dll)をディレクトリ%ORALCE_HOME%\binにコピーし再試行してください。