ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

  • My Profile
  • 帮助
  • Sign Out
ArcGIS Desktop

ArcGIS Online

专为贵组织打造的制图平台

ArcGIS Desktop

全面的专业性 GIS

ArcGIS Enterprise

面向企业的 GIS

ArcGIS for Developers

用于构建位置感知应用程序的工具

ArcGIS Solutions

适用于行业的免费模板地图和应用程序

ArcGIS Marketplace

获取适用于组织的应用程序和数据

  • 文档
  • 支持
Esri
  • 登录
user
  • 我的个人资料
  • 登出

ArcMap

  • 主页
  • 入门
  • 地图
  • 分析
  • 管理数据
  • 工具
  • 扩展模块

生成附件匹配表

  • 摘要
  • 用法
  • 语法
  • 代码示例
  • 环境
  • 许可信息

摘要

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

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

用法

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

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

语法

GenerateAttachmentMatchTable_management (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 是包含数据集的完整路径,还是仅为文件名。

  • 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")

环境

此工具不使用任何地理处理环境。

许可信息

  • ArcGIS Desktop Basic: 否
  • ArcGIS Desktop Standard: 是
  • ArcGIS Desktop Advanced: 是

相关主题

  • 附件工具集概述
  • 使用附件地理处理工具

ArcGIS Desktop

  • 主页
  • 文档
  • 支持

ArcGIS 平台

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

关于 Esri

  • 关于我们
  • 招贤纳士
  • Esri 博客
  • 用户大会
  • 开发者峰会
Esri
分享您的想法。
Copyright © 2019 Esri. | 隐私政策 | 法律声明