[データ格納タイプの移行 (Migrate Storage)] ジオプロセシング ツールを使用して、既存のバイナリ、空間、またはラスター列を格納タイプ間で移行することができます。この処理を実行するには、データ変換先の新しい格納タイプに設定された ATTRBUTE_BINARY、GEOMETRY_STORAGE、または RASTER_STORAGE パラメーターを含むコンフィグレーション キーワードを指定します。
[データ格納タイプの移行 (Migrate Storage)] ジオプロセシング ツールを使用して、SQL Server のジオデータベース内のパラメトリック オブジェクトやサーフェス パッチのジオメトリ属性の格納形式を変更することもできます。
正しいパラメーターと値が含まれるようにコンフィグレーション キーワードを作成することが重要です。不正確な情報を含むキーワードや情報が欠落しているキーワードを指定すると、その情報が 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 のインストール」をご参照ください。
データ移行の理由
データを移行する理由は以下のとおりです。
- SQL (Structured Query Language) を使用して空間データやラスター データにアクセスするため
- 今後サポートされなくなる可能性のあるデータ タイプから、サポートされているデータ タイプに移行するため
- ジオメトリ属性情報を SQL Server のサイド テーブルからベース テーブルの列に移行して、パーセル ファブリックのパフォーマンスを向上させるため
SQL を使用したデータへのアクセス
SQL によってジオデータベースの情報にアクセスすれば、ジオデータベースによって管理される表形式データを (ArcObjects 環境で開発されていない) 外部アプリケーションから操作できます。これらのアプリケーションからジオデータベース内の空間データまたはラスター データにアクセスする必要がある場合は、空間データまたはラスター データを SQL アクセスが可能なデータ タイプで格納する必要があります。たとえば、ST_Geometry 格納タイプでは、SQL を使用してフィーチャ データにアクセスできます。フィーチャ データが BLOB または LONG RAW フィールドに格納されている場合は、SQL を使用してデータに容易にアクセスすることができません。
将来のリリースでサポートされない可能性のあるタイプからの移行
SQL Server の ArcGIS 10.1 以降のジオデータベース内に作成されたフィーチャクラスでは、デフォルトで Microsoft ジオメトリ タイプが使用されます。既存のフィーチャクラスをジオメトリ格納タイプに移行するには、[データ格納タイプの移行 (Migrate Storage)] ジオプロセシング ツールまたは Python スクリプトを使用します。
パフォーマンス向上のためのジオメトリ属性の移動
ArcGIS 10.5 からは、パラメトリック オブジェクト (トゥルー カーブなど) とサーフェス パッチ (pointID やマルチパッチなど) のジオメトリ属性の格納が向上し、ビジネス テーブルに直接格納されるようになりました。 以前のリリースでは、この属性データはビジネス テーブルと結合された関連テーブルに格納されていました。この結合によってパフォーマンスが低下し、パーセル ファブリックの操作中に通知がよく表示されていました。
既存のフィーチャクラスがパーセル ファブリックを使用したり、トゥルー カーブ、マルチパッチ、または pointID を格納したりするときに、表示パフォーマンスが低下する場合には、これらのジオメトリ属性の格納を移行することを検討してください。既存のフィーチャクラスでサポートされている移行パスは、次のとおりです。
- 格納タイプが Microsoft Geometry で、引き続き Geometry タイプを使用する場合。
ジオメトリ属性を関連テーブルから、フィーチャクラスのビジネス テーブルの新しい列に移行するには、GEOMETRY_STORAGE パラメーターが Geometry に設定されているコンフィグレーション キーワードを指定し、[データ格納タイプの移行 (Migrate Storage)] ツールを実行します。
- 格納タイプが Microsoft Geography で、引き続き Geography タイプを使用する場合。
ジオメトリ属性を関連テーブルから、フィーチャクラスのビジネス テーブルの新しい列に移行するには、GEOMETRY_STORAGE パラメーターが Geography に設定されているコンフィグレーション キーワードを指定し、[データ格納タイプの移行 (Migrate Storage)] ツールを実行します。
- 格納タイプが SDEBINARY で、Microsoft Geometry タイプに移行する場合。この場合は、GEOMETRY_STORAGE パラメーターが Geometry に設定されているコンフィグレーション キーワードを指定し、[データ格納タイプの移行 (Migrate Storage)] ツールを実行します。これにより、空間データ タイプとジオメトリ属性の両方が新しい格納形式に移行します。
この場合は、GEOMETRY_STORAGE パラメーターが Geography に設定されているコンフィグレーション キーワードを指定し、[データ格納タイプの移行 (Migrate Storage)] ツールを実行します。これにより、ジオメトリ属性が新しい格納形式に移行します。
- 格納タイプが SDEBINARY で、Geography タイプに移行する場合。
この場合は、GEOMETRY_STORAGE パラメーターが Geography に設定されているコンフィグレーション キーワードを指定し、[データ格納タイプの移行 (Migrate Storage)] ツールを実行します。これにより、空間データ タイプとジオメトリ属性の両方が新しい格納形式に移行します。
移行の前提条件
データを変換するには、次の条件が満たされている必要があります。
- データを移行する前に、データのバックアップを作成します。
- 空間列データ タイプを変換する場合は、データを高精度で格納する必要があります。データが現在、低精度で格納されている場合は、最初にデータを高精度に移行してから、格納タイプを移行します。高精度にアップグレードするには、[空間参照の更新 (Upgrade Spatial Reference)] ジオプロセシング ツールを使用します。
- テーブルまたはフィーチャクラスをジオデータベースに登録する必要があります。
- データ タイプの移行時に指定するコンフィグレーション キーワードでは、GEOMETRY_STORAGE、ATTRIBUTE_BINARY、または RASTER_STORAGE パラメーターに正しい値を入力する必要があります。たとえば、LONG RAW ジオメトリ列を ST_GEOMETRY に移行する場合に、指定したキーワードで GEOMETRY_STORAGE パラメーターが SDO_GEOMETRY に設定されていると、このパスはサポートされている移行パスではないため、移行に失敗します。
- 移行中の列が含まれているテーブルの所有者としてログインしている必要があります。
- フィーチャクラスを SQL Server の GEOGRAPHY タイプに移行するには、GEOGRAPHY タイプでサポートされている地理座標系のいずれかに含まれるデータが必要です。