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

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

Удаляет вложения из класса пространственных объектов или записей таблицы базы геоданных.

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

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

Иллюстрация

Иллюстрация инструмента Удалить вложения

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

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

  • Этот инструмент поддерживает размещенный векторный слой ArcGIS Enterprise в качестве входных данных.

Параметры

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

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

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

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

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

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

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

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

Field
Поле имени сопоставления
(Дополнительный)

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

Field

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

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

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

Table View

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

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

Table View
in_join_field

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

Field
in_match_table

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

Table View
in_match_join_field

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

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

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

Field

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

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

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

Table View

Пример кода

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

В следующем фрагменте кода показан порядок использования функции RemoveAttachments в окне Python.

import arcpy
arcpy.management.RemoveAttachments(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)