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 durchläuft jede Zeile in einem Eingabe-Dataset und vergleicht das Schlüsselfeld in diesem Dataset mit den Namen der Dateien im Eingabeordner. Für jede Übereinstimmung, die auftritt, wird ein Datensatz in der Ausgabetabelle erstellt, der den ObjectID-Wert vom Eingabe-Dataset und den Namen der entsprechenden Datei (oder optional den vollständigen Pfad zu dieser Datei) enthält. Das Feld MATCHID wird als Schlüsselfeld verwendet, um die 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 Speicherort der Ausgabe-Zuordnungstabelle ein Ordner ist, kann die Ausgabe als dBASE-Tabelle erstellt werden, indem ein Name mit der Erweiterung .dbf angegeben wird, oder als INFO-Tabelle, indem ein Name ohne Erweiterung angegeben wird. Wenn das Ausgabeverzeichnis eine Geodatabase ist, ist die Zuordnungstabelle eine Geodatabase-Tabelle (keine Erweiterung erforderlich).
Syntax
arcpy.management.GenerateAttachmentMatchTable(in_dataset, in_folder, out_match_table, in_key_field, {in_file_filter}, {in_use_relative_paths})
Parameter | Erklärung | Datentyp |
in_dataset | Eingabe-Dataset, das Datensätze enthält, denen Dateien angehängt werden. | Table View |
in_folder | Ordner, der anzuhängende Dateien enthält. | Folder |
out_match_table | Tabelle, die erstellt wird. Enthält zwei Spalten: MATCHID und FILENAME. | Table |
in_key_field | Die Werte in diesem Feld entsprechen den Namen der Dateien im Eingabeordner. Das Vergleichsverhalten ignoriert Dateierweiterungen. Dadurch können mehrere Dateien mit verschiedenen Dateierweiterungen einem einzelnen Datensatz im Eingabe-Dataset entsprechen. Wenn der Eingabe-Schlüsselfeldwert z. B. lot5986 ist, würde eine Datei auf dem Datenträger mit dem Namen lot5986.jpg diesem Datensatz entsprechen. | Field |
in_file_filter (optional) | Dieser Parameter wird verwendet, um die Dateien einzuschränken, die vom Werkzeug für den Vergleich in Betracht gezogen werden. Wenn der Dateiname die Kriterien nicht im Dateifilterparameter erfüllt, wird er nicht verarbeitet und wird daher nicht in der Ausgabe-Zuordnungstabelle angezeigt. Platzhalter (*) können in diesem Parameter für flexiblere Filteroptionen verwendet werden. Es können auch mehrere durch Semikolons getrennte Filter verwendet werden. Ein Verzeichnis kann z. B. die folgenden Dateien enthalten: parcel.tif, parcel.doc, parcel.jpg, houses.jpg und report.pdf. Um die möglichen Übereinstimmungen in dieser Liste auf .jpg-Dateien zu beschränken, verwenden Sie *.jpg. Um die möglichen Übereinstimmungen in dieser Liste auf .pdf- und .doc-Dateien zu beschränken, verwenden Sie *.pdf; *.doc. Um die möglichen Übereinstimmungen in dieser Liste auf Dateien zu beschränken, die mit parcel beginnen, verwenden Sie parcel*. Um die möglichen Übereinstimmungen in dieser Liste auf Dateien zu beschränken, die den Text arc enthalten, verwenden Sie *arc*. | String |
in_use_relative_paths (optional) | Bestimmt, ob das Tabellenfeld FILENAME der Ausgabe-Zuordnungstabelle einen vollständigen Pfad zum Dataset oder nur den Dateinamen enthält.
| Boolean |
Codebeispiel
Der folgende Codeausschnitt veranschaulicht, wie GenerateAttachmentMatchTable im Python-Fenster verwendet wird.
import arcpy
arcpy.GenerateAttachmentMatchTable_management("C:/data/parcels.gdb/parcels",
"C:/attachment_folder",
"C:/data/temp.gdb/matchtable",
"AttachmentKeyField",
"*.jpg; *.pdf",
"ABSOLUTE")
Das folgende eigenständige Skript veranschaulicht, wie das Werkzeug GenerateAttachmentMatchTable verwendet wird, um eine Zuordnungstabelle zu erstellen, die nur Übereinstimmungen für JPG- und PDF-Dateien enthält.
# Name: GenerateAttachmentMatchTable_Example.py
# Description: Creates 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, os
# Set local variables.
rootFolder = 'c:/work/'
for folder in os.walk(rootFolder):
if folder[0].find('.gdb') == -1: #exclude file geodatabases from the folder list.
arcpy.GenerateAttachmentMatchTable_management("C:/data/parcels.gdb/parcels",
folder[0],
"C:/data/temp.gdb/matchtable",
"AttachmentKeyField",
"*property*.jpg",
"RELATIVE")
Umgebungen
Lizenzinformationen
- Basic: Nein
- Standard: Ja
- Advanced: Ja