大規模なラスタ データセットの移動
ラスタ データを移動する際は、データのサイズ、ローカル コピーを作成できるか、リモート コピーにする必要があるか、利用可能な配布メディアなど、さまざまな点について検討します。ラスタ データ(ラスタ データセット、ラスタ カタログなど)はサイズが非常に大きくなる可能性があり、データセットのサイズが数テラバイトに達する場合もあります。結果として、一般的に使用されている転送メディアの容量を超えるデータを、ひとまとめにして移動するための特別な配慮が必要となります。
データの移動に使用する方法の主な違いは、ラスタがファイル ジオデータベースに格納されているか、ArcSDE ジオデータベースに格納されているかです。
ファイル ジオデータベースのラスタ データの移動
データがオンサイトで複製される場合は、カタログでデータをコピーして貼り付けることができます。コピーと貼り付けの利点は、エクスポート ファイルを保存するためのスペースが不要であり、操作が非常に容易なことです。ラスタ データセットがファイル ジオデータベースに格納されている場合、ファイル ジオデータベース フォルダ全体を転送メディアにコピーできます。ただし、共有する必要がないその他のタイプのデータがファイル ジオデータベースに含まれている場合は、転送メディア上に新しいファイル ジオデータベースを作成し、必要なラスタ データセットだけを新しいファイル ジオデータベースにコピーする必要があります。
ArcSDE からのラスタ データのエクスポート
ラスタ データセットが ArcSDE ジオデータベースに格納されている場合、転送メディア上にファイル ジオデータベースを作成し、そこにラスタ データセットをコピーできます。ファイル ジオデータベースを使用してデータを転送することの利点は、その後の利用が容易なことです。転送メディアに接続するだけで、データをすぐに使用できます。ArcSDE sdeexport コマンド ライン ツールを使用して、データを移動する方法もあります。ラスタ オブジェクトのファイル サイズが大きくなり、転送メディアに格納しきれなくなった場合は、データをいくつかのボリュームに分割する必要があります。次のコマンドを使用してボリュームを作成します。
sdeexport –X option creates volumes
一部の DMBS ベンダは、分離可能なデータベース ファイル機能を提供しています。Oracle は転送可能な表領域を使用し(Oracle 10g では、データ ファイルは OS 間の相互運用に対応)、SQL Server は分離ファイルを使用します。分離可能なデータベース ファイル機能を使用するほうが、エクスポートしたファイルを読み込むよりもはるかに高速です。
sdeexport -X オプションは、エクスポート ファイルのサイズが転送メディアで利用可能な格納容量を超える場合に使用します。-X オプションは、エクスポート ファイル ボリュームの最大サイズを指定します。ArcSDE 9.0 では、最大ボリューム サイズは 4GB です。ArcGIS 9.1 では、最大ボリューム サイズは OS のファイル制限によります。エクスポート ファイルのサイズを決定するには、sderaster コマンドの list 操作で -storage オプションを使用します。
sdeexport コマンドでラスタ データをエクスポートするには並べ替えのための大きな領域が必要になるため、最終的なエクスポート ファイルの約 4% の一時スペースを作成する必要があります。sderaster -o list -storage がエクスポート ファイルに対して合計 100GB を返す場合は、4GB の一時領域が必要です。
sdeexport の例を以下に示します。
$ sdeexport –o create –t earth –f earth –X 4G
ArcSDE for <dbms> Mon Jul 19 16:06:36 PDT 2004
SDEX File Export Administration Utility
---------------------------------------------------------
Exporting ArcSDE object to “earth" in SDEX 9.0 export format ...
Exporting table “earth".
Spatial column "FOOTPRINT"
Raster column "RASTER"
1 features converted.
1 features exported.
$ ls –l
total 5
-rw-rw-r-- 1 sde nuucp 4294967296 Aug 5 17:01 earth.000
-rw-rw-r-- 1 sde nuucp 4294967296 Aug 5 17:01 earth.001
-rw-rw-r-- 1 sde nuucp 9281019 Aug 5 17:01 earth.002
例では、次のパラメータを使用しています。
- -o は、操作を指定します。
- -t は、入力テーブルを指定します。
- -f は、出力ファイルまたはボリュームの接頭辞を指定します。
- -x は、作成する各ボリュームの最大サイズを指定します。
ArcSDE へのラスタ データのインポート
データを ArcSDE ジオデータベースにインポートする場合は、ArcSDE の sdeimport コマンド ライン ツールを使用します。sdeimport の例を以下に示します。
$ sdeimport –o create –t earth_at_15m –f earth –k earth_at_15m
ArcSDE 9.0 for <dbms> Mon Jul 19 16:06:36 PDT 2004
SDEX File Import Administration Utility
----------------------------------------------------------
Importing SDEX from earth.000 ...
Importing spatial column "FOOTPRINT"
Importing raster column "RASTER"
1 record read.
1 record stored.
例では、次のパラメータを使用しています。
- -o は、操作を指定します。
- -t は、出力テーブルを指定します。
- -f は、入力ファイルを指定します。
- -k は、構成キーワードを指定します。
その他の注意事項
DBMS エクスポート フォーマットを使用して、大きなラスタ オブジェクトをある場所から別の場所へ移動することもできます。ArcSDE インスタンス全体を移動する場合を除いて、データのインポート時に ArcSDE メタデータ テーブルを手動で更新する必要があります。最も簡単な方法は、空のラスタ オブジェクトを作成し、そのオブジェクトのテーブルをドロップして、インポートしたテーブルと置き換えることです。
SQL Server では、データベースを分離して、そのファイル グループのファイルを別の場所にコピーすることができます。
Oracle のトランスポータブル表領域を使用すると、一連の表領域のメタデータをエクスポート ファイルにエクスポートすることができます。その際には、表領域に関連付けられたデータ ファイルとエクスポート ファイルが新しい場所にコピーされ、エクスポート ファイルがインポートされます。エクスポートとコピーを実行する際、テーブルは読み取り専用モードでなければなりません。また、パラメータ ファイルを使用する必要もあります。