日本語

[アペンド (Append)] ツールを使用してアタッチメントを含んでいるフィーチャクラスを結合するときに、すべてのアタッチメントを維持する方法

概要

アタッチメントを含んでいる複数のフィーチャクラスを一緒にマージしたときに、それらのアタッチメントが削除され、新しいマージされたフィーチャクラスに持ち越されない場合があります。 以下の手順では、[アペンド (Append)] ツールを使用してアタッチメントを含んでいる複数のフィーチャクラスを一緒にマージすると同時に、新しくマージされたフィーチャクラス内ですべてのアタッチメントを維持する方法について説明します。

手順

注意:
下の手順は、ArcGIS for Desktop 10.1 ~ 10.4 に適用できます。 ArcGIS Desktop 10.5 以降、[アタッチメントの保持] 環境設定が [アペンド (Append)] ツールに導入されました。この環境設定によって、このツールを使用するときにアタッチメントをコピーできます。 詳細については、ドキュメント「10.5 バージョンのアペンド (Append) ツール」をご参照ください。 
  1. ArcCatalog で、両方のフィーチャクラスを同じジオデータベースにコピーします。 両方のフィーチャクラスのアタッチメント テーブルおよびリレーションシップ クラスも必ずコピーします。
Image of the Roads and Trails feature classes in the Zion geodatabase
  1. ArcMap を開き、両方のフィーチャクラスおよびアタッチメント テーブルを読み込みます。
  2. 両方のフィーチャクラスの属性テーブルに、GID_SAVE という名前のフィールドを追加します。 タイプを、長さが 100[テキスト] として設定します。
  3. 両方のフィーチャクラスについて、編集セッションを開始し、[フィールド演算] を使用して GlobalID フィールドのデータを GID_SAVE フィールドに入力します。
  4. 他のフィーチャクラスからすべてのフィーチャをコピーするためのターゲットして、1 つのフィーチャクラスおよび選択したフィーチャクラスの対応するアタッチメント テーブルを選択します。 そのための手順は次のとおりです。
    1. [ツール] ツールバーで [フィーチャの選択] Image of the Select Features icon アイコンをクリックし、フィーチャクラスからターゲット フィーチャクラスにコピーするすべてのフィーチャを選択して、[コピー] をクリックします。
    2. [選択解除] Image of the Clear Selected Features icon アイコンをクリックして選択を解除します。
    3. マップを右クリックして、[貼り付け] をクリックします。
    4. [貼り付け] ダイアログ ボックスでターゲット フィーチャクラスを選択し、[OK] をクリックします。
Image of the Paste dialog box
  1. [編集の保存] をクリックして編集セッションを終了します。
  2. [アペンド (Append)] ツールを使用して、アタッチメント テーブルを一緒に追加します。 [ターゲット データセット] には、ステップ 5 で選択したアタッチメント テーブルを使用し、[入力データセット] には、その他のアタッチメント テーブルを使用します。 [スキーマ タイプ][NO_TEST] に設定します。 [OK] をクリックしてツールを実行します。
Image of the Append tool dialog box

Image of the appended table
  1. テーブルが選択したターゲット アタッチメント テーブルに追加されたら、[コンテンツ] ウィンドウ内のテーブルを右クリックして、[テーブルの結合とリレート][結合] の順にクリックします。 下に示した手順に従って、[結合] ダイアログ内のフィールドに入力します。
    1. [結合に利用する値を持つフィールド] オプションの 1 番目のドロップダウン リストから [REL_GLOBALID] を選択します。
    2. [結合対象レイヤーまたはテーブル] オプションの 2 番目のドロップダウン リストから、ステップ 5 でフィーチャのコピー先になったフィーチャクラスを選択します。
    3. [結合のマッチングに利用するフィールド] オプションの 3 番目のドロップダウン リストから [GID_SAVE] を選択します。
    4. [結合オプション] の見出しの下で [すべてのレコードを保持] を選択し、[OK] をクリックします。
Image of the Join Data dialog box
注意:
これで、コピーされたレコードが元の [GlobalID] フィールドを介して元のアタッチメントに再び結合されました。
  1. 別の編集セッションを開始し、結合されたアタッチメント テーブル内で [フィールド演算] を使用して、式 REL_GLOBALID = [GLOBALID] を用い、すべてのレコードについて、REL_GLOBALID フィールドを結合されたフィーチャクラス テーブルの GLOBALID フィールドと同じにします。
  2. 編集結果を保存し、編集セッションを終了します。 これで、すべてのアタッチメントが結合されたフィーチャクラスに持ち越されました。
注意:
ステップ 10 の後に、GID_SAVE フィールドが必要なくなったため、必要に応じてこのフィールドをフィーチャクラスから削除できます。

関連情報