Beschriftung | Erläuterung | Datentyp |
Eingabe-Dataset | Ein Dataset mit Datensätzen, an die Dateien angehängt werden sollen. | Table View |
Eingabeordner | Ein Ordner mit anzuhängenden Dateien. | Folder |
Ausgabe-Zuordnungstabelle | Die Ausgabe-Zuordnungstabelle mit den Feldern MATCHID und FILENAME. | Table |
Schlüsselfeld | Das Feld, mit dessen Werten die Namen der Dateien aus dem Eingabeordner zugeordnet werden. Bei der Zuordnung werden die Feldwerte mit den Dateinamen verglichen, wobei die Dateierweiterung nicht berücksichtigt wird. Auf diese Weise können mehrere Dateien mit unterschiedlichen Dateierweiterungen einem Datensatz im Eingabe-Dataset zugeordnet werden. Der Feldwert lot5986 passt z. B. zu einer Datei mit dem Namen lot5986.jpg, wenn für den Parameterwert Muster abgleichen die Option Exakt ausgewählt ist. | Field |
Eingabedatenfilter (optional) | Ein Datenfilter, der verwendet wird, um die für die Zuordnung in Frage kommenden Dateien einzuschränken. Platzhalter (*) können für flexiblere Filtermöglichkeiten verwendet werden. Es werden auch mehrere durch Semikolon getrennte Filter unterstützt. Beispiel: Sie haben ein Eingabeverzeichnis mit einer Vielzahl von Dateitypen. Um die möglichen Zuordnungen nur auf .jpg-Dateien zu beschränken, verwenden Sie den Wert *.jpg. Um die möglichen Zuordnungen nur auf .pdf- und .doc-Dateien zu beschränken, verwenden Sie den Wert *.pdf; *.doc. Um mögliche Zuordnungen auf Dateinamen zu beschränken, die den Text arc enthalten, verwenden Sie den Wert *arc*. | String |
Relativen Pfad speichern (optional) | Gibt an, ob das Feld FILENAME der Ausgabe-Zuordnungstabelle vollständige Pfade oder nur die Dateinamen enthält.
| Boolean |
Muster abgleichen (optional) | Gibt das Muster an, das zum Vergleichen mit Dateinamen anhand des Parameterwertes unter Schlüsselfeld verwendet werden soll.
| String |
Zusammenfassung
Erstellt eine Zuordnungstabelle, die mit den Werkzeugen Anlagen hinzufügen und Anlagen entfernen verwendet werden kann.
Weitere Informationen zum Arbeiten mit Geoverarbeitungswerkzeugen für Anlagen
Verwendung
Dieses Werkzeug wertet jede Zeile im Eingabe-Ziel-Dataset aus und vergleicht die Werte des Parameters Schlüsselfeld mit den Namen der unterstützten Mediendateien im Parameterwert Eingabeordner. Für jede Übereinstimmung wird ein Datensatz in der Ausgabetabelle erstellt, der den Objekt-ID-Wert aus dem Eingabe-Dataset und den Namen der entsprechenden Dateien (oder optional den vollständigen Pfad zu den Dateien) enthält. Das Feld MATCHID wird als Schlüsselfeld verwendet, um eine oder mehrere Dateien auf dem Datenträger mit den Datensätzen im Eingabe-Dataset zu verknüpfen, wenn es in den Werkzeugen Anlagen hinzufügen und Anlagen entfernen verwendet wird.
Wenn der Wert des Parameters Ausgabe-Zuordnungstabelle ein Ordner ist, kann die Ausgabe als dBASE-Tabelle erstellt werden, indem ein Name mit der Erweiterung .dbf angegeben wird. Wenn das Ausgabeverzeichnis eine Geodatabase ist, ist die Zuordnungstabelle eine Geodatabase-Tabelle (keine Erweiterung erforderlich).
Parameter
arcpy.management.GenerateAttachmentMatchTable(in_dataset, in_folder, out_match_table, in_key_field, {in_file_filter}, {in_use_relative_paths}, {match_pattern})
Name | Erläuterung | Datentyp |
in_dataset | Ein Dataset mit Datensätzen, an die Dateien angehängt werden sollen. | Table View |
in_folder | Ein Ordner mit anzuhängenden Dateien. | Folder |
out_match_table | Die Ausgabe-Zuordnungstabelle mit den Feldern MATCHID und FILENAME. | Table |
in_key_field | Das Feld, mit dessen Werten die Namen der Dateien aus dem Eingabeordner zugeordnet werden. Bei der Zuordnung werden die Feldwerte mit den Dateinamen verglichen, wobei die Dateierweiterung nicht berücksichtigt wird. Auf diese Weise können mehrere Dateien mit unterschiedlichen Dateierweiterungen einem Datensatz im Eingabe-Dataset zugeordnet werden. Der Feldwert lot5986 passt z. B. zu einer Datei mit dem Namen lot5986.jpg, wenn für den Parameterwert match_pattern die Option EXACT ausgewählt ist. | Field |
in_file_filter (optional) | Ein Datenfilter, der verwendet wird, um die für die Zuordnung in Frage kommenden Dateien einzuschränken. Platzhalter (*) können für flexiblere Filtermöglichkeiten verwendet werden. Es werden auch mehrere durch Semikolon getrennte Filter unterstützt. Beispiel: Sie haben ein Eingabeverzeichnis mit einer Vielzahl von Dateitypen. Um die möglichen Zuordnungen nur auf .jpg-Dateien zu beschränken, verwenden Sie den Wert *.jpg. Um die möglichen Zuordnungen nur auf .pdf- und .doc-Dateien zu beschränken, verwenden Sie den Wert *.pdf; *.doc. Um mögliche Zuordnungen auf Dateinamen zu beschränken, die den Text arc enthalten, verwenden Sie den Wert *arc*. | String |
in_use_relative_paths (optional) | Gibt an, ob das Feld FILENAME der Ausgabe-Zuordnungstabelle vollständige Pfade oder nur die Dateinamen enthält.
| Boolean |
match_pattern (optional) | Gibt das Muster an, das zum Vergleichen mit Dateinamen anhand des Parameterwertes unter key_field verwendet werden soll.
| String |
Codebeispiel
Der folgende Codeausschnitt veranschaulicht, wie die Funktion GenerateAttachmentMatchTable im Python-Fenster verwendet wird.
import arcpy
arcpy.management.GenerateAttachmentMatchTable(
"C:/data/parcels.gdb/parcels",
"C:/attachment_folder",
"C:/data/temp.gdb/matchtable",
"AttachmentKeyField",
"*.jpg; *.pdf",
"ABSOLUTE",
"EXACT")
Das folgende eigenständige Skript veranschaulicht, wie mit der Funktion GenerateAttachmentMatchTable eine Zuordnungstabelle erstellt wird, die Zuordnungen für .jpg- und .pdf-Dateien enthält.
# Name: GenerateAttachmentMatchTable_Example.py
# Description: Create an attachment match table for all files that contain the string
# 'property' and are of type 'jpg' while looping through multiple folders.
# Import system modules
import arcpy
import os
# Set local variables.
rootFolder = 'c:/work/'
for folder in os.walk(rootFolder):
# Exclude file geodatabases from the folder list.
if folder[0].find('.gdb') == -1:
arcpy.management.GenerateAttachmentMatchTable(
"C:/data/parcels.gdb/parcels", folder[0],
"C:/data/temp.gdb/matchtable", "AttachmentKeyField",
"*property*.jpg", "RELATIVE", "EXACT")