Anlagen aktivieren (Data Management)
Zusammenfassung
Aktiviert Anlagen an eine Geodatabase-Feature-Class oder -Tabelle. Erstellt die notwendige Anlagenbeziehungsklasse und Anlagentabelle, in denen Anlagendateien intern gespeichert werden.
Verwendung
Anlagen müssen zunächst mit diesem Werkzeug aktiviert werden, bevor sie mit dem Werkzeug Anlagen hinzufügen hinzugefügt werden können.
-
Wenn die Geodatabase-Feature-Class oder -Tabelle bereits Anlagen aktiviert hat, wird eine Warnmeldung ausgegeben, und keine Verarbeitung findet statt.
Syntax
Parameter | Erläuterung | Datentyp |
in_dataset |
Geodatabase-Tabelle oder -Feature-Class, für die Anlagen aktiviert werden. Die Eingabedaten müssen sich in einer Geodatabase der Version 10 oder höher befinden. | Table View |
Codebeispiel
Der folgende Codeausschnitt illustriert, wie das Werkzeug "EnableAttachments" im Python-Fenster verwendet wird.
import arcpy
arcpy.EnableAttachments_management(r"C:\Data\City.gdb\Parcels")
Das folgende Skript veranschaulicht, wie Sie das Werkzeug "EnableAttachments" in einem eigenständigen Skript verwenden.
"""
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, targetField, matchTable, matchField, pathField, picFolder)
except:
print arcpy.GetMessages(2)