ArcSDE および Oracle Spatial ラスタ タイプ
Oracle Spatial ラスタ データ タイプ(SDO_GEORASTER)は Oracle の拡張可能なオブジェクト リレーショナル タイプ システムを使用して実装されています。このデータ タイプは Oracle 10g のリリースから導入されました。SDO_GEORASTER タイプには、ピクセル タイプ、空間参照 ID およびピクセル値などのラスタに関する情報が格納されます。
SDO_GEORASTER タイプは、1 ~ 64 ビット、符号あり、符号なし、浮動小数点などのすべての Esri ピクセル タイプをサポートします。ArcSDE は、ラスタ データの格納オプションとして Oracle Spatial の SDO_GEORASTER データ タイプをサポートしています。
アプリケーション プログラムは Oracle のオブジェクト リレーショナル SQL インタフェースを使用して、SDO_GEORASTER タイプのコンテンツを正しく挿入、更新、取得しなければなりません。また、各ラスタのコンテンツを Oracle ドキュメントに定義されているルールに準拠させる必要もあります。
Oracle SDO_GEORASTER 列が含まれるテーブルの作成では、ArcSDE によって必要な Oracle メタデータ スキーマにデータが設定されます。この操作は Oracle で自動的に実行されないため、ArcSDE などのアプリケーションで実行する必要があります。サードパーティ製品で作成された Oracle SDO_GEORASTER 列が含まれるテーブルを登録する場合は、このサードパーティ製品で SDO_GEORASTER 列の Oracle メタデータ スキーマに適切なデータが設定されている必要があります。
ラスタの SDO_GEORASTER としての格納
ArcSDE ジオデータベース格納の設定は DBTUNE テーブルで定義され、ラスタ データの格納は RASTER_STORAGE パラメータで制御されます。このため、ArcSDE ジオデータベースで SDO_GEORASTER 列を含むテーブルを作成し、ラスタを SDO_GEORASTER として格納する場合、ラスタ データセットまたはカタログの作成時に、SDO_GEORASTER に設定された RASTER_STORAGE パラメータが含まれるコンフィグレーション キーワードを使用する必要があります。
ArcSDE 9.3 コンポーネントを初めてインストールする場合、DBTUNE テーブルの RASTER_STORAGE のデフォルト設定は BLOB で、デフォルトの GEOMETRY_STORAGE は ST_GEOMETRY です。DEFAULTS キーワード パラメータの一部のリストを次に示します。
##DEFAULTS GEOMETRY_STORAGE "ST_GEOMETRY" ATTRIBUTE_BINARY "BLOB" RASTER_STORAGE "BLOB"
ラスタ データのほとんどを SDO_GEORASTER 形式で格納する場合は、DEFAULTS キーワードの RASTER_STORAGE パラメータを変更する必要があります。また、ラスタ格納に SDO_GEORASTER を使用している場合は、GEOMETRY_STORAGE タイプに ST_GEOMETRY または SDO_GEOMETRY タイプを使用できません。このため、SDO_GEORASTER をラスタ データのデフォルトの格納タイプとして使用するには、デフォルトの GEOMETRY_STORAGE を SDELOB または SDEBINARY に変更し、DEFAULTS コンフィグレーション キーワードの RASTER_STORAGE を SDO_GEORASTER に設定する必要があります。
データを LONG RAW として格納する SDEBINARY ジオメトリ格納を新規のデータに使用することは推奨されません。Oracle では、11g リリースから LONG RAW のサポートを中止します。
次の例では、SDELOB 格納を使用してベクタ データを作成し、SDO_GEORASTER 格納を使用してラスタ データを作成するように、DEFAULTS キーワードが変更されています。
##DEFAULTS GEOMETRY_STORAGE "SDELOB" ATTRIBUTE_BINARY "BLOB" RASTER_STORAGE "SDO_GEORASTER"
この変更に従って、ArcSDE はデフォルトで SDO_GEORASTER 列を持つラスタ カタログとラスタ データセットを作成します。
デフォルトのラスタ スキーマ(DEFAULTS コンフィグレーション キーワードの RASTER_STORAGE に対する設定)は 1 つだけですが、ラスタ カタログまたはデータセットの作成時に、既存の SDO_GEOMETRY コンフィグレーション キーワードを使用して RASTER_STORAGE に SDO_GEORASTER を指定することもできます。この操作は、SDO_GEORASTER 形式で格納する必要のあるラスタ データが限られている場合に、実行してください。
SDO_GEORASTER キーワードを使用する前に、RDT_STORAGE および RDT_INDEX_COMPOSITE パラメータの表領域情報を編集する必要があります。デフォルトでは、表領域情報は SDO_GEORASTER キーワードに含まれません。デフォルトの dbtune.sde ファイルでは SDO_GEORASTER キーワードが次のように記述されています。
##SDO_GEORASTER GEOMETRY_STORAGE "SDELOB" RASTER_STORAGE "SDO_GEORASTER" ATTRIBUTE_BINARY "BLOB" RDT_STORAGE "PCTFREE 0 INITRANS 4" # TABLESPACE <RDT Table tablespace name> RDT_INDEX_COMPOSITE "PCTFREE 0 INITRANS 4 # TABLESPACE <RDT Composite index tablespace name> STORAGE ( INITIAL 409600) NOLOGGING" UI_TEXT "User Interface text description for SDO_GEORASTER" COMMENT "Any general comment for SDO_GEORASTER keyword" END
このキーワードに対する DBTUNE テーブルの情報を変更するには、sdedbtune 管理コマンドを使用します。このコマンドの使用方法については、『ArcSDE コマンド リファレンス』をご参照ください。
または、ラスタ データセットを SDO_GEORASTER として格納するために使用する新規のコンフィグレーション キーワードを作成することもできます。次に例を示します。
##GEORASTER RASTER_STORAGE "SDO_GEORASTER" SDO_COMMIT_INTERVAL 1000 UI_TEXT "Use to create raster catalogs and datasets with GEORASTER storage" END
上記の例では、関連付けられている格納パラメータが一部含まれていないことに注目してください。これは、キーワードで指定されないパラメータがすべて DEFAULTS キーワードから取得されるためです。つまり、DEFAULTS キーワードで指定されるものと同じ値を持つパラメータは、新たに指定する必要がありません。上記の例には、BND_STORAGE や AUX_STORAGE などのパラメータが含まれていません。これらは DEFAULTS キーワードから読み取られます。新規のコンフィグレーション キーワードの例(GEORASTER)では、GEOMETRY_STORAGE パラメータも DEFAULTS から読み取られます。カスタム SDO_GEORASTER コンフィグレーション キーワードに GEOMETRY_STORAGE パラメータを含めない場合は、DEFAULTS キーワードの GEOMETRY_STORAGE を SDO_GEOMETRY または ST_GEOMETRY に設定しないでください。
ジオメトリ格納キーワードの詳細については、「Oracle の DBTUNE コンフィグレーション パラメータ」をご参照ください。DBTUNE テーブルまたはコンフィグレーション キーワードの概要については、「DBTUNE テーブルとは」と「DBTUNE コンフィグレーション キーワードおよびパラメータとは」をご参照ください。
サードパーティ テーブルの追加
ArcSDE の管理コマンド、sderaster -o add を使用すると、サードパーティ アプリケーションで作成された、SDO_GEORASTER 列が含まれるテーブルを登録できます。以下に例を示します。
sderaster –o add –l landforms,raster –u gis –p gis
ArcSDE に追加するテーブルは次の条件を満たす必要があります。
- テーブルを追加するユーザが追加するテーブルの所有者である。
- SDO_GEORASTER 列が 1 つだけ含まれている。
- sdo_geor_utl.createDMLTrigger ストアド プロシージャによって作成された、有効な GeoRaster データ操作言語(DML)トリガが含まれている。
- 有効な SDO_GEORASTER データ テーブルが含まれている。
- SDO_GEOMETRY 列または ST_GEOMETRY 列が含まれていない。
ArcSDE ジオデータベースにおける SDO_GEORASTER の使用に関する既知の制約
ラスタ データを SDO_GEORASTER として ArcSDE ジオデータベースに格納する場合に注意が必要な制約を次に挙げます。
- Oracle は SDO_GEORASTER に対する区分的な更新をサポートしていません。このため、SDO_GEORASTER として格納されている既存のラスタ データセットに対してイメージ ファイルのモザイクを行うことはできません。
- データの挿入中はピラミッドを構築できません。ピラミッドは、イメージ データを SDO_GEORASTER に挿入した後で別途、更新処理をして構築します。このため、ラスタ データセットまたはラスタ カタログを作成するあらゆる ArcGIS ジオプロセシング ツールのダイアログ ボックスで、[ピラミッドの構築] を常にオフにしておく必要があります。
- 現時点では、Oracle 10g リリース 1(R1)では、イメージ データを SDO_GEORASTER の圧縮形式で格納することができません。SDO_GEORASTER タイプへのイメージ圧縮機能は、Oracle 10g リリース 2(R2)で追加された機能です。Oracle 10g R1 を使用している場合は、ラスタ データセットまたはラスタ カタログの作成に使用するあらゆる ArcGIS ジオプロセシング ツールのダイアログ ボックスで、常に圧縮タイプを [なし] に設定しておく必要があります。
- Oracle は SDO_GEORASTER をバンド統合アーキテクチャとして実装します。このため、ラスタ データセットの個々のバンドを追加または削除することはできません。
- ArcSDE と ArcGIS は、複数のラスタ列が含まれたテーブルをサポートしません。複数の SDO_GEORASTER 列が含まれたテーブルには、SDO_GEORASTER 列が 1 つだけ含まれたビューを通じてアクセスします。このようなテーブルのビューは、sdetable create_view 操作を使用して作成します。sdetable コマンドの使用方法の詳細については、『ArcSDE コマンド リファレンス』をご参照ください。
- ArcSDE ジオデータベースで SDO_GEORASTER を使用する場合、NoData ビットマスクはサポートされません。このため、正方形ではない通常のデータには、ピラミッドを構築することができません。