[データ格納タイプの移行 (Migrate Storage)] ジオプロセシング ツールを使用して、既存のバイナリ、空間、またはラスター列を格納タイプ間で移行することができます。この処理を実行するには、データ変換先の新しい格納タイプに設定された ATTRBUTE_BINARY、GEOMETRY_STORAGE、または RASTER_STORAGE パラメーターを含むコンフィグレーション キーワードを指定します。
正しいパラメーターと値が含まれるようにコンフィグレーション キーワードを作成することが重要です。不正確な情報を含むキーワードや情報が欠落しているキーワードを指定すると、その情報が DEFAULTS キーワードから読み取られます。移行専用のカスタム キーワードを作成することをお勧めします。 キーワードには、データの移行先のパラメーターと値だけでなく、UI_TEXT パラメーターも含めるようにしてください。UI_TEXT パラメーターにより、キーワードが ArcGIS クライアントで利用できるようになります。
各 DBMS (データベース管理システム) でサポートされている移行パスを次に示します。
データベース管理システム | コンフィグレーション パラメーター | 移行元/移行先 |
---|---|---|
Oracle | ATTRIBUTE_BINARY | LONG RAW → BLOB |
GEOMETRY_STORAGE | LONG RAW (SDEBINARY) → BLOB (SDELOB) | |
LONG RAW (SDEBINARY) → ST_GEOMETRY | ||
BLOB (SDELOB) → ST_GEOMETRY | ||
SDO_GEOMETRY → ST_GEOMETRY | ||
RASTER_STORAGE | LONG RAW → BLOB | |
LONG RAW → ST_RASTER* | ||
BLOB → ST_RASTER* | ||
PostgreSQL | RASTER_STORAGE | BYTEA → ST_RASTER* |
SQL Server | RASTER_STORAGE | IMAGE → ST_RASTER* |
GEOMETRY_STORAGE | SDEBINARY → GEOMETRY | |
SDEBINARY → GEOGRAPHY | ||
OGCWKB → GEOMETRY | ||
OGCWKB → GEOGRAPHY |
*ST_Raster は、ジオデータベースにインストールする必要があります。手順については、「Oracle での ST_Raster のインストール」、「PostgreSQL での ST_Raster のインストール」、または「SQL Server での ST_Raster のインストール」をご参照ください。
データを移行する理由
データを移行する理由としては、次の 2 つがあります。
- SQL (Structured Query Language) を使用して空間データやラスター データにアクセスするため
- 今後サポートされなくなる可能性のあるデータ タイプから、サポートされているデータ タイプに移行するため
SQL を使用したデータへのアクセス
SQL によってジオデータベースの情報にアクセスすれば、ジオデータベースによって管理される表形式データを (ArcObjects 環境で開発されていない) 外部アプリケーションから操作できます。これらのアプリケーションからジオデータベース内の空間データまたはラスター データにアクセスする必要がある場合は、空間データまたはラスター データを SQL アクセスが可能なデータ タイプで格納する必要があります。たとえば、ST_Geometry 格納タイプでは、SQL を使用してフィーチャ データにアクセスできます。フィーチャ データが BLOB または LONG RAW フィールドに格納されている場合は、SQL を使用してデータに容易にアクセスすることができません。
将来のリリースでサポートされない可能性のあるタイプからの移行
Oracle は、LONG RAW データ タイプではなく、BLOB または BFILE データ タイプを自社のデータベースで使用することを推奨しています。LONG RAW 列はまだサポートされていますが、現在使用している Oracle のジオデータベースに LONG RAW の属性、ジオメトリ、またはラスター フィールドがある場合は、これらがサポートされなくなるときに備えて、別の形式に移行しておく必要があります。
ジオデータベースへの属性、ジオメトリ、およびラスター列の格納は、構成パラメーター ATTRIBUTE_BINARY、GEOMETRY_STORAGE、および RASTER_STORAGE でそれぞれ制御されます。ArcGIS 9.2 以前で Oracle にジオデータベースを作成した場合、その時点では LONG RAW データ タイプがデフォルトのタイプだったため、これらのパラメーターは LONG RAW データ タイプを使用するように設定されている可能性があります。
Oracle のジオデータベースが (ArcGIS 9.2 以前からのアップグレードでない) 新規の ArcGIS 9.3 以降で作成されている場合、作成するデータで LONG RAW 格納タイプが使用されません。ただし、作成時にこれらのパラメーターの一部またはすべてが LONG RAW に設定されている既存のデータやこれらのパラメーターが LONG RAW に設定されているアップグレード済みのジオデータベース内のデータには、まだ LONG RAW 列が含まれます。これらの列のデータ タイプを変更するには、コンフィグレーション キーワードの設定を変更してデータを移行する必要があります。
SQL Server の ArcGIS 10.1 以降のジオデータベース内に作成されたフィーチャクラスでは、デフォルトで Microsoft ジオメトリ タイプが使用されます。既存のフィーチャクラスをジオメトリ格納タイプに移行するには、[データ格納タイプの移行 (Migrate Storage)] ジオプロセシング ツールまたは Python スクリプトを使用します。
移行する前に
データを変換するには、次の条件が満たされている必要があります。
- データを移行する前に、データのバックアップを作成します。
- 空間列データ タイプを変換する場合は、データを高精度で格納する必要があります。データが現在、低精度で格納されている場合は、最初にデータを高精度に移行してから、格納タイプを移行します。高精度にアップグレードするには、[空間参照の更新 (Upgrade Spatial Reference)] ジオプロセシング ツールを使用します。
- テーブルまたはフィーチャクラスをジオデータベースに登録する必要があります。
- データ タイプの移行時に指定するコンフィグレーション キーワードでは、GEOMETRY_STORAGE、ATTRIBUTE_BINARY、または RASTER_STORAGE パラメーターに正しい値を入力する必要があります。たとえば、LONG RAW ジオメトリ列を ST_GEOMETRY に移行する場合に、指定したキーワードで GEOMETRY_STORAGE パラメーターが SDO_GEOMETRY に設定されていると、このパスはサポートされている移行パスではないため、移行に失敗します。
- 移行中の列が含まれているテーブルの所有者としてログインしている必要があります。
- フィーチャクラスを SQL Server の GEOGRAPHY タイプに移行するには、GEOGRAPHY タイプでサポートされている地理座標系のいずれかに含まれるデータが必要です。