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 値を含めるようその空間プロパティを定義します。 次に、クエリ レイヤーからコピー先データベースまたはエンタープライズ ジオデータベースのテーブルにデータをエクスポートします。 コピー先データベースまたはエンタープライズ ジオデータベースに作成されたテーブルのすべてのフィーチャが、クエリ レイヤーで定義した空間座標設定を使用するようになります。

リレーショナル データベースとジオデータベースの間でデータをコピーするには、コピーと貼り付けのメニュー機能または [コピー (Copy)] ジオプロセシング ツールを使用します。

以下の手順では、ArcGIS Pro のコピーと貼り付けのメニュー機能を使用して、あるリレーショナル データベースまたはエンタープライズ ジオデータベースからテーブル、フィーチャクラス、またはビューをコピーして、別のデータベースまたはエンタープライズ ジオデータベースに貼り付ける方法について説明します。

  1. コピー元とコピー先の両方に接続します。
  2. データ ソースには、データにアクセスできる権限を持つユーザーとして接続する必要があり、コピー先には、テーブルを作成できる権限を持つユーザーとして接続する必要があります。
  3. 必要に応じて、移動するデータを準備して、ArcGIS の要件を満たすようにします。
  4. コピー元データベース接続のテーブル、フィーチャクラス、またはビューを右クリックし、[コピー] をクリックします。
  5. [カタログ] ウィンドウでコピー先データベース接続を右クリックし、[貼り付け] をクリックします。

    コピー先データベースのデータは、コピー先のデータベース接続ファイルで指定したログインによって所有されます。

    ビューを貼り付けると、コピー先のデータベースまたはジオデータベースに、テーブルまたはフィーチャクラスが作成されます。

    注意:

    データを PostgreSQL または SQL Server データベースに貼り付けるには、コピー先データベースに接続したユーザーが、データベース ユーザー名と同じ名前のスキーマを所有している必要があります。 SQL Server では、このスキーマはユーザーのデフォルトのスキーマである必要があります。

コピー先のリレーショナル データベースまたはエンタープライズ ジオデータベースに、テーブルまたはフィーチャクラスがそのすべてのコンテンツとともに作成されます。