ArcGIS におけるデータベース間でのデータのコピーと貼り付け

Standard または Advancedのライセンスで利用可能。

ArcGIS Pro を使用して、データベースのデータをコピーし、別のデータベースまたはエンタープライズ ジオデータベースに貼り付けることができます。

あるデータベース タイプのデータを別のデータベース タイプに移動する場合、テーブルの属性に使用されているデータ タイプが変化する場合があります。たとえば、Microsoft SQL Server から UniqueIdentifier フィールドを含むテーブルをコピーして、PostgreSQL データベースに貼り付けると、そのフィールドは Varchar フィールドになります。

ArcGIS は、サポートしないデータ タイプや定義を貼り付けることができません。つまり、データベースに貼り付けたテーブルやフィーチャクラスには、次の情報が含まれます。

  • ArcGIS でサポートされるデータ タイプ

    ArcGIS のデータ タイプにマッピングできない列は、コピー先データベースのフィーチャクラスに作成されません。

  • 1 つの空間列

    ArcGIS は、フィーチャクラスに対して、最初に見つかった空間列を使用します。2 番目の空間列は、コピー先フィーチャクラスに作成されません。2 番目の空間列を使用する場合は、コピー元テーブルで、2 番目の空間列だけを持つビューまたはクエリ レイヤーを定義します。ビューを作成すると、コピー元データベースからビューをコピーして、コピー先データベースにフィーチャクラスとして貼り付けることができます。クエリ レイヤーを作成した場合、クエリ レイヤーからコピー先データベースの新しいフィーチャクラスにデータをエクスポートできます。

  • 1 つのジオメトリ タイプ

    ArcGIS は、コピー元フィーチャクラスの最初のフィーチャのジオメトリ タイプ (ポイント、ライン、ポリゴン、またはマルチポイント) を読み取ります。最初の行のジオメトリ タイプと一致するこれらのフィーチャのみがコピー先データベースのフィーチャクラスに貼り付けられます。コピー元フィーチャクラスに複数のジオメトリ タイプがあり、コピー先フィーチャクラスで使用されるジオメトリ タイプを制御したい場合は、コピー元フィーチャクラスのクエリ レイヤーを作成し、クエリ レイヤーのジオメトリ タイプを定義します。次に、クエリ レイヤーからコピー先データベースのフィーチャクラスにデータをエクスポートします。コピー先データベースに作成されたフィーチャクラスには、クエリ レイヤーで定義したジオメトリ タイプに一致するフィーチャだけが含まれるようになります。

  • 1 つの座標設定

    ArcGIS は、コピー元フィーチャクラスの最初のフィーチャに保存されている空間座標プロパティ (xy、xyz、xym、xyzm) を読み取ります。コピー先データベースに貼り付けるフィーチャクラスのフィーチャのすべてに、座標プロパティが設定されます。たとえば、コピー元フィーチャクラスの最初のフィーチャに X、Y、Z 座標はあるが、M 座標はないという場合、コピー元フィーチャクラスで M 座標情報を持っていたすべてのフィーチャは、コピー先フィーチャクラスではその情報を持たなくなります。同様に、コピー元フィーチャクラスで X、Y 座標だけを持っていたフィーチャは、コピー先フィーチャクラスでは X、Y、Z 座標を持つようになります (Z 座標は 0 に設定されます)。

    すべての座標情報がコピー先フィーチャクラスで保持されるようにするには、コピー元フィーチャクラスのクエリ レイヤーを作成し、M 値と Z 値を含めるようその空間プロパティを定義します。次に、クエリ レイヤーからコピー先データベースのフィーチャクラスにデータをエクスポートします。コピー先データベースに作成されたフィーチャクラスのすべてのフィーチャが、クエリ レイヤーで定義した空間座標設定を使用するようになります。

  • 1 つの空間参照

    コピー元フィーチャクラスに ArcGIS が認識する空間参照が定義されている場合、コピー先データベースのフィーチャクラスでも同じ空間参照が使用されます。フィーチャクラスに空間参照が定義されていない場合、ArcGIS はテーブルの最初の行の空間参照を使用します。その空間参照に一致しないレコードは、コピー先データベースのフィーチャクラスに作成されません。また、フィーチャクラスまたは最初の行で空間参照を識別できない場合 (たとえば、カスタム空間参照が使用されている場合)、コピー先フィーチャクラスで使用される空間参照は、使用しているデータベース管理システムによって変わります。

コピーと貼り付けを使用して、テーブル、フィーチャクラス、ビューをデータベース間またはジオデータベースからデータベースに移動させる手順を次に示します。

  1. コピー元データベースとコピー先データベースの両方に接続します。
  2. コピー元データベースには、コピー元データベースのデータにアクセスできる権限を持つユーザーとして接続します。また、コピー先データベースには、テーブルを作成できるデータベース権限を持つユーザーとして接続します。
  3. 必要に応じて、移動するデータを準備します。
    • 次元、ジオメトリ タイプ、または空間参照の異なるレコードを含むフィーチャクラスを移動させる場合は、テーブルをマップ上にドラッグし、1 つの次元、ジオメトリ タイプ、または空間参照を選択して、作成したクエリ レイヤーを変更します。データをコピー先データベースに移動するには、クエリ レイヤーをエクスポートします。(クエリ レイヤーをコピーおよび貼り付けることはできません)。
    • フィーチャクラスに複数の空間列がある場合、いずれかの空間列だけを含むデータベース ビューを作成し、残りの手順を実行してビューをコピーし貼り付けます。
  4. コピー元データベースのテーブル、フィーチャクラス、またはビューを右クリックし、[コピー] をクリックします。
  5. [カタログ] ウィンドウでコピー先データベースを右クリックし、[貼り付け] をクリックします。

    コピー先データベースのデータは、接続に使用したログインによって所有されます。

    メモ:

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

コピー先データベースに、新しいテーブルまたはフィーチャクラスが作成されます。