Anlagen entfernen (Datenmanagement)

Zusammenfassung

Entfernt Anlagen aus den Datensätzen einer Geodatabase-Feature-Class oder -Tabelle.

Da Anlagen im Eingabe-Dataset nicht tatsächlich gespeichert werden, werden keine Änderungen an dieser Feature-Class oder Tabelle vorgenommen. Änderungen werden an der zugehörigen Geodatabase-Tabelle durchgeführt, in der die Anlagen gespeichert sind 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.

Weitere Informationen zum Arbeiten mit Geoverarbeitungswerkzeugen für Anlagen

Abbildung

Abbildung des Werkzeugs "Anlagen entfernen"

Verwendung

  • Statt dieses Werkzeug zu verwenden, können Sie auch ausgewählte Datensätze aus der Tabelle "InputDataset__ATTACH" in derselben Geodatabase wie das Eingabe-Dataset löschen. In der Tabelle werden Anlagen gespeichert und Verknüpfungen zum Parameter Eingabe-Dataset verwaltet.

  • Dieses Werkzeug unterstützt einen gehosteten ArcGIS Enterprise-Feature-Layer als Eingabe.

Parameter

BeschriftungErläuterungDatentyp
Eingabe-Dataset

Eine Geodatabase-Tabelle oder -Feature-Class, aus der Anlagen entfernt werden. Anlagen werden nicht direkt aus dieser Tabelle entfernt, sondern aus der zugehörigen Anlagentabelle, in der die Anlagen gespeichert werden. Im Dataset müssen Anlagen aktiviert sein.

Table View
Eingabe-Join-Feld

Ein Feld aus dem Parameterwert Eingabe-Dataset, das Werte enthält, die mit den Werten im Parameterwert Zuordnungs-Join-Feld übereinstimmen. Aus Datensätzen mit Join-Feld-Werten, die mit dem Parameterwert Eingabe-Dataset und dem Parameterwert Zuordnungstabelle übereinstimmen, werden Anlagen entfernt. Dieses Feld kann ein Objekt-ID-Feld oder irgendein anderes identifizierendes Attribut sein.

Field
Zuordnungstabelle

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

Table View
Zuordnungs-Join-Feld

Ein Feld aus der Zuordnungstabelle, das angibt, aus welchen Datensätzen im Parameterwert Eingabe-Dataset angegebene Anlagen entfernt werden. Dieses Feld kann Werte enthalten, die dem Objekt-ID-Feld für Eingabe-Dataset oder einem anderen identifizierenden Attribut entsprechen.

Field
Zuordnungs-Namensfeld
(optional)

Ein Feld aus der Zuordnungstabelle, das die Namen der Anlagen enthält, die aus den Datensätzen des Parameterwertes Eingabe-Dataset entfernt werden sollen. Wenn kein Namensfeld angegeben wird, werden alle Anlagen aus jedem im Parameterwert 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

Abgeleitete Ausgabe

BeschriftungErläuterungDatentyp
Aktualisiertes Eingabe-Dataset

Das aktualisierte Eingabe-Dataset.

Table View

arcpy.management.RemoveAttachments(in_dataset, in_join_field, in_match_table, in_match_join_field, {in_match_name_field})
NameErläuterungDatentyp
in_dataset

Eine Geodatabase-Tabelle oder -Feature-Class, aus der Anlagen entfernt werden. Anlagen werden nicht direkt aus dieser Tabelle entfernt, sondern aus der zugehörigen Anlagentabelle, in der die Anlagen gespeichert werden. Im Dataset müssen Anlagen aktiviert sein.

Table View
in_join_field

Ein Feld aus dem Parameterwert in_dataset, das Werte enthält, die mit den Werten im Parameterwert in_match_join_field übereinstimmen. Aus Datensätzen mit Join-Feld-Werten, die mit dem Parameterwert in_dataset und dem Parameterwert in_match_table übereinstimmen, werden Anlagen entfernt. Dieses Feld kann ein Objekt-ID-Feld oder irgendein anderes identifizierendes Attribut sein.

Field
in_match_table

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

Table View
in_match_join_field

Ein Feld aus der Zuordnungstabelle, das angibt, aus welchen Datensätzen im Parameterwert in_dataset angegebene Anlagen entfernt werden. Dieses Feld kann Werte enthalten, die dem Objekt-ID-Feld für in_dataset oder einem anderen identifizierenden Attribut entsprechen.

Field
in_match_name_field
(optional)

Ein Feld aus der Zuordnungstabelle, das die Namen der Anlagen enthält, die aus den Datensätzen des Parameterwertes in_dataset entfernt werden sollen. Wenn kein Namensfeld angegeben wird, werden alle Anlagen aus jedem im Parameterwert in_match_join_field 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

Abgeleitete Ausgabe

NameErläuterungDatentyp
out_dataset

Das aktualisierte Eingabe-Dataset.

Table View

Codebeispiel

RemoveAttachments – Beispiel 1 (Python-Fenster)

Der folgende Codeausschnitt veranschaulicht, wie die Funktion RemoveAttachments im Python-Fenster verwendet wird.

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

Das folgende Skript veranschaulicht, wie die Funktion RemoveAttachments in einem eigenständigen Skript verwendet wird.

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