Etiqueta | Explicación | Tipo de datos |
Dataset de entrada | Dataset que contiene registros a los que se adjuntarán archivos. | Table View |
Carpeta de entrada | Carpeta que contiene archivos que se adjuntarán. | Folder |
Tabla de concordancias de salida | La tabla de concordancias de salida con los campos MATCHID y FILENAME. | Table |
Campo clave | El campo desde el cual se utilizarán los valores para que coincidan con los nombres de los archivos de la carpeta de entrada. El comportamiento coincidente comparará los valores de campo con cada nombre de archivo, independientemente de la extensión de archivo. Así, es posible que varios archivos con varias extensiones de archivo coincidan con un único registro en el dataset de entrada. Por ejemplo, un valor de campo de lot5986 coincidirá con un archivo denominado lot5986.jpg si el valor del parámetro Patrón de coincidencia es Exacta. | Field |
Filtro de datos de entrada (Opcional) | Un filtro de datos que se utilizará para limitar los archivos que se tienen en cuenta para la coincidencia. Es posible usar comodines (*) para disponer de opciones de filtrado más flexibles. También se admiten varios filtros delimitados por punto y coma. Por ejemplo, tiene un directorio de entrada con una variedad de tipos de archivo. Para limitar las posibles coincidencias solo a los archivos .jpg, utilice un valor de *.jpg. Para limitar las posibles coincidencias solo a los archivos .pdf y .doc, utilice un valor de *.pdf; *.doc. Para limitar las posibles coincidencias solo a nombres de archivo que contengan el texto arc, utilice un valor de *arc*. | String |
Almacenar ruta relativa (Opcional) | Especifica si el campo FILENAME de la tabla de concordancias de salida contendrá rutas completas o solo los nombres de archivo.
| Boolean |
Patrón de coincidencia (Opcional) | Especifica el tipo de patrón de coincidencia que se utilizará para emparejar los nombres de archivo con el valor del parámetro Campo clave especificado.
| String |
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 evaluará cada fila del dataset de destino de entrada y comparará los valores del parámetro Campo clave con los nombres de los archivos multimedia admitidos en el valor del parámetro Carpeta de entrada. Para cada concordancia que se produce, se creará un registro en la tabla de salida que contiene el valor de Id. de objeto proveniente del dataset de entrada y el nombre de los archivos de coincidencia (u, opcionalmente, la ruta completa de los archivos). Cuando se utiliza con las herramientas Agregar adjuntos y Eliminar adjuntos, el campo MATCHID se utiliza como campo clave para vincular uno o varios archivos del disco con los registros del dataset de entrada.
Si el valor del parámetro Tabla de concordancias de salida es una carpeta, la salida se puede crear como una tabla dBASE especificando un nombre con la extensión .dbf. Si la ubicación de salida es una geodatabase, la tabla de coincidencia será una tabla de geodatabase (no especifique una extensión).
Parámetros
arcpy.management.GenerateAttachmentMatchTable(in_dataset, in_folder, out_match_table, in_key_field, {in_file_filter}, {in_use_relative_paths}, {match_pattern})
Nombre | Explicación | Tipo de datos |
in_dataset | Dataset que contiene registros a los que se adjuntarán archivos. | Table View |
in_folder | Carpeta que contiene archivos que se adjuntarán. | Folder |
out_match_table | La tabla de concordancias de salida con los campos MATCHID y FILENAME. | Table |
in_key_field | El campo desde el cual se utilizarán los valores para que coincidan con los nombres de los archivos de la carpeta de entrada. El comportamiento coincidente comparará los valores de campo con cada nombre de archivo, independientemente de la extensión de archivo. Así, es posible que varios archivos con varias extensiones de archivo coincidan con un único registro en el dataset de entrada. Por ejemplo, un valor de campo de lot5986 coincidirá con un archivo denominado lot5986.jpg si el valor del parámetro match_pattern es EXACT. | Field |
in_file_filter (Opcional) | Un filtro de datos que se utilizará para limitar los archivos que se tienen en cuenta para la coincidencia. Es posible usar comodines (*) para disponer de opciones de filtrado más flexibles. También se admiten varios filtros delimitados por punto y coma. Por ejemplo, tiene un directorio de entrada con una variedad de tipos de archivo. Para limitar las posibles coincidencias solo a los archivos .jpg, utilice un valor de *.jpg. Para limitar las posibles coincidencias solo a los archivos .pdf y .doc, utilice un valor de *.pdf; *.doc. Para limitar las posibles coincidencias solo a nombres de archivo que contengan el texto arc, utilice un valor de *arc*. | String |
in_use_relative_paths (Opcional) | Especifica si el campo FILENAME de la tabla de concordancias de salida contendrá rutas completas o solo los nombres de archivo.
| Boolean |
match_pattern (Opcional) | Especifica el tipo de patrón de coincidencia que se utilizará para emparejar los nombres de archivo con el valor del parámetro key_field.
| String |
Muestra de código
El siguiente fragmento de código demuestra cómo utilizar la función GenerateAttachmentMatchTable en la ventana de Python.
import arcpy
arcpy.management.GenerateAttachmentMatchTable(
"C:/data/parcels.gdb/parcels",
"C:/attachment_folder",
"C:/data/temp.gdb/matchtable",
"AttachmentKeyField",
"*.jpg; *.pdf",
"ABSOLUTE",
"EXACT")
El siguiente script independiente muestra cómo utilizar la función GenerateAttachmentMatchTable para crear una tabla de concordancias que contenga concordancias para los archivos .jpg y .pdf.
# 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")