Agregar adjuntos (Administración de datos)

Resumen

Agrega adjuntos de archivos a los registros de una tabla o clase de entidad de geodatabase. Los adjuntos se almacenan internamente en la geodatabase en una tabla de adjuntos separada que mantiene vínculo con el dataset objetivo. Los adjuntos se agregan al dataset de destino usando una tabla de coincidencia que dicta para cada registro de entrada (o un grupo de registros de atributo) la ruta a un archivo para agregarlo como adjunto a ese registro.

Más información sobre los adjuntos de geodatabase

Obtenga más información sobre cómo trabajar con las herramientas de geoprocesamiento de adjuntos

Ilustración

Add Attachment tool illustration
Add Attachments illustration

Uso

Sintaxis

AddAttachments_management (in_dataset, in_join_field, in_match_table, in_match_join_field, in_match_path_field, {in_working_folder})
ParámetroExplicaciónTipo de datos
in_dataset

Tabla de geodatabase o clase de entidad a la cual agregar adjuntos. Los adjuntos no se agregan directamente a esta tabla, sino más bien a una tabla de adjuntos relacionada que mantiene un vínculo con el dataset de entrada.

El Dataset de entrada se debe guardar en una geodatabase versión 10.0 o más reciente, y la tabla debe tener habilitados los adjuntos.

Table View
in_join_field

Campo de Dataset de entrada que tiene valores que coinciden con los valores en el Campo de unión de coincidencias. A los registros que tienen valores de campos de unión que coinciden entre el Dataset de entrada y la Tabla de coincidencias se les agregarán los adjuntos. Este campo puede ser un campo de ID de objeto o cualquier otro atributo de identificación.

Field
in_match_table

Tabla que identifica a qué registros de entrada se les agregarán adjuntos y las rutas a esos adjuntos.

Table View
in_match_join_field

Campo de la tabla de coincidencias que indica a qué registros en el Dataset de entrada se le agregarán adjuntos específicos. Este campo puede tener valores que coinciden con las ID de los objetos del Dataset de entrada u otro atributo que los identifique.

Field
in_match_path_field

Campo de la tabla de coincidencias que contiene rutas a los adjuntos para agregar a los registros del Dataset de entrada.

Field
in_working_folder
(Opcional)

Carpeta o espacio de trabajo en donde se centralizan los archivos de adjuntos. Al especificar una carpeta de trabajo, las rutas en el Campo Ruta de coincidencias pueden ser nombres cortos de archivos relacionados con la carpeta de trabajo.

Por ejemplo, si al cargar adjuntos con rutas como C:\MyPictures\image1.jpg, C:\MyPictures\image2.jpg, se establece la Carpeta de trabajo en C:\MyPictures, entonces las rutas en el campo Ruta de coincidencia pueden ser los nombres cortos como image1.jpg y image2.jpg, en vez de rutas completas más largas.

Folder

Ejemplo de código

Ejemplo de AddAttachments (ventana de Python)

El siguiente fragmento de código ilustra la forma en que se debe usar la herramienta AddAttachments en la ventana de Python.

import arcpy arcpy.AddAttachments_management(r"C:\Data\City.gdb\Parcels", "ParcelID", r"C:\Data\matchtable.csv", "ParcelID","Picture" , r"C:\Pictures")
Ejemplo de AddAttachments (secuencia de comandos Python independiente)

La siguiente secuencia de comandos ilustra la forma en que se debe usar la herramienta AddAttachments en una secuencia de comandos independiente.

""" Example: we have a folder of digital photographs of vacant homes; the photos are named according to the ParcelID of the house in the picture. Let's add these photos to a parcel feature class as attachments. """  import csv import arcpy import os import sys  input = r"C:\Data\City.gdb\Parcels" inputField = "ParcelID" matchTable = r"C:\Data\matchtable.csv" matchField = "ParcelID" pathField = "Picture"  picFolder = r"C:\Pictures"  try:     # create a new Match Table csv file     writer = csv.writer(open(matchTable, "wb"), delimiter=",")      # write a header row (the table will have two columns: ParcelID and Picture)     writer.writerow([matchField, pathField])      # iterate through each picture in the directory and write a row to the table     for file in os.listdir(picFolder):         if str(file).find(".jpg") > -1:             writer.writerow([str(file).replace(".jpg", ""), file])      del writer      # the input feature class must first be GDB attachments enabled     arcpy.EnableAttachments_management(input)      # use the match table with the Add Attachments tool     arcpy.AddAttachments_management(input, inputField, matchTable, matchField, pathField, picFolder) except:     print arcpy.GetMessages(2)

Entornos

Temas relacionados

9/11/2013