Anlagen entfernen (Data Management)

Lizenzstufe:BasicStandardAdvanced

Zusammenfassung

Entfernt Anlagen aus den Datensätzen einer Geodatabase-Feature-Class oder -Tabelle. Da Anlagen eigentlich nicht im Eingabe-Dataset gespeichert werden, werden keine Änderungen an dieser Feature-Class oder Tabelle vorgenommen, sondern an der in Beziehung stehenden Geodatabase-Tabelle, in der die Anlagen gespeichert und Verknüpfungen zum Eingabe-Dataset verwaltet werden. Eine Zuordnungstabelle wird verwendet, um zu bestimmen, aus welchen Eingabedatensätzen (bzw. Attributgruppen von Datensätzen) Anlagen entfernt werden.

Bild

Abbildung "Anlagen entfernen"

Verwendung

Syntax

RemoveAttachments_management (in_dataset, in_join_field, in_match_table, in_match_join_field, {in_match_name_field})
ParameterErläuterungDatentyp
in_dataset

Geodatabase-Tabelle oder -Feature-Class, aus der Anlagen entfernt werden sollen. Anlagen werden nicht direkt aus dieser Tabelle entfernt, sondern aus der in Beziehung stehenden Anlagetabelle, in der die Anlagen gespeichert werden. Das Eingabe-Dataset muss in einer Geodatabase der Version 10 oder höher enthalten sein, und für die Tabelle müssen Anlagen aktiviert sein.

Table View
in_join_field

Feld im Eingabe-Dataset, das über Werte verfügt, die zu den Werten im Zuordnungs-Join-Feld passen. Aus Datensätzen, die über Join-Feld-Werte verfügen, die im Eingabe-Dataset und der Zuordnungstabelle übereinstimmen, werden Anlagen entfernt. Dieses Feld kann ein Objekt-ID-Feld oder irgendein anderes identifizierendes Attribut sein.

Field
in_match_table

Tabelle, die bestimmt, aus welchen Eingabedatensätzen Anhänge entfernt werden.

Table View
in_match_join_field

Feld aus der Zuordnungstabelle, das angibt, aus welchen Datensätzen im Eingabe-Dataset angegebene Anlagen entfernt werden. Dieses Feld kann Werte enthalten, die den Objekt-IDs des Eingabe-Datasets oder einem anderen identifizierenden Attribut entsprechen.

Field
in_match_name_field
(optional)

Feld aus der Zuordnungstabelle, das Namen der Anlagen enthält, die aus Eingabe-Dataset-Datensätzen entfernt werden sollen. Wenn kein Namensfeld angegeben wird, werden alle Anlagen aus jedem im Zuordnungs-Join-Feld angegebenen Datensatz entfernt. Wenn ein Namensfeld angegeben wird, aber ein Datensatz über einen NULL- oder leeren Wert im Namensfeld verfügt, werden alle Anlagen aus diesem Datensatz entfernt. Die Werte dieses Feldes sollten die Kurznamen der zu entfernenden Anlage sein, nicht die vollständigen Pfade zu den Dateien, die für die ursprünglichen Anlagen verwendet wurden.

Field

Codebeispiel

RemoveAttachments – Beispiel (Python-Fenster)

Der folgende Codeausschnitt zeigt, wie das Werkzeug "RemoveAttachments" im Python-Fenster verwendet wird.

import arcpy
arcpy.RemoveAttachments_management(r"C:\Data\City.gdb\Parcels", "ParcelID", r"C:\Data\matchtable.csv", "ParcelID","Picture")
RemoveAttachments – Beispiel (eigenständiges Python-Skript)

Das folgende Skript veranschaulicht, wie das Werkzeug "RemoveAttachments" in einem eigenständigen Skript verwendet wird.

## 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)

Umgebung

Verwandte Themen

Lizenzierungsinformationen

ArcGIS for Desktop Basic: Nein
ArcGIS for Desktop Standard: Ja
ArcGIS for Desktop Advanced: Ja
5/9/2014