Anlagen hinzufügen (Data Management)

Lizenzstufe:BasicStandardAdvanced

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

Abbildung des Werkzeugs "Anlagen hinzufügen"
Abbildung "Anlagen hinzufügen"

Verwendung

Syntax

AddAttachments_management (in_dataset, in_join_field, in_match_table, in_match_join_field, in_match_path_field, {in_working_folder})
ParameterErläuterungDatentyp
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

AddAttachments – Beispiel (Python-Fenster)

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")
AddAttachments – Beispiel (eigenständiges Python-Skript)

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)

Umgebung

Verwandte Themen

Lizenzierungsinformationen

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