アタッチメント照合テーブルの作成 (Generate Attachment Match Table) (データ管理)

使用法

  • このツールは、入力ターゲット データセットの各行を評価して、[キー フィールド] パラメーター値を [入力フォルダー] パラメーター値にある、サポート対象メディア ファイルの名前と比較します。 一致が発生するごとに、入力データセットの ObjectID 値および一致したファイルの名前 (または、ファイルの絶対パス) を含むレコードが、出力テーブルに作成されます。 [アタッチメントの追加 (Add Attachments)] および [アタッチメントの削除 (Remove Attachments)] ツールで使用される場合は、MATCHID フィールドがキー フィールドとして使用され、ディスク上のファイルを入力データセットのレコードにリンクします。

  • [出力照合テーブル] パラメーター値がフォルダーの場合、出力は、拡張子 .dbf 付きの名前を指定して dBASE テーブルとして作成することができます。 出力場所がジオデータベースの場合、照合テーブルはジオデータベース テーブルになります (拡張子を指定しないでください)。

パラメーター

ラベル説明データ タイプ
入力データセット

ファイルが添付されるレコードを含むデータセット。

Table View
入力フォルダー

添付するファイルを含むフォルダー。

Folder
出力照合テーブル

MATCHID および FILENAME フィールドを含む出力照合テーブル。

Table
キー フィールド

入力フォルダーのファイルの名前と照合するための値が格納されたフィールド。 照合すると、ファイル拡張子を無視して、フィールド値が各ファイル名と比較されます。 これにより、入力データセットの 1 つのレコードに対して、拡張子が異なる複数のファイルを照合できます。

たとえば、[一致パターン] パラメーター値が [正確] の場合は、lot5986 のフィールド値を lot5986.jpg というファイルと照合します。

Field
入力データ フィルター
(オプション)

照合を行うファイルを制限するために使用されるデータ フィルター。

ワイルド カード (*) を使用すると、より柔軟なフィルター オプションを指定できます。 セミコロンで区切って複数のフィルターを指定することもできます。

たとえば、さまざまなファイル タイプの入力ディレクトリがあります。 照合の対象を .jpg ファイルに制限するには、値として「*.jpg」を使用します。 照合の対象を .pdf ファイルと .doc ファイルに制限するには、値として「*.pdf; *.doc」を使用します。

照合の対象を名前に arc というテキストを含むファイル名に制限するには、値として「*arc*」を使用します。

String
相対パスで保存
(オプション)

出力照合テーブルの FILENAME フィールドに、絶対パスを格納するか、ファイル名のみを格納するかを指定します。

  • オン - フィールドにはファイル名のみ (相対パス) が格納されます。 これがデフォルトです。
  • オフ - フィールドにはデータの絶対パスが格納されます。

Boolean
一致パターン
(オプション)

ファイル名を、指定した [キー フィールド] パラメーター値と照合するために使用される一致パターンのタイプを指定します。

  • 正確キー フィールドの値と正確に一致するファイル名が照合されます。 これがデフォルトです。
  • 接頭辞ファイル名の先頭にキー フィールドの値を持つファイル名が照合されます。
  • 接尾辞ファイル名の末尾にキー フィールドの値を持つファイル名が照合されます。
  • すべてファイル名のどこかにキー フィールドの値を持つファイル名が照合されます。
String

arcpy.management.GenerateAttachmentMatchTable(in_dataset, in_folder, out_match_table, in_key_field, {in_file_filter}, {in_use_relative_paths}, {match_pattern})
名前説明データ タイプ
in_dataset

ファイルが添付されるレコードを含むデータセット。

Table View
in_folder

添付するファイルを含むフォルダー。

Folder
out_match_table

MATCHID および FILENAME フィールドを含む出力照合テーブル。

Table
in_key_field

入力フォルダーのファイルの名前と照合するための値が格納されたフィールド。 照合すると、ファイル拡張子を無視して、フィールド値が各ファイル名と比較されます。 これにより、入力データセットの 1 つのレコードに対して、拡張子が異なる複数のファイルを照合できます。

たとえば、match_pattern パラメーター値が EXACT の場合は、lot5986 のフィールド値を lot5986.jpg というファイルと照合します。

Field
in_file_filter
(オプション)

照合を行うファイルを制限するために使用されるデータ フィルター。

ワイルド カード (*) を使用すると、より柔軟なフィルター オプションを指定できます。 セミコロンで区切って複数のフィルターを指定することもできます。

たとえば、さまざまなファイル タイプの入力ディレクトリがあります。 照合の対象を .jpg ファイルに制限するには、値として「*.jpg」を使用します。 照合の対象を .pdf ファイルと .doc ファイルに制限するには、値として「*.pdf; *.doc」を使用します。

照合の対象を名前に arc というテキストを含むファイル名に制限するには、値として「*arc*」を使用します。

String
in_use_relative_paths
(オプション)

出力照合テーブルの FILENAME フィールドに、絶対パスを格納するか、ファイル名のみを格納するかを指定します。

  • RELATIVEフィールドにはファイル名のみ (相対パス) が格納されます。 これがデフォルトです。
  • ABSOLUTEフィールドには絶対パスが格納されます。
Boolean
match_pattern
(オプション)

ファイル名を、指定した key_field パラメーター値と照合するために使用される一致パターンのタイプを指定します。

  • EXACTキー フィールドの値と正確に一致するファイル名が照合されます。 これがデフォルトです。
  • PREFIXファイル名の先頭にキー フィールドの値を持つファイル名が照合されます。
  • SUFFIXファイル名の末尾にキー フィールドの値を持つファイル名が照合されます。
  • ANYファイル名のどこかにキー フィールドの値を持つファイル名が照合されます。
String

コードのサンプル

GenerateAttachmentMatchTable の例 1 (Python ウィンドウ)

次のコード スニペットは、Python ウィンドウで GenerateAttachmentMatchTable 関数を使用する方法を示しています。

import arcpy
arcpy.management.GenerateAttachmentMatchTable(
    "C:/data/parcels.gdb/parcels",
    "C:/attachment_folder",
    "C:/data/temp.gdb/matchtable",
    "AttachmentKeyField",
    "*.jpg; *.pdf",
    "ABSOLUTE",
    "EXACT")
GenerateAttachmentMatchTable の例 2 (スタンドアロン スクリプト)

次のスタンドアロン スクリプトは、GenerateAttachmentMatchTable 関数を使用して、.jpg ファイルと .pdf ファイルの一致のみを含む照合テーブルを作成する方法を示しています。

# Name: GenerateAttachmentMatchTable_Example.py
# Description: Create an attachment match table for all files that contain the string
# 'property' and are of type 'jpg' while looping through multiple folders.

# Import system modules
import arcpy
import os

# Set local variables.
rootFolder = 'c:/work/'

for folder in os.walk(rootFolder):
    # Exclude file geodatabases from the folder list.
    if folder[0].find('.gdb') == -1:
        arcpy.management.GenerateAttachmentMatchTable(
            "C:/data/parcels.gdb/parcels", folder[0], 
            "C:/data/temp.gdb/matchtable", "AttachmentKeyField", 
            "*property*.jpg", "RELATIVE", "EXACT")

環境

このツールは、ジオプロセシング環境を使用しません。

関連トピック