ArcGIS におけるデータベース間でのデータのコピーと貼り付け
Standard または Advanced ライセンスで利用可能。
ArcGIS Pro では、リレーショナル データベースまたはジオデータベースからテーブル、フィーチャクラス、ビュー (以下では総称してテーブルと呼ぶ) をコピーして、別のリレーショナル データベースまたはジオデータベースに貼り付けることができます。
ある場所からコピーしたテーブルを別の場所に貼り付ける場合、テーブルの属性に使用されているデータ タイプが変化する場合があります。 たとえば、Microsoft SQL Server から UniqueIdentifier フィールドを含むテーブルをコピーして、PostgreSQL データベースに貼り付けると、PostgreSQL に作成されたテーブルのフィールドは Varchar フィールドになります。
同様に、コピー先でサポートされていない属性がコピー元テーブルに含まれている場合、その属性は削除されます。 たとえば、エンタープライズ ジオデータベースから M 値を含むテーブルをコピーして、M 値に対応していないデータベースに貼り付けると、その M 値は貼り付け先のデータベースに作成されたテーブルから削除されます。
ArcGIS は、サポートしないデータ タイプや定義を貼り付けることができません。 つまり、リレーショナル データベースまたはジオデータベースに貼り付けたテーブルには、次の情報が含まれます。
ArcGIS でサポートされるデータ タイプ
ArcGIS のデータ タイプにマッピングできない列は、コピー先データベースまたはジオデータベースのテーブルに作成されません。
1 つの空間参照
コピー元テーブルに ArcGIS が認識する空間参照が定義されている場合、コピー先にあるテーブルでも同じ空間参照が使用されます。 コピー元テーブルに空間参照が定義されていない場合、ArcGIS はテーブルの最初の行の空間参照を使用します。 その空間参照を使用していないフィーチャは、コピー先にあるテーブルに含まれません。 また、コピー元テーブルで空間参照を識別できない場合 (たとえば、カスタム空間参照が使用されている場合)、コピー先テーブルで使用される空間参照は、コピー先のデータベース管理システムによって変わります。
コピー元テーブルで識別された空間参照をコピー先がサポートしていない場合、貼り付け操作に失敗します。
1 つの空間列
テーブルに複数の空間列が含まれている場合、ArcGIS は最初に見つかった空間列を使用します。追加の空間列は、コピー先テーブルに作成されません。
1 つのジオメトリー タイプ
ArcGIS は、コピー元テーブルの最初のフィーチャのジオメトリー タイプ (ポイント、ライン、ポリゴン、またはマルチポイント) を読み取ります。 最初の行のジオメトリー タイプと一致するこれらのフィーチャのみがコピー先にあるテーブルに貼り付けられます。
1 つの座標設定
ArcGIS は、コピー元テーブルの最初のフィーチャに保存されている空間座標プロパティ (xy、xyz、xym、xyzm) を読み取ります。 コピー先に作成されるテーブルのすべてのフィーチャに、コピー元テーブルの最初のフィーチャに存在する座標プロパティが設定されます。 たとえば、コピー元テーブルの最初のフィーチャに X、Y、Z 座標はあるが、M 座標はないという場合、コピー元テーブルで M 座標情報を持っていたすべてのフィーチャは、コピー先テーブルではその情報を持たなくなります。 同様に、コピー元テーブルで X、Y 座標だけを持っていたフィーチャは、コピー先テーブルでは X、Y、Z 座標を持つようになります。 これらのフィーチャの Z 座標は 0 に設定されます。
座標設定をコピー先がサポートしていない場合、貼り付け操作に失敗します。 たとえば、コピー元テーブルの最初のフィーチャに X、Y、Z、M 座標が格納されているが、コピー先が Z および M 座標をサポートしていない場合、コピー元にデータを貼り付けることはできません。
コピー元テーブルがこれらの要件を満たしていない場合、次の表に示すように、コピーする前にデータを準備できます。
|
コピー元テーブルに含まれるもの |
コピー先で使用されるものを制御 |
|---|---|
|
サポートされていないデータ タイプ |
可能であれば、サポートされていないデータ タイプをサポートされているデータ タイプに変換するコピー元テーブルにビューを定義します。 変換可能なデータ タイプは、データ タイプとデータベース管理システム タイプによって異なります。 データ ソースからビューをコピーして、コピー先に貼り付け、ArcGIS がサポートするデータ タイプを含むテーブルを作成します。 |
|
複数の空間列 |
コピー先テーブルで必要な列を含むコピー元テーブルにビューまたはクエリー レイヤーを定義します。 1 つの空間列のみを含めます。 ビューを作成する場合、データ ソースからビューをコピーして、コピー先に貼り付け、ビューに含めた空間列を含むテーブルを作成します。 コピー元テーブルにクエリー レイヤーを定義した場合、クエリー レイヤーからデータをエクスポートして、コピー先データベースまたはエンタープライズ ジオデータベースにテーブルを作成します。 |
|
複数のジオメトリー タイプ |
コピー元テーブルのクエリー レイヤーを作成し、クエリー レイヤーのジオメトリー タイプを定義します (ポイント、マルチポイント、ライン、またはポリゴン)。 クエリー レイヤーからコピー先データベースまたはエンタープライズ ジオデータベースにデータをエクスポートします。 コピー先に作成されたテーブルには、クエリー レイヤーで定義したジオメトリー タイプに一致するフィーチャだけが含まれるようになります。 |
|
複数の座標設定 |
すべての座標情報がコピー先テーブルで保持されるようにするには、コピー元テーブルのクエリー レイヤーを作成し、M 値と Z 値を含めるようその空間プロパティを定義します。 次に、クエリー レイヤーからコピー先データベースまたはエンタープライズ ジオデータベースのテーブルにデータをエクスポートします。 コピー先データベースまたはエンタープライズ ジオデータベースに作成されたテーブルのすべてのフィーチャが、クエリー レイヤーで定義した空間座標設定を使用するようになります。 |
リレーショナル データベースとジオデータベースの間でデータをコピーするには、コピーと貼り付けのメニュー機能または コピー ジオプロセシング ツールを使用します。
以下の手順では、ArcGIS Pro のコピーと貼り付けのメニュー機能を使用して、あるリレーショナル データベースまたはエンタープライズ ジオデータベースからテーブル、フィーチャクラス、またはビューをコピーして、別のデータベースまたはエンタープライズ ジオデータベースに貼り付ける方法について説明します。
- コピー元とコピー先の両方に接続します。
データ ソースには、データにアクセスできる権限を持つユーザーとして接続する必要があり、コピー先には、テーブルを作成できる権限を持つユーザーとして接続する必要があります。
必要に応じて、上記の説明に従って移動するデータを準備して、ArcGIS の要件を満たすようにします。
コピー元データベース接続のテーブル、フィーチャクラス、またはビューを右クリックし、コピー をクリックします。
カタログ ウィンドウでコピー先データベース接続を右クリックし、貼り付け をクリックします。
コピー先データベースのデータは、コピー先のデータベース接続ファイルで指定したログインによって所有されます。
ビューを貼り付けると、コピー先のデータベースまたはジオデータベースに、テーブルまたはフィーチャクラスが作成されます。
注意:
データを PostgreSQL または SQL Server データベースに貼り付けるには、コピー先データベースに接続したユーザーが、データベース ユーザー名と同じ名前のスキーマを所有している必要があります。 SQL Server では、このスキーマはユーザーのデフォルトのスキーマである必要があります。
コピー先のリレーショナル データベースまたはエンタープライズ ジオデータベースに、テーブルまたはフィーチャクラスがそのすべてのコンテンツとともに作成されます。