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

Сводка

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

Иллюстрация

Иллюстрация Удалить вложения (Remove Attachments)

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

  • Альтернативой использования этого инструмента является удаление выбранных записей из таблицы InputDataset__ATTACH в той же базе геоданных, что и Входной набор данных (Input Dataset), который сохраняет вложения и поддерживает ссылки на Входной набор данных (Input Dataset).

Синтаксис

RemoveAttachments(in_dataset, in_join_field, in_match_table, in_match_join_field, {in_match_name_field})
ParameterОбъяснениеТип данных
in_dataset

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

Table View
in_join_field

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

Field
in_match_table

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

Table View
in_match_join_field

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

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

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

Field

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

NameОбъяснениеТип данных
out_dataset

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

Представление таблицы

Пример кода

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

Представленный фрагмент кода демонстрирует порядок использования инструмента RemoveAttachments в окне Python.

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

Представленный скрипт демонстрирует порядок использования инструмента RemoveAttachments в автономном скрипте.

# Delete unnecessary attachments from a feature class
import arcpy
import csv
input = r"C:\Data\City.gdb\Parcels"
inputField = "ParcelID"
matchTable = r"C:\Data\matchtable.csv"
matchField = "ParcelID"
nameField = "Picture" 
# Create a new Match Table csv file that will tell the RemoveAttachments tool 
# which attachments to delete
writer = csv.writer(open(matchTable, "wb"), delimiter=",")
# write a header row (the table will have two columns: ParcelID and Picture)
writer.writerow([matchField, nameField])
# create a list of the attachments to delete
# removes attachments pic1a.jpg and pic1b.jpg from feature 1, pic3.jpg from 
# feature 3, and pic4.jpg from feature 4.
deleteList = [[1, "pic1a.jpg"], [1, "pic1b.jpg"], [3, "pic3.jpg"], [4, "pic4.jpg"]]
# iterate through the delete list and write it to the Match Table csv
for row in deleteList:
    writer.writerow(row)
del writer
# use the match table with the Remove Attachments tool
arcpy.RemoveAttachments_management(input, inputField, matchTable, matchField, 
                                   nameField)

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

  • Basic: Нет
  • Standard: Да
  • Advanced: Да

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