Generar tabla de coincidencia de adjuntos (Administración de datos)
Resumen
Herramienta de geoprocesamiento de ArcGIS que crea una Tabla de coincidencia para usarla 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 pasará por cada fila en un dataset objetivo de entrada y comparará el Campo clave en este dataset con los nombres de archivos en la Carpeta de entrada. Para cada coincidencia que ocurre, se creará un registro en la tabla de salida que contiene el valor ObjectID del Dataset de entrada y el nombre del archivo que coincidió (o de manera opcional, la ruta completa a ese archivo). Cuando se utiliza en las herramientas Add_Attachments y Remove_Attachments, el campo MATCHID se utiliza como el campo clave para vincular los archivos en el disco para los registros en el dataset de entrada.
Si la ubicación de la Tabla de coincidencias de salidas es una carpeta, la salida se puede crear como una tabla de dBASE al especificar un nombre con la extensión. dbf, o se pueden crear como una tabla INFO al especificar 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
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 |
Tabla que se generará que contiene dos columnas: MATCHID y FILENAME. | Table |
in_key_field |
Los valores en este campo coincidirán con los nombres de los archivos en 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 del Campo clave de entrada es lot5986, un archivo en el disco llamado lot5986.jpg coincidirían con este registro. | Field |
in_file_filter (Opcional) | Este parámetro se usa para limitar los archivos que la herramienta considera para que coincidan. Si el nombre del archivo no cumple con los criterios del parámetro del filtro del archivo, no se procesará y por lo tanto no aparecerá en la tabla de coincidencia de salida. Los comodines (*) se pueden utilizar en este parámetro para 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 contenga los siguientes archivos: parcel.tif, parcel.doc, parcel.jpg, houses.jpg y report.pdf. Para limitar las posibles coincidencia en esta lista a los archivos .jpg, utilice *.jpg. Para limitar las posibles coincidencia en esta lista a los archivos .pdf y .doc, utilice *.pdf; *.doc. Para limitar las posibles coincidencia en esta lista a los archivos que inician con parcela, utilice parcela*. Para limitar las posibles coincidencia en esta lista a los archivos que contienen el texto arc, utilice *arc*. | String |
in_use_relative_paths (Opcional) | Determina si el campo de la tabla de coincidencias de salida FILENAME incluirá una ruta completa al dataset o solamente el nombre de archivo.
| Boolean |
Ejemplo de código
El siguiente fragmento de códigos demuestra la forma en que se debe usar GenerateAttachmentsMatchTable 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")
La siguiente secuencia de comandos independiente demuestra cómo usar la herramienta GenerateAttachmentMatchTable para crear una tabla de coincidencias que contenga coincidencias solamente 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")