Resumen
Crea una tabla de concordancias para su uso con las herramientas Agregar adjuntos y Eliminar adjuntos.
Obtenga más información sobre cómo trabajar con las herramientas de geoprocesamiento de adjuntos
Uso
Esta herramienta recorre cada fila del dataset de destino de entrada y compara el Campo clave de este dataset con los nombres de los archivos de la Carpeta de entrada. Para cada concordancia que se produce, se crea un registro en la tabla de salida que contiene el valor de ObjectID proveniente del Dataset de entrada y el nombre del archivo de coincidencia (u, opcionalmente, la ruta completa del archivo). Cuando se utiliza en las herramientas Agregar adjuntos y Eliminar adjuntos, el campo MATCHID se utiliza como campo clave para vincular los archivos del disco con los registros del dataset de entrada.
Si la ubicación Tabla de concordancia de salida es una carpeta, la salida se puede crear como una tabla de dBASE especificando un nombre con la extensión .dbf o puede crearse como una tabla INFO especificando un nombre sin extensión. Si la ubicación de salida es una geodatabase, la tabla de coincidencia será una tabla de geodatabase (no especifique una extensión).
Sintaxis
arcpy.management.GenerateAttachmentMatchTable(in_dataset, in_folder, out_match_table, in_key_field, {in_file_filter}, {in_use_relative_paths})
Parámetro | Explicación | Tipo de datos |
in_dataset | Dataset de entrada que contiene registros a los que se adjuntarán archivos. | Table View |
in_folder | Carpeta que contiene archivos a adjuntar. | Folder |
out_match_table | La tabla que se generará, que contiene dos columnas: MATCHID y FILENAME. | Table |
in_key_field | Los valores de este campo concordarán con los nombres de los archivos de la carpeta de entrada. El comportamiento que coincide ignorará las extensiones de archivos, que permite que varios archivos con varias extensiones de archivo coincidan con un registro único en el dataset de entrada. Por ejemplo, si el valor Campo clave de entrada es lot5986, un archivo en el disco denominado lot5986.jpg coincidiría con este registro. | Field |
in_file_filter (Opcional) | Este parámetro se utiliza para limitar los archivos que la herramienta considera para la concordancia. Si el nombre de archivo no cumple los criterios del parámetro de filtro de archivo, no se procesará y, por tanto, no aparecerá en la tabla de concordancias de salida. Es posible usar comodines (*) en este parámetro para disponer de opciones de filtrado más flexibles. También se pueden usar varios filtros delimitados por medio de punto y coma. Por ejemplo, considere un directorio que contiene los siguientes archivos: parcel.tif, parcel.doc, parcel.jpg, houses.jpg y report.pdf. Para limitar las posibles concordancias en esta lista a los archivos .jpg, use *.jpg. Para limitar las posibles concordancias en esta lista a los archivos .pdf y .doc, use *.pdf; *.doc. Para limitar las posibles concordancias en esta lista a los archivos cuyo nombre comienza por parcel, use parcel*. Para limitar las posibles concordancias en esta lista a los archivos cuyo nombre contiene el texto arc, use *arc*. | String |
in_use_relative_paths (Opcional) | Determina si el campo FILENAME de la tabla de concordancias de salida contendrá una ruta completa al dataset o solo el nombre de archivo.
| Boolean |
Muestra de código
El siguiente fragmento de código demuestra cómo utilizar el GenerateAttachmentMatchTable en la ventana de Python.
import arcpy
arcpy.GenerateAttachmentMatchTable_management("C:/data/parcels.gdb/parcels",
"C:/attachment_folder",
"C:/data/temp.gdb/matchtable",
"AttachmentKeyField",
"*.jpg; *.pdf",
"ABSOLUTE")
El siguiente script independiente muestra cómo utilizar la herramienta GenerateAttachmentMatchTable para crear una tabla de concordancias que contiene concordancias únicamente para archivos JPG y PDF.
# 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")
Entornos
Información de licenciamiento
- Basic: No
- Standard: Sí
- Advanced: Sí