[データ格納タイプの移行 (Migrate Storage)] ジオプロセシング ツールを使用して、既存のバイナリ、空間、またはラスター列を格納タイプ間で移行することができます。これを行うには、データ変換先の新しい格納タイプに設定された ATTRBUTE_BINARY、GEOMETRY_STORAGE、または RASTER_STORAGE パラメーターを含むコンフィグレーション キーワードを指定します。
正しいパラメーターと値が含まれるようにコンフィグレーション キーワードを作成することが重要です。不正確な情報や欠落した情報のあるキーワードを指定すると、その情報が DEFAULTS キーワードから読み取られます。移行専用のカスタム キーワードを作成することをお勧めします。キーワードには、データの移行先のパラメーターと値、UI_TEXT パラメーターを含めるよう留意します。UI_TEXT パラメーターにより、キーワードは ArcGIS クライアントで利用できるようになります。
以下は、各 DBMS (データベース管理システム) でサポートされている移行パスです。
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_Raster 格納タイプを使用すると、SQL でラスター データにアクセスできます。ラスター データが BLOB、LONG RAW、IMAGE、BINARY、または BYTEA フィールドに格納されている場合は、SQL でラスター データに容易にはアクセスできません。
将来のリリースでサポートされない可能性のあるタイプからの移行
Oracle は、自社のデータベースで LONG RAW データ タイプの代わりに、BLOB または BFILE データ タイプを使用することを推奨しています。LONG RAW 列はまだサポートされていますが、現在使用している Oracle のジオデータベースに LONG RAW の属性、ジオメトリ、またはラスター フィールドがある場合は、これらがサポートされなくなるときに備えて、別の形式に移行しておく必要があります。
ジオデータベースでの属性、ジオメトリ、およびラスター列の格納は、DBTUNE パラメーターの ATTRIBUTE_BINARY、GEOMETRY_STORAGE、および RASTER_STORAGE でそれぞれ制御されます。DBTUNE DEFAULTS コンフィグレーション キーワードにおけるこれらのパラメーターのデフォルト値は、ジオデータベースの作成時に使用した ArcGIS のリリースによって異なります。次の表は、Oracle のジオデータベースの DBTUNE テーブルの DEFAULTS キーワードにおけるデフォルトの設定を示しています。
パラメーター | 9.3 以降のリリースのデフォルト | ArcGIS 9.2 のデフォルト | ArcGIS 9.2 より前のデフォルト |
---|---|---|---|
ATTRIBUTE_BINARY | BLOB | BLOB | LONG RAW |
GEOMETRY_STORAGE | ST_GEOMETRY | LONG RAW (SDEBINARY) | LONG RAW (SDEBINARY) |
RASTER_STORAGE | BLOB | LONG RAW | LONG RAW |
デフォルト パラメーター設定を使用して新しい (アップグレードされていない) 9.3 以降のリリースのジオデータベースで作成されたデータは、LONG RAW 格納タイプを使用しません。ただし、作成時にこれらのパラメーターのいずれかまたはすべてが LONG RAW に設定されている既存データ、あるいはアップグレード済みジオデータベース内でこれらのパラメーターが LONG RAW に設定されている新規データには、依然として LONG RAW 列が含まれます。これらの列のデータ タイプを変更するには、DBTUNE 設定を変更してデータを移行する必要があります。
ArcGIS 10.1 以降、SQL Server のジオデータベースで作成されたフィーチャクラスはデフォルトで 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 タイプでサポートされている地理座標系のいずれかである必要があります。
- ジオデータベースが SQL Server 2008 または 2008 R2 にある場合、SQL Server の GEOGRAPHY タイプに移行されるフィーチャクラスに、Z 座標値または M 座標値を含めることはできません。