日本語

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

概要

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

手順

注意: 下の手順は、ArcGIS for Desktop 10.1 ~ 10.4 に適用できます。 ArcGIS Desktop 10.5 以降、[アタッチメントの保持] 環境設定が [アペンド (Append)] ツールに導入されました。この環境設定によって、このツールを使用するときにアタッチメントをコピーできます。 詳細については、バージョン 10.5 の「ArcMap: アペンド (Append)」をご参照ください。
  1. ArcCatalog で、両方のフィーチャクラスを同じジオデータベースにコピーします。 両方のフィーチャクラスのアタッチメント テーブルおよびリレーションシップ クラスも必ずコピーします。
Zion ジオデータベース内の道路および山道フィーチャクラスの画像
  1. ArcMap を開き、両方のフィーチャクラスおよびアタッチメント テーブルを読み込みます。
  2. 両方のフィーチャクラスの属性テーブルに、GID_SAVE という名前のフィールドを追加します。 タイプを、長さが 100[テキスト] として設定します。
  3. [フィールド演算] を使用し、両方のフィーチャクラスの [GlobalID] フィールドから [GID_SAVE] フィールドに入力します。
    1. 目的のフィーチャクラスを右クリックし、[フィーチャの編集][編集の開始] の順にクリックします。
[編集の開始] の画像
  1. [GID_SAVE] 列を右クリックし、[フィールド演算] をクリックします。
[フィールド演算] の画像
  1. [フィールド] セクションで [GlobalID] を選択してダブルクリックします。 条件式は「GID_SAVE = [GlobalID]」として指定します。
[フィールド演算] の条件式の画像。
[フィールド演算] の条件式の画像。
  1. 他のフィーチャクラスからすべてのフィーチャをコピーするためのターゲットして、1 つのフィーチャクラスおよび選択したフィーチャクラスの対応するアタッチメント テーブルを選択します。 そのための手順は次のとおりです。
    1. [ツール] ツールバーで [フィーチャの選択][フィーチャの選択] アイコンの画像 アイコンをクリックし、フィーチャクラスからターゲット フィーチャクラスにコピーするすべてのフィーチャを選択して、[コピー] をクリックします。
    2. [選択解除][選択解除] アイコンの画像 アイコンをクリックして選択を解除します。
    3. マップを右クリックし、[貼り付け] をクリックします。
    4. [貼り付け] ダイアログ ボックスでターゲット フィーチャクラスを選択し、[OK] をクリックします。
[貼り付け] ダイアログ ボックスの画像
  1. [編集の保存] をクリックして編集セッションを終了します。
  2. [アペンド (Append)] ツールを使用して、アタッチメント テーブルを追加します。 [ターゲット データセット] には、ステップ 5 で選択したアタッチメント テーブルを使用し、[入力データセット] には、その他のアタッチメント テーブルを使用します。 [スキーマ タイプ][NO_TEST] に設定します。 [OK] をクリックしてツールを実行します。
[アペンド (Append)] ツールのダイアログ ボックスの画像
追加されたテーブルの画像
  1. テーブルが選択したターゲット アタッチメント テーブルに追加されたら、[コンテンツ] ウィンドウ内のテーブルを右クリックして、[テーブルの結合とリレート][結合] の順にクリックします。 下に示した手順に従って、[結合] ダイアログ ボックス内のフィールドに入力します。
    1. [結合に利用する値を持つフィールド] オプションの 1 番目のドロップダウン リストから [REL_GLOBALID] を選択します。
    2. [結合対象レイヤーまたはテーブル] オプションの 2 番目のドロップダウン リストから、ステップ 5 でフィーチャのコピー先になったフィーチャクラスを選択します。
    3. [結合のマッチングに利用するフィールド] オプションの 3 番目のドロップダウン リストから [GID_SAVE] を選択します。
    4. [結合オプション] の下で [すべてのレコードを保持] を選択し、[OK] をクリックします。
すべてのレコードを保持
注意: これで、コピーされたレコードが元の [GlobalID] フィールドを介して元のアタッチメントに再び結合されました。
  1. 別の編集セッションを開始し、結合されたアタッチメント テーブル内で [フィールド演算] を使用して、式 REL_GLOBALID = [GLOBALID] を用い、すべてのレコードについて、REL_GLOBALID フィールドを結合されたフィーチャクラス テーブルの GLOBALID フィールドと同じにします
  1. 編集結果を保存し、編集セッションを終了します。 これで、すべてのアタッチメントが結合されたフィーチャクラスに持ち越されました。
注意: ステップ 10 の後に、GID_SAVE フィールドが必要なくなったため、必要に応じてこのフィールドをフィーチャクラスから削除できます。

関連情報

更新日時: 4/19/2020

記事 ID: 000001056

ソフトウェア: ArcMap 10.8, 10.7.1, 10.7, 10.6.1, 10.6, 10.5.1, 10.5, 10.4.1, 10.4, 10.3.1, 10.3, 10.2.2, 10.2.1, 10.2, 10.1, 10