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

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

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

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

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

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

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

Параметры

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

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

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

Папка с файлами для вложения.

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

Выходная таблица сопоставлений с полями MATCHID и FILENAME.

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

Поле, значения из которого будут использоваться для сопоставления имен файлов из входной папки. Поведение сопоставления будет сравнивать значения полей с каждым именем файла, не обращая внимания на расширение файла. Это позволяет нескольким файлам с различными расширениями соответствовать одной записи во входном наборе данных.

Например, значение поля lot5986 будет совпадать с файлом, названнымlot5986.jpg, если в параметре Соответствие образцу указано значение Точное.

Field
Добавляемые растровые данные не являются управляемыми; поэтому удаление или перемещение растровых данных будет влиять на набор данных мозаики.
(Дополнительный)

Фильтр данных, который будет использоваться для ограничения файлов, рассматриваемых для сопоставления.

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

Например, у вас есть входная папка с различными типами файлов. Чтобы ограничить количество возможных совпадений только файлами с расширением .jpg, используйте *.jpg. Чтобы ограничить количество возможных совпадений только файлами с расширениями .pdf или .doc, используйте значение *.pdf; *.doc.

Чтобы ограничить возможные совпадения только именами файлов, содержащими текст arc, используйте значение *arc*.

String
Хранить относительный путь
(Дополнительный)

Указывает, будет ли поле FILENAME выходной таблицы сопоставлений содержать полные пути или только имена файлов.

  • Отмечено — поле будет содержать только имена файлов (относительные пути). Это значение по умолчанию
  • Не отмечено — поле будет содержать полные пути к данным.

Boolean
Соответствие образцу
(Дополнительный)

Указывает тип соответствия образцу, который будет использоваться для сопоставления имен файлов с указанным значением параметра Ключевое поле.

  • ТочноеИмена файлов, которые точно соответствуют значениям в ключевом поле, будут сопоставлены. Это значение по умолчанию
  • ПрефиксИмена файлов, которые имеют значение ключевого поля в начале имени файла, будут сопоставлены.
  • СуффиксИмена файлов, которые имеют значение ключевого поля в конце имени файла, будут сопоставлены.
  • ЛюбойИмена файлов, которые имеют значение ключевого поля в любом месте имени файла, будут сопоставлены.
String

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

Поле, значения из которого будут использоваться для сопоставления имен файлов из входной папки. Поведение сопоставления будет сравнивать значения полей с каждым именем файла, не обращая внимания на расширение файла. Это позволяет нескольким файлам с различными расширениями соответствовать одной записи во входном наборе данных.

Например, значение поля lot5986 будет совпадать с файлом, названным lot5986.jpg, если в параметре match_pattern указано значение EXACT.

Field
in_file_filter
(Дополнительный)

Фильтр данных, который будет использоваться для ограничения файлов, рассматриваемых для сопоставления.

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

Например, у вас есть входная папка с различными типами файлов. Чтобы ограничить количество возможных совпадений только файлами с расширением .jpg, используйте *.jpg. Чтобы ограничить количество возможных совпадений только файлами с расширениями .pdf или .doc, используйте значение *.pdf; *.doc.

Чтобы ограничить возможные совпадения только именами файлов, содержащими текст arc, используйте значение *arc*.

String
in_use_relative_paths
(Дополнительный)

Указывает, будет ли поле FILENAME выходной таблицы сопоставлений содержать полные пути или только имена файлов.

  • RELATIVEПоле будет содержать только имена файлов (относительные пути). Это значение по умолчанию
  • ABSOLUTEПоле будет содержать полные пути.
Boolean
match_pattern
(Дополнительный)

Указывает тип соответствия образцу, который будет использоваться для сопоставления имен файлов с указанным значением параметра key_field.

  • EXACTИмена файлов, которые точно соответствуют значениям в ключевом поле, будут сопоставлены. Это значение по умолчанию
  • PREFIXИмена файлов, которые имеют значение ключевого поля в начале имени файла, будут сопоставлены.
  • SUFFIXИмена файлов, которые имеют значение ключевого поля в конце имени файла, будут сопоставлены.
  • ANYИмена файлов, которые имеют значение ключевого поля в любом месте имени файла, будут сопоставлены.
String

Пример кода

GenerateAttachmentMatchTable, пример 1 (окно Python)

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

import arcpy
arcpy.management.GenerateAttachmentMatchTable(
    "C:/data/parcels.gdb/parcels",
    "C:/attachment_folder",
    "C:/data/temp.gdb/matchtable",
    "AttachmentKeyField",
    "*.jpg; *.pdf",
    "ABSOLUTE",
    "EXACT")
GenerateAttachmentMatchTable, пример 2 (автономный скрипт)

Следующий отдельный скрипт демонстрирует использование функции 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")

Параметры среды

Этот инструмент не использует параметры среды геообработки