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 gepflegt 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 vorschreibt, die diesem Datensatz als Anlage hinzugefügt werden soll.
Weitere Informationen zu Geodatabase-Anlagen
Weitere Informationen zum Arbeiten mit Geoverarbeitungswerkzeugen für Anlagen
Bild
Verwendung
Bevor Anlagen mit diesem Werkzeug hinzugefügt werden können, müssen sie zunächst mit dem Werkzeug Anlagen aktivieren aktiviert werden.
Mit diesem Werkzeug hinzugefügte Anlagen werden intern 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 und 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 keine separate Zuordnungstabelle verwenden wollen, geben Sie das gleiche Dataset sowohl für das Eingabe-Dataset als auch für die Zuordnungstabelle an. Das Werkzeug wählt das Objekt-ID-Feld automatisch für beide Join-Felder aus, und Sie können angeben, welches Feld aus der Eingabe die Pfade zu den Anlagedateien enthält.
-
Mehrere Dateien können an einen einzelnen Feature-Class- oder Tabellendatensatz angehängt werden. Um dies zu erreichen, muss die Zuordnungstabelle mehrere Datensätze für diese Eingabe-ID enthalten (z. B. hat Datensatz 1 eine InputID von 1 und einen Pfadnamen pic1a.jpg, und Datensatz 2 hat eine InputID von 1 und einen Pfadnamen von pic1b.jpg).
Syntax
Parameter | Erläuterung | Datentyp |
in_dataset |
Geodatabase-Tabelle oder -Feature-Class, 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 aufrechterhält. Das Eingabe-Dataset muss in einer Geodatabase der Version 10.0 oder höher gespeichert werden, 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. Datensätzen, die über Join-Feld-Werte verfügen, die im Eingabe-Dataset und in der Zuordnungstabelle übereinstimmen, werden Anlagen hinzugefügt. Dieses Feld kann ein Objekt-ID-Feld oder irgendein anderes identifizierendes Attribut sein. | Field |
in_match_table |
Tabelle, die bestimmt, welchen Eingabedatensätzen Anlagen hinzugefügt werden, und die Pfade zu diesen Anlagen festlegt. | Table View |
in_match_join_field |
Feld aus der Zuordnungstabelle, das angibt, welchen Datensätzen im Eingabe-Dataset bestimmte Anlagen hinzugefügt werden. Dieses Feld kann Werte enthalten, die den Objekt-IDs des Eingabe-Datasets oder einem anderen identifizierenden Attribut entsprechen. | Field |
in_match_path_field |
Feld aus der Zuordnungstabelle, das Pfade zu den Anlagen enthält, die Eingabe-Dataset-Datensätzen hinzugefügt werden sollen. | Field |
in_working_folder (optional) |
Ordner oder Workspace, in dem Anlagedateien zentral gehalten werden. Wenn Sie einen Arbeitsordner angeben, kann es sich bei den Pfaden im Zuordnungs-Pfadfeld um die Kurznamen von Dateien in Beziehung zum Arbeitsordner handeln. Wenn z. B. Anlagen mit Pfaden wie C:\MyPictures\image1.jpg und C:\MyPictures\image2.jpg geladen werden, legen Sie den Arbeitsordner auf C:\MyPictures fest; dann können die Pfade im Zuordnungs-Pfadfeld Kurznamen wie image1.jpg und image2.jpg anstelle der längeren vollständigen Pfade sein. | Folder |
Codebeispiel
Der folgende Codeausschnitt zeigt, wie das Werkzeug "AddAttachments" im Python-Fenster verwendet wird.
import arcpy
arcpy.AddAttachments_management(r"C:\Data\City.gdb\Parcels", "ParcelID", r"C:\Data\matchtable.csv", "ParcelID","Picture" , r"C:\Pictures")
Das folgende Skript veranschaulicht, wie das Werkzeug "AddAttachments" in einem eigenständigen Skript verwendet wird.
"""
Example: we have a folder of digital photographs of vacant homes; the photos
are named according to the ParcelID of the house in the picture. Let's add
these photos to a parcel feature class as attachments.
"""
import csv
import arcpy
import os
import sys
input = r"C:\Data\City.gdb\Parcels"
inputField = "ParcelID"
matchTable = r"C:\Data\matchtable.csv"
matchField = "ParcelID"
pathField = "Picture"
picFolder = r"C:\Pictures"
try:
# create a new Match Table csv file
writer = csv.writer(open(matchTable, "wb"), delimiter=",")
# write a header row (the table will have two columns: ParcelID and Picture)
writer.writerow([matchField, pathField])
# iterate through each picture in the directory and write a row to the table
for file in os.listdir(picFolder):
if str(file).find(".jpg") > -1:
writer.writerow([str(file).replace(".jpg", ""), file])
del writer
# the input feature class must first be GDB attachments enabled
arcpy.EnableAttachments_management(input)
# use the match table with the Add Attachments tool
arcpy.AddAttachments_management(input, inputField, matchTable, matchField, pathField, picFolder)
except:
print arcpy.GetMessages(2)