ArcGIS for Desktop

  • ドキュメント
  • 価格
  • サポート

  • My Profile
  • ヘルプ
  • Sign Out
ArcGIS for Desktop

ArcGIS Online

組織のマッピング プラットフォーム

ArcGIS for Desktop

完全なプロ仕様の GIS

ArcGIS for Server

エンタープライズ GIS

ArcGIS for Developers

位置情報利用アプリの開発ツール

ArcGIS Solutions

各種業界向けの無料のテンプレート マップおよびテンプレート アプリケーション

ArcGIS Marketplace

組織で使えるアプリとデータを取得

  • ドキュメント
  • 価格
  • サポート
Esri
  • サイン イン
user
  • マイ プロフィール
  • サイン アウト

ヘルプ

  • ホーム
  • はじめに
  • マップ
  • 解析
  • データ管理
  • ツール
  • その他...

アタッチメントの追加 (Add Attachments)

  • サマリ
  • 図
  • 使用法
  • 構文
  • コードのサンプル
  • 環境
  • ライセンス情報

サマリ

ジオデータベース フィーチャクラスまたはテーブルのレコードに、ファイル アタッチメントを追加します。ジオデータベースの内部では、アタッチメントはターゲット データセットへのリンクを保持する独立したアタッチメント テーブルに格納されます。入力レコード (またはレコードの属性グループ) ごとに、アタッチメントとしてレコードに追加するファイルのパスを指定する照合テーブルを使用して、アタッチメントがターゲット データセットに追加されます。

ジオデータベース アタッチメントの詳細

アタッチメント ジオプロセシング ツールの操作の詳細

図

[アタッチメントの追加 (Add Attachments)] の図
[アタッチメントの追加 (Add Attachments)] の図

使用法

  • このツールを使用してアタッチメントを追加する前に、[アタッチメントの有効化 (Enable Attachments)] ツールを使用してアタッチメントを有効にする必要があります。

  • このツールを使用して追加されるアタッチメントは、内部的な処理としてジオデータベースにコピーされます。元のアタッチメント ファイルは何も影響を受けません。元のファイルが変更された場合、これらの変更はジオデータベースのアタッチメントに自動では反映されません。ジオデータベースに対して変更を同期するには、[アタッチメントの削除 (Remove Attachments)] ツールを使用して影響を受けるアタッチメントを削除し、変更されたファイルを新しいアタッチメントとしてもう一度追加します。

  • 追加するアタッチメントのパスを表すフィールドが [入力データセット] にすでに含まれているときに、別の [照合テーブル] を使用しない場合は、[入力データセット] と [照合テーブル] の両方に同じデータセットを指定します。ツールは両方の結合フィールドの Object ID フィールドを自動的に選択し、入力のどのフィールドにアタッチメント ファイルのパスが含まれているかを指定することができます。

  • 1 つのフィーチャクラスまたはテーブルのレコードに、複数のファイルをアタッチすることができます。この場合は、その入力 ID に対して [照合テーブル] に複数のレコードを含めるようにします (たとえば、レコード 1 では InputID を 1、パス名を pic1a.jpg とし、レコード 2 では InputID を 1、パス名を pic1b.jpg とします)。

構文

AddAttachments_management (in_dataset, in_join_field, in_match_table, in_match_join_field, in_match_path_field, {in_working_folder})
パラメータ説明データ タイプ
in_dataset

アタッチメントを追加するジオデータベース テーブルまたはフィーチャクラス。アタッチメントはこのテーブルに直接追加されません。入力データセットへのリンクを保持する関連アタッチメント テーブルに追加されます。

入力データセットはバージョン 10.0 以降のジオデータベースに格納される必要があります。また、テーブルでアタッチメントが有効になっている必要もあります。

Table View
in_join_field

[照合結合フィールド] の値に一致する値を含む [入力データセット] のフィールド。[入力データセット] と [照合テーブル] の間で一致する結合フィールド値を持つレコードにアタッチメントが追加されます。このフィールドには、Object ID フィールドまたはその他の個別属性を指定できます。

Field
in_match_table

アタッチメントが追加される入力レコードと、これらのアタッチメントのパスを識別するテーブル。

Table View
in_match_join_field

指定したアタッチメントを追加する [入力データセット] 内のレコードを識別する照合テーブルのフィールド。このフィールドには、[入力データセット] の Object ID やその他の個別属性に一致する値を指定できます。

Field
in_match_path_field

[入力データセット] レコードに追加するアタッチメントのパスを含む照合テーブルのフィールド。

Field
in_working_folder
(オプション)

アタッチメント ファイルを集中管理するフォルダーまたはワークスペース。作業フォルダーを指定すると、[照合パス フィールド] のパスに作業フォルダーを基準にして短いファイル名を指定できます。

たとえば、C:\MyPictures\image1.jpg および C:\MyPictures\image2.jpg というパスのアタッチメントを読み込んでいる場合、[作業フォルダー] に C:\MyPictures を設定すると、[照合パス フィールド] に image1.jpg および image2.jpg という短い名前を、長い絶対パスの代わりに指定することができます。

Folder

コードのサンプル

AddAttachments (アタッチメントの追加) の例 (Python ウィンドウ)

次のコード スニペットは、Python ウィンドウで AddAttachments (アタッチメントの追加) ツールを使用する方法を示しています。

import arcpy
arcpy.AddAttachments_management(r"C:\Data\City.gdb\Parcels", "ParcelID", r"C:\Data\matchtable.csv", "ParcelID","Picture" , r"C:\Pictures")
AddAttachments (アタッチメントの追加) の例 (スタンドアロン Python スクリプト)

次のスクリプトは、スタンドアロン スクリプトで AddAttachments (アタッチメントの追加) ツールを使用する方法を示しています。

"""
Example: we have a folder of digital photographs of vacant homes; the photos
are named according to the ParcelID of the house in the picture. Let's add
these photos to a parcel feature class as attachments.
"""

import csv
import arcpy
import os
import sys

input = r"C:\Data\City.gdb\Parcels"
inputField = "ParcelID"
matchTable = r"C:\Data\matchtable.csv"
matchField = "ParcelID"
pathField = "Picture" 
picFolder = r"C:\Pictures"

try:
    # create a new Match Table csv file
    writer = csv.writer(open(matchTable, "wb"), delimiter=",")

    # write a header row (the table will have two columns: ParcelID and Picture)
    writer.writerow([matchField, pathField])

    # iterate through each picture in the directory and write a row to the table
    for file in os.listdir(picFolder):
        if str(file).find(".jpg") > -1:
            writer.writerow([str(file).replace(".jpg", ""), file])

    del writer

    # the input feature class must first be GDB attachments enabled
    arcpy.EnableAttachments_management(input)

    # use the match table with the Add Attachments tool
    arcpy.AddAttachments_management(input, inputField, matchTable, matchField, pathField, picFolder)
except Exception as err:
    print(err.args[0])

環境

  • 現在のワークスペース

ライセンス情報

  • ArcGIS for Desktop Basic: ×
  • ArcGIS for Desktop Standard: ○
  • ArcGIS for Desktop Advanced: ○

関連トピック

  • アタッチメント ツールセットの概要
  • アタッチメント ジオプロセシング ツールの操作
このトピックへのフィードバック

ArcGIS for Desktop

  • ホーム
  • ドキュメント
  • 価格
  • サポート

ArcGIS プラットフォーム

  • ArcGIS Online
  • ArcGIS for Desktop
  • ArcGIS for Server
  • ArcGIS for Developers
  • ArcGIS Solutions
  • ArcGIS Marketplace

Esri について

  • 会社概要
  • 採用情報
  • スタッフ ブログ
  • ユーザ カンファレンス
  • デベロッパ サミット
Esri
© Copyright 2016 Environmental Systems Research Institute, Inc. | プライバシー | リーガル