使用方法
语法
arcpy.management.GenerateAttachmentMatchTable(in_dataset, in_folder, out_match_table, in_key_field, {in_file_filter}, {in_use_relative_paths})
参数 | 说明 | 数据类型 |
in_dataset | 其中包含要附加文件的记录的输入数据集。 | Table View |
in_folder | 其中包含要附加的文件的文件夹。 | Folder |
out_match_table | 将生成的包含以下两列的表:MATCHID 和 FILENAME。 | Table |
in_key_field | 此字段中的值将与输入文件夹中的文件名匹配。匹配行为将忽略文件扩展名,从而使文件扩展名不同的多个文件与输入数据集中的一条记录相匹配。 例如,如果输入“关键字段”值为 lot5986,则磁盘上名为 lot5986.jpg 的文件将与此条记录匹配。 | Field |
in_file_filter (可选) | 此参数用于限制工具认为匹配的文件。如果文件名不符合文件过滤器参数中的条件,则不会被处理,因此文件也不会显示在输出匹配表中。可在此参数中使用通配符 (*) 来获得更灵活的过滤选项。也可以使用多个以分号分隔的过滤器。 以包含以下文件的目录为例:parcel.tif、parcel.doc、parcel.jpg、houses.jpg 和 report.pdf。 要将此列表中的可能匹配项限制为 .jpg 文件,则使用 *.jpg。 要将此列表中的可能匹配项限制为 .pdf 文件和 .doc 文件,则使用 *.pdf; *.doc。 要将此列表中的可能匹配项限制为以 parcel 开头的文件,则使用 parcel*。 要将此列表中的可能匹配项限制为包含文本 arc 的文件,则使用 *arc*。 | String |
in_use_relative_paths (可选) | 确定输出匹配表字段 FILENAME 是包含数据集的完整路径,还是仅为文件名。
| Boolean |
代码示例
以下代码片段说明了如何在 Python 窗口中使用 GenerateAttachmentMatchTable。
import arcpy
arcpy.GenerateAttachmentMatchTable_management("C:/data/parcels.gdb/parcels",
"C:/attachment_folder",
"C:/data/temp.gdb/matchtable",
"AttachmentKeyField",
"*.jpg; *.pdf",
"ABSOLUTE")
以下独立脚本演示了如何使用 GenerateAttachmentMatchTable 工具创建只包含 JPG 和 PDF 文件的匹配项的匹配表。
# Name: GenerateAttachmentMatchTable_Example.py
# Description: Creates 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, os
# Set local variables.
rootFolder = 'c:/work/'
for folder in os.walk(rootFolder):
if folder[0].find('.gdb') == -1: #exclude file geodatabases from the folder list.
arcpy.GenerateAttachmentMatchTable_management("C:/data/parcels.gdb/parcels",
folder[0],
"C:/data/temp.gdb/matchtable",
"AttachmentKeyField",
"*property*.jpg",
"RELATIVE")
环境
此工具不使用任何地理处理环境。
许可信息
- Basic: 否
- Standard: 是
- Advanced: 是