Anlagen hinzufügen (Data Management)

Zusammenfassung

Fügt den Datensätzen einer Geodatabase-Feature-Class oder -Tabelle Dateianlagen hinzu. Die Anlagen werden in der Geodatabase in einer separaten Anlagetabelle gespeichert, in der Verknüpfungen zum Ziel-Dataset verwaltet werden. Anlagen werden dem Ziel-Dataset anhand einer Zuordnungstabelle hinzugefügt, die für jeden Eingabedatensatz (bzw. eine Attributgruppe von Datensätzen) den Pfad zu einer Datei angibt, die diesem Datensatz als Anlage hinzugefügt werden soll.

Weitere Informationen zum Arbeiten mit den Werkzeugen im Toolset "Anlagen"

Abbildung

Abbildung des Werkzeugs "Anlagen hinzufügen"

Verwendung

  • Bei diesem Werkzeug wird die getroffene Auswahl nicht berücksichtigt.

  • Bevor Anlagen mit diesem Werkzeug hinzugefügt werden können, müssen sie mit dem Werkzeug Anlagen aktivieren aktiviert werden.

  • Mit diesem Werkzeug hinzugefügte Anlagen werden in die Geodatabase kopiert. Die ursprünglichen Anlagedateien sind davon nicht betroffen. Wenn die ursprünglichen Dateien geändert werden, werden diese Änderungen nicht automatisch an der Geodatabase-Anlage vorgenommen. Um Änderungen an der Geodatabase zu synchronisieren, entfernen Sie die betroffenen Anlagen mithilfe des Werkzeugs Anlagen entfernen. Fügen Sie dann die geänderten Dateien wieder als neue Anlagen hinzu.

  • Wenn das Eingabe-Dataset bereits ein Feld enthält, das der Pfad zu den hinzuzufügenden Anlagen ist, und Sie keinen separaten Wert für die Parameter Zuordnungstabelle verwenden wollen, geben Sie das gleiche Dataset sowohl für den Parameter Eingabe-Dataset als auch für den Parameter Zuordnungstabelle an. Das Werkzeug wählt automatisch das Feld "Objekt-ID" für beide Join-Felder aus, und Sie können angeben, welches Feld der Eingabe die Pfade zu den Anlagendateien enthält.

  • Mehrere Dateien können an einen einzelnen Feature-Class- oder Tabellendatensatz angehängt werden. Stellen Sie dazu sicher, dass der Parameterwert Zuordnungstabelle mehrere Datensätze für diese Eingabe-ID enthält. Datensatz 1 hat z. B. die Eingabe-ID 1 und den Pfadnamen pic1a.jpg, und Datensatz 2 hat die Eingabe-ID 1 und den Pfadnamen pic1b.jpg.

Parameter

BeschriftungErläuterungDatentyp
Eingabe-Dataset

Die Geodatabase-Tabelle oder Feature-Class, zu der Anlagen hinzugefügt werden. Anlagen werden nicht direkt zu dieser Tabelle hinzugefügt, sondern zu einer in Beziehung stehenden Anlagentabelle, die die Verknüpfung zum Eingabe-Dataset beibehält.

Das Dataset muss in einer Geodatabase der Version 10.0 oder höher enthalten sein, und für die Tabelle müssen Anlagen aktiviert sein.

Table View
Eingabe-Join-Feld

Ein Feld aus dem Parameterwert Eingabe-Dataset, das mit Werten im Parameterwert Zuordnungs-Join-Feld übereinstimmt. Zu Datensätzen mit übereinstimmenden Werten werden Anlagen hinzugefügt. Dieses Feld kann ein Objekt-ID-Feld oder irgendein anderes identifizierendes Attribut sein.

Field
Zuordnungstabelle

Eine Tabelle, die angibt, aus welchen Eingabedatensätzen Anlagen hinzugefügt werden und wie die Pfade zu diesen Anlagen lauten.

Table View
Zuordnungs-Join-Feld

Ein Feld aus der Zuordnungstabelle, das angibt, zu welchen Datensätzen im Parameterwert Eingabe-Dataset die angegebenen Anlagen hinzugefügt werden sollen.

Field
Zuordnungs-Pfadfeld

Ein Feld aus dem Parameterwert Zuordnungstabelle, das Pfade zu den Anlagen enthält, die den Datensätzen des Parameterwerts Eingabe-Dataset hinzugefügt werden sollen.

Ein Feld aus dem Parameterwert in_match_table, das Pfade zu den Anlagen enthält, die den Datensätzen des Parameterwerts in_dataset hinzugefügt werden sollen.

Field
Arbeitsordner
(optional)

Ein Ordner oder Workspace, in dem Anlagedateien zentral abgelegt werden. Wenn Sie einen Arbeitsordner angeben, kann es sich bei den Pfaden im Parameterwert Zuordnungs-Pfadfeld um die Kurznamen von Dateien in Relation zum Arbeitsordner handeln.

Wenn Sie z. B. Anlagen mit Pfaden wie C:\MyPictures\image1.jpg und C:\MyPictures\image2.jpg laden, können Sie den Parameterwert C:\MyPictures verwenden. Dann können die Pfade im Parameter Zuordnungs-Pfadfeld Kurznamen wie image1.jpg und image2.jpg anstatt von vollständigen Pfaden sein.

Folder

Abgeleitete Ausgabe

BeschriftungErläuterungDatentyp
Aktualisiertes Eingabe-Dataset

Das aktualisierte Eingabe-Dataset.

Table View

arcpy.management.AddAttachments(in_dataset, in_join_field, in_match_table, in_match_join_field, in_match_path_field, {in_working_folder})
NameErläuterungDatentyp
in_dataset

Die Geodatabase-Tabelle oder Feature-Class, zu der Anlagen hinzugefügt werden. Anlagen werden nicht direkt zu dieser Tabelle hinzugefügt, sondern zu einer in Beziehung stehenden Anlagentabelle, die die Verknüpfung zum Eingabe-Dataset beibehält.

Das Dataset muss in einer Geodatabase der Version 10.0 oder höher enthalten sein, und für die Tabelle müssen Anlagen aktiviert sein.

Table View
in_join_field

Ein Feld aus dem Parameterwert in_dataset, das mit Werten im Parameterwert in_match_join_field übereinstimmt. Zu Datensätzen mit übereinstimmenden Werten werden Anlagen hinzugefügt. Dieses Feld kann ein Objekt-ID-Feld oder irgendein anderes identifizierendes Attribut sein.

Field
in_match_table

Eine Tabelle, die angibt, aus welchen Eingabedatensätzen Anlagen hinzugefügt werden und wie die Pfade zu diesen Anlagen lauten.

Table View
in_match_join_field

Ein Feld aus dem Parameterwert in_match_table, das angibt, das angibt, zu welchen Datensätzen des Parameterwerts in_dataset die angegebenen Anlagen hinzugefügt werden sollen.

Field
in_match_path_field

Ein Feld aus dem Parameterwert Zuordnungstabelle, das Pfade zu den Anlagen enthält, die den Datensätzen des Parameterwerts Eingabe-Dataset hinzugefügt werden sollen.

Ein Feld aus dem Parameterwert in_match_table, das Pfade zu den Anlagen enthält, die den Datensätzen des Parameterwerts in_dataset hinzugefügt werden sollen.

Field
in_working_folder
(optional)

Ein Ordner oder Workspace, in dem Anlagedateien zentral abgelegt werden. Wenn Sie einen Arbeitsordner angeben, kann es sich bei den Pfaden im Parameterwert in_match_path_field um die Kurznamen von Dateien in Relation zum Arbeitsordner handeln.

Wenn Sie z. B. Anlagen mit Pfaden wie C:\MyPictures\image1.jpg und C:\MyPictures\image2.jpg laden, können Sie den Parameterwert C:\MyPictures verwenden. Dann können die Pfade im Parameterwert in_match_path_field Kurznamen wie image1.jpg und image2.jpg anstatt von vollständigen Pfaden sein.

Folder

Abgeleitete Ausgabe

NameErläuterungDatentyp
out_dataset

Das aktualisierte Eingabe-Dataset.

Table View

Codebeispiel

AddAttachments – Beispiel 1 (Python-Fenster)

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

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

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

"""
Example: We have a folder of .jpg photographs and .pdf files;
We want to add these files as attachments to our input dataset.
Create a match table, enable input dataset if needed, add attachments.
"""
import arcpy

input_dataset = r"C:\Data\City.gdb\Parcels"
input_path = arcpy.Describe(input_dataset).path

# GenerateAttachmentsMatchtable parameters
# Required
match_table = r"C:\Data\City.gdb\parcelsMatchtable"
key_field = 'PARCELS'
# Optional
data_filter ='*.jpg; *.pdf'  # Remove *.pdf to load only the .jpg images as another option.
rel_path = "RELATIVE"
match_pattern = 'ANY'
# pic_folder required for match table, optional for add attachments if rel_path is ABSOLUTE
pic_folder = r"C:\Pictures\Parcels"

arcpy.management.GenerateAttachmentMatchTable(input_dataset, pic_folder, match_table, key_field,
                                              data_filter, rel_path, match_pattern)

# Check if input dataset is enabled for attachments
rel_class = arcpy.Describe(input_dataset).relationshipClassNames
rel_class_path = (f"{input_path}\\{relclass[0]}")
rel_class_att = arcpy.Describe(relclassPath).isAttachmentRelationship

if rel_class_att:
    pass
else:
    arcpy.management.EnableAttachments(input_dataset)

# AddAttachments parameters
add_match_table = match_table
input_join_fld = 'ObjectID'
match_join_fld = 'MatchID'
match_path_fld = 'Filename'

# Add attachments from generated match table to input data ATTACH table
arcpy.management.AddAttachments(input_dataset, input_join_fld, add_match_table,
                                match_join_fld, match_path_fld, pic_folder)

Lizenzinformationen

  • Basic: Ja
  • Standard: Ja
  • Advanced: Ja

Verwandte Themen