[データ格納タイプの移行 (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_Raster 格納タイプでは、SQL を使用してラスター データにアクセスできます。ラスター データが BLOB、LONG RAW、IMAGE、BINARY、または BYTEA フィールドに格納されている場合は、SQL を使用してラスター データに容易にアクセスすることができません。
将来のリリースでサポートされない可能性のあるタイプからの移行
Oracle は、LONG RAW データ タイプではなく、BLOB または BFILE データ タイプを自社のデータベースで使用することを推奨しています。LONG RAW 列はまだサポートされていますが、現在使用している Oracle のジオデータベースに LONG RAW の属性、ジオメトリ、またはラスター フィールドがある場合は、これらがサポートされなくなるときに備えて、別の形式に移行しておく必要があります。
ジオデータベースへの属性、ジオメトリ、およびラスター列の格納は、構成パラメーター ATTRIBUTE_BINARY、GEOMETRY_STORAGE、および RASTER_STORAGE でそれぞれ制御されます。ジオデータベース内の DEFAULTS コンフィグレーション キーワードにおけるこれらのパラメーターのデフォルト値は、ジオデータベースの作成時に使用した ArcGIS のバージョンによって異なります。Oracle のジオデータベースの 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 |
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 タイプでサポートされている地理座標系のいずれかに含まれるデータが必要です。