ラベル | 説明 | データ タイプ |
入力データセット | ファイルが添付されるレコードを含むデータセット。 | Table View |
入力フォルダー | 添付するファイルを含むフォルダー。 | Folder |
出力照合テーブル | MATCHID および FILENAME フィールドを含む出力照合テーブル。 | Table |
キー フィールド | 入力フォルダーのファイルの名前と照合するための値が格納されたフィールド。 照合すると、ファイル拡張子を無視して、フィールド値が各ファイル名と比較されます。 これにより、入力データセットの 1 つのレコードに対して、拡張子が異なる複数のファイルを照合できます。 たとえば、[一致パターン] パラメーター値が [正確] の場合は、lot5986 のフィールド値を lot5986.jpg というファイルと照合します。 | Field |
入力データ フィルター (オプション) | 照合を行うファイルを制限するために使用されるデータ フィルター。 ワイルド カード (*) を使用すると、より柔軟なフィルター オプションを指定できます。 セミコロンで区切って複数のフィルターを指定することもできます。 たとえば、さまざまなファイル タイプの入力ディレクトリがあります。 照合の対象を .jpg ファイルに制限するには、値として「*.jpg」を使用します。 照合の対象を .pdf ファイルと .doc ファイルに制限するには、値として「*.pdf; *.doc」を使用します。 照合の対象を名前に arc というテキストを含むファイル名に制限するには、値として「*arc*」を使用します。 | String |
相対パスで保存 (オプション) | 出力照合テーブルの FILENAME フィールドに、絶対パスを格納するか、ファイル名のみを格納するかを指定します。
| Boolean |
一致パターン (オプション) | ファイル名を、指定した [キー フィールド] パラメーター値と照合するために使用される一致パターンのタイプを指定します。
| String |
サマリー
[アタッチメントの追加 (Add Attachments)] および [アタッチメントの削除 (Remove Attachment)] ツールで使用する照合テーブルを作成します。
使用法
このツールは、入力ターゲット データセットの各行を評価して、[キー フィールド] パラメーター値を [入力フォルダー] パラメーター値にある、サポート対象メディア ファイルの名前と比較します。 一致が発生するごとに、入力データセットの ObjectID 値および一致したファイルの名前 (または、ファイルの絶対パス) を含むレコードが、出力テーブルに作成されます。 [アタッチメントの追加 (Add Attachments)] および [アタッチメントの削除 (Remove Attachments)] ツールで使用される場合は、MATCHID フィールドがキー フィールドとして使用され、ディスク上のファイルを入力データセットのレコードにリンクします。
[出力照合テーブル] パラメーター値がフォルダーの場合、出力は、拡張子 .dbf 付きの名前を指定して dBASE テーブルとして作成することができます。 出力場所がジオデータベースの場合、照合テーブルはジオデータベース テーブルになります (拡張子を指定しないでください)。
パラメーター
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 フィールドに、絶対パスを格納するか、ファイル名のみを格納するかを指定します。
| Boolean |
match_pattern (オプション) | ファイル名を、指定した key_field パラメーター値と照合するために使用される一致パターンのタイプを指定します。
| String |
コードのサンプル
次のコード スニペットは、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 関数を使用して、.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")