Anlagen-Zuordnungstabelle erstellen (Data Management)
Zusammenfassung
ArcGIS-Geoverarbeitungswerkzeug, das eine Zuordnungstabelle erstellt, die mit den Werkzeugen Anlagen hinzufügen und Anlagen entfernen verwendet werden soll.
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 MATCHID-Feld 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
Parameter | Erläuterung | 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 generiert wird und die zwei Spalten enthält: 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 zeigt, wie das Werkzeug "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")