Standard または Advancedのライセンスで利用可能。
ST_Raster は、ラスター データを直接ジオデータベース テーブルに保存できるようにするデータ タイプです。SQL を使用してジオデータベースのラスター データにアクセスする必要がある場合、ST_Raster タイプを使用します。
[ラスター タイプの作成 (Create Raster Type)] ジオプロセシング ツール、またはツールを呼び出す Python スクリプトを使用して、ST_Raster タイプをジオデータベースにインストールします。
ST_Raster タイプをインストールしたら、ジオデータベースに作成された新しいラスターで ST_Raster データ タイプが使用されるようにジオデータベース構成設定を変更する必要があります。
extproc ファイルの更新
Oracle EXTPROC は、ST_Raster ライブラリ (libst_raster_ora) にアクセスする必要があります。
ArcGIS for Desktop または ArcGIS for Server が Oracle サーバーにインストールされている場合は、<ArcGIS client installation directory>\DatabaseSupport\Oracle\<Operating System> の libst_raster_ora を指定するように extproc.ora ファイルを更新できます。必ず、Oracle サーバーのオペレーティング システムに対応する正しいライブラリをファイルに設定してください。exptroc.ora を更新したら、ST_Raster のインストールに進みます。
Oracle サーバーに ArcGIS クライアントがインストールされていない場合は、まず libst_raster_ora ライブラリを Oracle サーバーにコピーし、extproc.ora ファイルを更新して、ライブラリを作成します。
ArcGIS が Oracle サーバーにインストールされていない場合は、以下の手順に従います。
- Oracle サーバーにディレクトリを作成します。
- 作成したディレクトリに、Oracle サーバーのオペレーティング システムに対応する libst_raster_ora ライブラリを配置します。
- libst_raster_ora ライブラリのパスを含むようにextproc.ora ファイルを更新します。
- SQL を使用して、sde ユーザーとして Oracle データベースに接続し、Oracle libst_raster_ora ライブラリを作成します。
CREATE LIBRARY LIBST_RASTER AS '<absolute path to libst_raster_ora library>' /
Oracle サーバーの設定が完了したら、ST_Raster をインストールできます。
ST_Raster のインストール
ArcGIS for Desktop (Standard または Advanced) から [ラスター タイプの作成 (Create Raster Type)] ツールを実行するか、ArcGIS for Server または ArcGIS for Desktop (Standard または Advanced) クライアントから Python スクリプトを実行して、ST_Raster タイプをインストールできます。
ラスター タイプの作成 (Create Raster Type)ツールの実行
ArcGIS for Desktop (Standard または Advanced) へのアクセス権を持っている場合は、[ラスター タイプの作成 (Create Raster Type)] ツールを実行して ST_Raster タイプをインストールできます。
- ArcCatalog または ArcMap を起動します。
- ジオデータベース管理者としてジオデータベースに接続します。
- [ラスター タイプの作成 (Create Raster Type)] ツールを開きます。
このツールは [データ管理] ツールボックスの [ジオデータベース管理] ツールセットにあります。
- ステップ 2 で作成したデータベース接続を [入力データベース接続] に指定します。
- [OK] をクリックして、このツールを実行します。
Python の使用
Python スクリプトを実行して、ジオデータベース管理者としてジオデータベースに接続するデータベース接続 (*.sde) ファイルを作成し、ST_Raster タイプをジオデータベースにインストールすることができます。
- コマンド ウィンドウを開き、ArcPy モジュールをインポートし、CreateDatabaseConnection_management 関数を使用して、ジオデータベース管理者としてジオデータベースに接続するデータベース接続 (*.sde) ファイルを作成します。データベース認証を使用して接続する場合は、必ず、接続ファイルとともにユーザー名とパスワードを保存するようにしてください。
この例では、接続ファイル (adminconnect.sde) を C:\temp に作成します。sde ユーザーとして teamdata/orcl インスタンスへの接続が確立されます。
import arcpy arcpy.CreateDatabaseConnection_management (r'c:/temp',"adminconnect.sde", "ORACLE", "teamdata/orcl", "DATABASE_AUTH", "sde", "Cky00r", "SAVE_USERNAME")
- ST_Raster タイプをインストールします。
ここで、ジオデータベースに接続し、ST_Raster タイプをインストールするために adminconnect.sde ファイルが CreateRasterType_management 関数で使用されます。
arcpy.CreateRasterType_management (r'c:/temp/adminconnect.sde')
インストールの確認
SQL クライアントを使用して、ST_Raster をインストールした Oracle データベースへのアクセス権限を持つユーザーとして接続し、以下の SELECT ステートメントを実行して、ST_Raster タイプが正しくインストールされているか確認します。
SELECT sde.st_raster_util.describe()
FROM dual;
ジオデータベース内にラスター データがまだ存在していない場合、またはデータベース内にラスター列のリストが存在しない場合、このクエリの正常な結果として「データが見つかりません」というメッセージが表示されます。
Oracle のリスナーが起動しない場合や、libst_raster_ora ライブラリにアクセスできない場合は、エラー メッセージが返されます。ライブラリにアクセスできない場合は、原因として ST_Raster がインストールされなかったか、listener.ora ファイルが libst_raster_ora ライブラリへのパスで更新されていなかったか、libst_raster_ora ライブラリが誤った位置にコピーされたことが考えられます。
この例では、describe ユーティリティを実行し、データベース内の既存の ST_Raster およびバイナリ ラスター列を一覧表示します。この例のジオデータベースは新規に作成されたものなので、そのデータベース内にはまだラスター列が存在していません。エラー メッセージが返されないことから、インストールが成功したということがわかります。
SELECT sde.st_raster_util.describe()
FROM dual;
SDE.ST_RASTER_UTIL.DESCRIBE()
No data found.
次の例でも、describe ユーティリティを実行しています。ただし、この例では libst_raster_ora ライブラリへのパスが listener.ora の ENV パラメーターに追加されていません。問題を修正してから、再度クエリを実行して、問題が解決したことを確認してください。
SELECT sde.st_raster_util.describe()
FROM dual;
ERROR:
ORA-28575: unable to open RPC connection to external procedure agent
ORA-06512: at "SDE.ST_RASTER_UTIL", line 190
ORA-06512: at "SDE_ST_RASTER_UTIL", line 377
ST_Raster がインストールされていることを確認したら、コンフィグレーション キーワード設定を変更します。
ジオデータベース構成の変更
ST_Raster をジオデータベースにインストールしたら、ユーザーがラスター データセットおよびラスター カタログを作成するときに ST_Raster を使用できるようにするためにジオデータベース構成を変更する必要があります。この処理を実施するには、ArcGIS for Desktop (Standard または Advanced) から接続してジオプロセシング ツールを実行するか、ArcGIS for Server または ArcGIS for Desktop (Standard または Advanced) クライアントからの Python スクリプトの実行を利用できます。
ジオプロセシング ツールの実行
ArcGIS for Desktop へのアクセス権を持っている場合は、[ジオデータベース コンフィグレーション キーワードのエクスポート (Export Geodatabase Configuration Keyword)] ツールを使用してジオデータベースの現在の構成設定をテキスト ファイルにインポートし、そのテキスト ファイルで RASTER_STORAGE パラメーターを ST_Raster に設定して、変更したそのテキスト ファイルを [ジオデータベース コンフィグレーション キーワードのインポート (Import Geodatabase Configuration Keyword)] ツールを使用してインポートできます。
- ArcGIS for Desktop で [ジオデータベース コンフィグレーション キーワードのエクスポート (Export Geodatabase Configuration Keyword)] ツールを開きます。
- ST_Raster をインストールするために作成したデータベース接続を [入力データベース接続] として使用します。
- 作成するテキスト ファイルの場所とファイル名を指定します。
- テキスト エディターでテキスト ファイルを開き、RASTER_STORAGE を ST_Raster に設定します。
- ユーザーがキーワードを指定する必要なく、すべてのラスター データセットおよびラスター カタログで ST_Raster タイプを使用したい場合は、DEFAULTS キーワードの RASTER_STORAGE パラメーターを変更します。
- 一部のラスター データセットおよびラスター カタログだけで ST_Raster タイプを使用する必要がある場合は、カスタム キーワードを作成し、そのキーワードの RASTER_STORAGE パラメーターを ST_Raster に設定します。
- テキスト ファイルを保存して閉じます。
- 変更したテキスト ファイルを、[ジオデータベース コンフィグレーション キーワードのインポート (Import Geodatabase Configuration Keyword)] ツールを使用してジオデータベースにインポートします。
Python の使用
ArcPy 関数 ExportGeodatabsaeConfigurationKeyword_management を使用して、現在のジオデータベース構成設定をテキスト ファイルにエクスポートし、そのテキスト ファイルを編集して保存してから、ImportGeodatabaseConfigurationKeyword_management 関数を使用して変更をジオデータベースにインポートします。
ST_Raster をインストールしたときに作成したデータベース接続ファイルを、ExportGeodatabsaeConfigurationKeyword_management 関数と ImportGeodatabaseConfigurationKeyword_management 関数の両方を実行するときの input_database に使用します。
- 現在のジオデータベースの構成をエクスポートします。
この例では、gdbconfig ファイルが C:\temp フォルダーにエクスポートされます。
arcpy.ExportGeodatabaseConfigurationKeyword_management (r'c:/temp/adminconnect.sde', r'c:/temp/gdbconfig.txt')
- テキスト エディターでテキスト ファイルを開き、RASTER_STORAGE を ST_Raster に設定します。
- ユーザーがキーワードを指定する必要なく、すべてのラスター データセットおよびラスター カタログで ST_Raster タイプを使用したい場合は、DEFAULTS キーワードの RASTER_STORAGE パラメーターを変更します。
- 一部のラスター データセットおよびラスター カタログだけで ST_Raster タイプを使用する必要がある場合は、カスタム キーワードを作成し、そのキーワードの RASTER_STORAGE パラメーターを ST_Raster に設定します。
- テキスト ファイルを保存して閉じます。
- 編集済みのファイルをインポートします。
arcpy.ImportGeodatabaseConfigurationKeyword_management (r'c:/temp/adminconnect.sde', r'c:/temp/gdbconfig.txt')
これで、データを作成するときに新しい構成設定を使用できるようになりました。