Résumé
Crée une table d'appariement utilisable avec les outils Ajouter une pièce jointe et Retirer une pièce jointe.
Pour en savoir plus sur l'utilisation des outils de géotraitement des pièces jointes
Utilisation
Cet outil analyse chaque ligne du jeu de données cible en entrée et compare le Champ de clé de ce jeu de données aux noms de fichiers du Dossier en entrée. Pour chaque correspondance trouvée, un enregistrement est créé dans la table en sortie qui contient la valeur ObjectID du Jeu de données en entrée et le nom du fichier apparié (ou facultativement le chemin d'accès complet à ce fichier). Utilisé avec les outils Ajouter une pièce jointe et Retirer une pièce jointe le champ MATCHID sert de champ clé pour lier les fichiers du disque à des enregistrements du jeu de données en entrée.
Si l'emplacement de la table Output Match Table (Table d'appariement en sortie) est un dossier, la sortie peut être créée comme une table dBASE en spécifiant un nom avec l'extension .dbf, ou elle peut être convertie en une table INFO en spécifiant un nom sans extension. Si l'emplacement en sortie est une géodatabase, la table de correspondances est une table de géodatabase (ne pas spécifier d'extension).
Syntaxe
arcpy.management.GenerateAttachmentMatchTable(in_dataset, in_folder, out_match_table, in_key_field, {in_file_filter}, {in_use_relative_paths})
Paramètre | Explication | Type de données |
in_dataset | Jeu de données en entrée contenant des enregistrements qui auront des fichiers joints. | Table View |
in_folder | Dossier qui contient des fichiers à joindre. | Folder |
out_match_table | La table qui sera générée contient deux colonnes : MATCHID et FILENAME. | Table |
in_key_field | Les valeurs dans ce champ correspondront aux noms des fichiers dans le dossier en entrée. Le comportement correspondant ignore les extensions de fichier, qui permettent l'appariement de plusieurs fichiers portant différentes extensions de fichier avec un seul enregistrement dans le jeu de données en entrée. Par exemple, si la valeur du Champ clé d'entrée est lot5986, un fichier sur un disque dénommé lot5986.jpg doit correspondre à cet enregistrement. | Field |
in_file_filter (Facultatif) | Ce paramètre permet de limiter les fichiers que l'outil prend en compte pour l'appariement. Si le nom de fichier ne répond pas aux critères dans le paramètre de filtre de fichiers il ne sera pas traité et par conséquent n'apparaîtra pas dans la table d'appariement en sortie. Les caractères génériques (*) peuvent être utilisés dans ce paramètre pour augmenter la flexibilité des options de filtrage. Plusieurs filtres délimités par des points-virgules peuvent également être utilisés. Par exemple, un répertoire contient les fichiers suivants : parcel.tif, parcel.doc, parcel.jpg, houses.jpg, et report.pdf. Pour réduire les appariements possibles de cette liste avec les fichiers .jpg, utilisez *.jpg. Pour réduire les appariements possibles de cette liste avec les fichiers .pdf et .doc, utilisez *.pdf; *.doc. Pour réduire les appariements possibles de cette liste avec les fichiers parcel, utilisez parcelle. Pour réduire les appariements possibles de cette liste avec les fichiers qui contiennent le texte arc, utilisez *arc*. | String |
in_use_relative_paths (Facultatif) | Détermine si le champ table d'appariement en sortie FILENAME contient un chemin complet vers le jeu de données ou seulement le nom de fichier.
| Boolean |
Exemple de code
L'extrait de code suivant illustre l'utilisation de l'outil GenerateAttachmentMatchTable dans la fenêtre Python.
import arcpy
arcpy.GenerateAttachmentMatchTable_management("C:/data/parcels.gdb/parcels",
"C:/attachment_folder",
"C:/data/temp.gdb/matchtable",
"AttachmentKeyField",
"*.jpg; *.pdf",
"ABSOLUTE")
Le script autonome suivant décrit comment utiliser l'outil GenerateAttachmentMatchTable pour créer un tableau d'appariement qui présente les correspondances des fichiers JPG et PDF uniquement.
# 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")
Environnements
Informations de licence
- Basic: Non
- Standard: Oui
- Advanced: Oui
Rubriques connexes
Vous avez un commentaire à formuler concernant cette rubrique ?