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

Уровень лицензии:BasicStandardAdvanced

Резюме

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

Рисунок

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

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

Синтаксис

RemoveAttachments_management (in_dataset, in_join_field, in_match_table, in_match_join_field, {in_match_name_field})
ПараметрОбъяснениеТип данных
in_dataset

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

Table View
in_join_field

Поле из входного набора данных, которое имеет значения, соответствующие значениям в Поле соединения соответствий (Match Join Field). Вложения будут удалены в записях, которые имеют значения поля соединения соответствий между Входным набором данных (Target Dataset) и Таблицей соответствия (Match Table). Это поле может быть полем Идентификатор объекта (Object ID) или каким-либо другим идентифицирующим атрибутом.

Field
in_match_table

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

Table View
in_match_join_field

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

Field
in_match_name_field
(дополнительно)

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

Field

Пример кода

Удалить вложения (RemoveAttachments). Пример (окно Python)

Следующий фрагмент кода демонстрирует, как использовать инструмент Удалить вложения (RemoveAttachments) в окне Python.

import arcpy
arcpy.RemoveAttachments_management(r"C:\Data\City.gdb\Parcels", "ParcelID", r"C:\Data\matchtable.csv", "ParcelID","Picture")
Удалить вложения (RemoveAttachments). Пример (автономный скрипт Python)

Следующий скрипт демонстрирует, как использовать инструмент Удалить вложения (RemoveAttachments) в автономном скрипте.

## Some of the attachments we added to a feature class are unnecessary, let's remove them.

import csv, arcpy, os, sys

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)

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

Связанные темы

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

ArcGIS for Desktop Basic: Нет
ArcGIS for Desktop Standard: Да
ArcGIS for Desktop Advanced: Да
9/10/2013