Создать таблицу соответствия вложений (Управление данными)

Краткая информация

Создает таблицу сопоставления для использования совместно с инструментами Добавить вложения и Удалить вложения.

Более подробно о работе с инструментами геообработки Вложения

Использование

  • Этот инструмент изучает каждую строку входного набора данных и сравнивает Ключевое поле в этом наборе данных с именами файлов, которые находятся во Входной папке. Для каждого совпадения в выходной таблице создается запись, которая содержит значение ObjectID из Входного набора данных и имя сопоставленного файла (или дополнительно полный путь к этому файлу). При использовании в инструментах Добавить вложения и Удалить вложения поле MATCHID используется как ключевое поле для связи файлов на диске с записями во входном наборе данных.

  • Если Выходная таблица сопоставлений размещена в папке, входные данные можно создать в виде таблицы dBASE, указав имя с расширением .dbf, или в виде таблицы INFO, указав имя без расширения. Если местоположением выходных данных является база геоданных, таблица соответствий будет таблицей базы геоданных (расширение не указывается).

Параметры

ПодписьОписаниеТип данных
Входной набор данных

Входной набор данных, в котором находятся записи, содержит связанные файлы.

Table View
Входная папка

Папка, в которой находятся файлы для вложения.

Folder
Выходная таблица сопоставлений

Создаваемая таблица, которая содержит два столбца: MATCHID и FILENAME.

Table
Ключевое поле

Значения в этом поле должны соответствовать именам файлов во входной папке. В процессе сопоставления игнорируются расширения файлов, что дает возможность сопоставлять несколько файлов с разными расширениями с одной записью во входном наборе данных.

Например, если значением входного ключевого поля является lot5986, файл на диске с именем lot5986.jpg сопоставляется с этой записью.

Field
Входной фильтр данных
(Дополнительный)

Этот параметр используется для ограничения количества файлов, которые инструмент рассматривает для сопоставления. Если имя файла не соответствует критериям параметра фильтра файлов, этот файл не обрабатывается и, таким образом, не отображается в выходной таблице сопоставления. В этом параметре можно использовать групповой символ (*) для создания более гибких параметров фильтрации. Также можно использовать несколько фильтров с разделителем (точка с запятой).

Например, представим директорию, которая содержит следующие файлы: parcel.tif, parcel.doc, parcel.jpg, houses.jpg и report.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

Создаваемая таблица, которая содержит два столбца: 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)

Следующий фрагмент кода показывает, как использовать GenerateAttachmentMatchTable в окне Python.

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: Да

Связанные разделы