生成附件匹配表 (数据管理)

摘要

用于创建匹配表,以与添加附件移除附件工具配合使用。

了解有关使用“附件”地理处理工具的详细信息

使用情况

  • 此工具将检查输入目标数据集中的每一行,然后将此数据集中的关键字段输入文件夹中的文件名进行比较。对于每个找到的匹配项,会在输出表中创建一条记录,其中包括输入数据集中的 ObjectID 值以及匹配文件的名称(也可为该文件的完整路径)。当 MATCHID 字段用在添加附件移除附件工具中时,会被作为关键字段来将磁盘上的文件与输入数据集中的记录链接在一起。

  • 如果输出匹配表位置是文件夹,则可通过指定扩展名为 .dbf 的名称来将输出创建为 dBASE 表,也可通过指定不带扩展名的名称来将输出创建为 INFO 表。如果输出位置是地理数据库,则匹配表将为地理数据库表(不指定扩展名)。

参数

标注说明数据类型
输入数据集

其中包含要附加文件的记录的输入数据集。

Table View
输入文件夹

其中包含要附加的文件的文件夹。

Folder
输出匹配表

将生成的包含以下两列的表:MATCHIDFILENAME

Table
关键字段

此字段中的值将与输入文件夹中的文件名匹配。匹配行为将忽略文件扩展名,从而使文件扩展名不同的多个文件与输入数据集中的一条记录相匹配。

例如,如果输入“关键字段”值为 lot5986,则磁盘上名为 lot5986.jpg 的文件将与此条记录匹配。

Field
输入数据过滤器
(可选)

此参数用于限制工具认为匹配的文件。如果文件名不符合文件过滤器参数中的条件,则不会被处理,因此文件也不会显示在输出匹配表中。可在此参数中使用通配符 (*) 来获得更灵活的过滤选项。也可以使用多个以分号分隔的过滤器。

以包含以下文件的目录为例:parcel.tifparcel.docparcel.jpghouses.jpgreport.pdf

要将此列表中的可能匹配项限制为 .jpg 文件,则使用 *.jpg

要将此列表中的可能匹配项限制为 .pdf 文件和 .doc 文件,则使用 *.pdf; *.doc

要将此列表中的可能匹配项限制为以 parcel 开头的文件,则使用 parcel*

要将此列表中的可能匹配项限制为包含文本 arc 的文件,则使用 *arc*

String
存储相关路径
(可选)

确定输出匹配表字段 FILENAME 是包含数据集的完整路径,还是仅为文件名。

  • 选中 - 输出 FILENAME 字段将包含相对路径。这是默认设置。
  • 未选中 - 输出 FILENAME 字段将包含数据的完整路径。

Boolean

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

将生成的包含以下两列的表:MATCHIDFILENAME

Table
in_key_field

此字段中的值将与输入文件夹中的文件名匹配。匹配行为将忽略文件扩展名,从而使文件扩展名不同的多个文件与输入数据集中的一条记录相匹配。

例如,如果输入“关键字段”值为 lot5986,则磁盘上名为 lot5986.jpg 的文件将与此条记录匹配。

Field
in_file_filter
(可选)

此参数用于限制工具认为匹配的文件。如果文件名不符合文件过滤器参数中的条件,则不会被处理,因此文件也不会显示在输出匹配表中。可在此参数中使用通配符 (*) 来获得更灵活的过滤选项。也可以使用多个以分号分隔的过滤器。

以包含以下文件的目录为例:parcel.tifparcel.docparcel.jpghouses.jpgreport.pdf

要将此列表中的可能匹配项限制为 .jpg 文件,则使用 *.jpg

要将此列表中的可能匹配项限制为 .pdf 文件和 .doc 文件,则使用 *.pdf; *.doc

要将此列表中的可能匹配项限制为以 parcel 开头的文件,则使用 parcel*

要将此列表中的可能匹配项限制为包含文本 arc 的文件,则使用 *arc*

String
in_use_relative_paths
(可选)

确定输出匹配表字段 FILENAME 是包含数据集的完整路径,还是仅为文件名。

  • RELATIVE输出 FILENAME 字段将包含相对路径。这是默认设置。
  • ABSOLUTE输出 FILENAME 字段将包含数据的完整路径。
Boolean

代码示例

GenerateAttachmentMatchTable 示例(Python 窗口)

以下代码片段说明了如何在 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 示例(独立 Python 脚本)

以下独立脚本演示了如何使用 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: 是

相关主题