Добавить вложения (Управление данными)

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

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

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

Иллюстрация

Иллюстрация к инструменту Добавить вложения

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

  • Этот инструмент не учитывает наличие выборки.

  • Прежде чем добавлять вложения с помощью этого инструмента, необходимо разрешить их использование с помощью инструмента Включить вложения.

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

  • Если значение параметра Входной набор данных содержит существующее поле, которое представляет пути к добавляемым вложениям, и вы не хотите использовать отдельное значение для параметра Таблица сопоставлений, укажите один и тот же набор данных для параметров Входной набор данных и Таблица сопоставлений. Инструмент автоматически выберет поле Object ID для обоих полей соединения, и вы сможете указать, какое поле из входных данных содержит пути к файлам вложений.

  • К одному классу пространственных объектов или к одной таблице записей можно добавить несколько файлов. Для этого убедитесь, что значение параметра Таблица сопоставлений содержит несколько записей для этого входного ID. Например, запись 1 имеет входной ID 1 и путь pic1a.jpg, а запись 2 имеет входной ID 1 и путь pic1b.jpg.

Параметры

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

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

Набор данных должен храниться в базе геоданных версии 10.0 или более поздней версии, и для таблицы должны быть включены вложения.

Table View
Входное поле соединения

Поле из значения параметра Входной набор данных, которое хранит значения, сопоставляемые со значением параметра Поле соединения сопоставления. К записям с сопоставленными значениями будут добавлены вложения. Это поле может быть полем Object ID или каким-либо другим идентифицирующим атрибутом.

Field
Таблица сопоставлений

Таблица, которая определяет, к каким входным записям будут добавлены вложения, а также пути к этим вложениям.

Table View
Поле соединения сопоставления

Поле из значения параметра Таблица сопоставления, указывающее, для каких записей в значении параметра Входной набор данных будут добавлены указанные вложения.

Field
Поле пути сопоставления

Поле из значения параметра Таблица сопоставлений, содержащее пути к вложениям для добавления к записям значения параметра Входной набор данных.

Поле из значения параметра in_match_table, содержащее пути к вложениям для добавления к записям значения параметра in_dataset.

Field
Рабочая папка
(Дополнительный)

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

Например, при загрузке вложений по таким путям, как C:\MyPictures\image1.jpg и C:\MyPictures\image2.jpg, используйте значение параметра C:\MyPictures. Тогда пути в значении параметра Поле пути сопоставления могут быть короткими именами, такими как image1.jpg и image2.jpg, вместо полных путей.

Folder

Производные выходные данные

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

Обновленный входной набор данных.

Table View

arcpy.management.AddAttachments(in_dataset, in_join_field, in_match_table, in_match_join_field, in_match_path_field, {in_working_folder})
ИмяОписаниеТип данных
in_dataset

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

Набор данных должен храниться в базе геоданных версии 10.0 или более поздней версии, и для таблицы должны быть включены вложения.

Table View
in_join_field

Поле из значения параметра in_dataset, которое хранит значения, сопоставляемые со значением параметра in_match_join_field. К записям с сопоставленными значениями будут добавлены вложения. Это поле может быть полем Object ID или каким-либо другим идентифицирующим атрибутом.

Field
in_match_table

Таблица, которая определяет, к каким входным записям будут добавлены вложения, а также пути к этим вложениям.

Table View
in_match_join_field

Поле из значения параметра in_match_table, указывающее, для каких записей в значении параметра in_dataset будут добавлены указанные вложения.

Field
in_match_path_field

Поле из значения параметра Таблица сопоставлений, содержащее пути к вложениям для добавления к записям значения параметра Входной набор данных.

Поле из значения параметра in_match_table, содержащее пути к вложениям для добавления к записям значения параметра in_dataset.

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

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

Например, при загрузке вложений по таким путям, как C:\MyPictures\image1.jpg и C:\MyPictures\image2.jpg, используйте значение параметра C:\MyPictures. Тогда пути в значении параметра in_match_path_field могут быть короткими именами, такими как image1.jpg и image2.jpg, вместо полных путей.

Folder

Производные выходные данные

ИмяОписаниеТип данных
out_dataset

Обновленный входной набор данных.

Table View

Пример кода

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

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

import arcpy
arcpy.management.AddAttachments(
    r"C:\Data\City.gdb\Parcels", "ParcelID", r"C:\Data\matchtable.csv", 
    "ParcelID", "Picture", r"C:\Pictures")
AddAttachments, пример 2 (автономный скрипт)

Этот скрипт демонстрирует пример использования функции AddAttachments в автономном скрипте.

"""
Example: We have a folder of .jpg photographs and .pdf files;
We want to add these files as attachments to our input dataset.
Create a match table, enable input dataset if needed, add attachments.
"""
import arcpy

input_dataset = r"C:\Data\City.gdb\Parcels"
input_path = arcpy.Describe(input_dataset).path

# GenerateAttachmentsMatchtable parameters
# Required
match_table = r"C:\Data\City.gdb\parcelsMatchtable"
key_field = 'PARCELS'
# Optional
data_filter ='*.jpg; *.pdf'  # Remove *.pdf to load only the .jpg images as another option.
rel_path = "RELATIVE"
match_pattern = 'ANY'
# pic_folder required for match table, optional for add attachments if rel_path is ABSOLUTE
pic_folder = r"C:\Pictures\Parcels"

arcpy.management.GenerateAttachmentMatchTable(input_dataset, pic_folder, match_table, key_field,
                                              data_filter, rel_path, match_pattern)

# Check if input dataset is enabled for attachments
rel_class = arcpy.Describe(input_dataset).relationshipClassNames
rel_class_path = (f"{input_path}\\{relclass[0]}")
rel_class_att = arcpy.Describe(relclassPath).isAttachmentRelationship

if rel_class_att:
    pass
else:
    arcpy.management.EnableAttachments(input_dataset)

# AddAttachments parameters
add_match_table = match_table
input_join_fld = 'ObjectID'
match_join_fld = 'MatchID'
match_path_fld = 'Filename'

# Add attachments from generated match table to input data ATTACH table
arcpy.management.AddAttachments(input_dataset, input_join_fld, add_match_table,
                                match_join_fld, match_path_fld, pic_folder)

Информация о лицензиях

  • Basic: Да
  • Standard: Да
  • Advanced: Да

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