Supprimer des pièces jointes (Gestion des données)

Synthèse

Supprime des pièces jointes de classe d'entités de géodatabase ou d'enregistrements de table.

Puisque les pièces jointes ne sont pas véritablement stockées dans le jeu de données en entrée, aucun changement n’est apporté à cette classe d’entités ou table. Les modifications sont apportées à la table de géodatabase associée qui stocke les pièces jointes et gère le lien avec le jeu de données en entrée. Une table de correspondances permet d'identifier quels enregistrements en entrée (ou groupes attributaires d'enregistrements) auront des pièces jointes supprimées.

En savoir plus sur l’utilisation des outils de géotraitement Pièces jointes

Illustration

Illustration de l’outil Supprimer des pièces jointes

Utilisation

  • Une autre possibilité consiste à supprimer des enregistrements sélectionnés de la table InputDataset__ATTACH dans la même géodatabase que la valeur Jeu de données en entrée, qui stocke les pièces jointes et gère les liens avec la valeur Jeu de données en entrée.

  • Cet outil prend en charge une couche d’entités hébergée ArcGIS Enterprise en entrée.

Paramètres

ÉtiquetteExplicationType de données
Jeu de données en entrée

Table de géodatabase ou classe d’entités de laquelle des pièces jointes seront supprimées. Les pièces jointes ne seront pas supprimées directement de cette table. Elles seront supprimées de la table de pièces jointes associée qui stocke les pièces jointes. Les pièces jointes doivent être activées dans le jeu de données.

Table View
Champ de jointure en entrée

Champ provenant de la valeur du paramètre Jeu de données en entrée qui contient des valeurs correspondant aux valeurs dans la valeur du paramètre Apparier le champ de jointure. Des pièces jointes seront supprimées des enregistrements qui ont des valeurs de champ de jointure correspondant à la valeur du paramètre Jeu de données en entrée et à la valeur du paramètre Table d’appariement. Ce champ peut être un champ d'identifiant d'objet ou tout autre attribut d'identification.

Field
Table d'appariement

Table qui identifie quels enregistrements en entrée auront des pièces jointes supprimées.

Table View
Champ de jointure apparié

Champ provenant de la table d’appariement qui indique de quels enregistrements de la valeur du paramètre Jeu de données en entrée les pièces jointes spécifiées seront supprimées. Ce champ peut avoir des valeurs qui correspondent au champ d’ID d’objet Jeu de données en entrée ou à un autre attribut d’identification.

Field
Champ de nom apparié
(Facultatif)

Champ de la table d’appariement contenant les noms des pièces jointes à supprimer des enregistrements de la valeur du paramètre Jeu de données en entrée. Si aucun champ de nom n’est spécifié, toutes les pièces jointes seront supprimées de chaque enregistrement spécifié dans la valeur du paramètre Apparier le champ de jointure. Si un champ de nom est spécifié, mais qu’un enregistrement a une valeur nulle ou vide dans le champ de nom, toutes les pièces jointes seront supprimées de cet enregistrement. Les valeurs de ce champ doivent être des noms courts de la pièce jointe à supprimer, pas les chemins complets aux fichiers utilisés pour attacher les pièces jointes d’origine.

Field

Sortie obtenue

ÉtiquetteExplicationType de données
Jeu de données en entrée mis à jour

Jeu de données en entrée mis à jour

Table View

arcpy.management.RemoveAttachments(in_dataset, in_join_field, in_match_table, in_match_join_field, {in_match_name_field})
NomExplicationType de données
in_dataset

Table de géodatabase ou classe d’entités de laquelle des pièces jointes seront supprimées. Les pièces jointes ne seront pas supprimées directement de cette table. Elles seront supprimées de la table de pièces jointes associée qui stocke les pièces jointes. Les pièces jointes doivent être activées dans le jeu de données.

Table View
in_join_field

Champ provenant de la valeur du paramètre in_dataset qui contient des valeurs correspondant aux valeurs dans la valeur du paramètre in_match_join_field. Des pièces jointes seront supprimées des enregistrements qui ont des valeurs de champ de jointure correspondant à la valeur du paramètre in_dataset et à la valeur du paramètre in_match_table. Ce champ peut être un champ d'identifiant d'objet ou tout autre attribut d'identification.

Field
in_match_table

Table qui identifie quels enregistrements en entrée auront des pièces jointes supprimées.

Table View
in_match_join_field

Champ provenant de la table d’appariement qui indique de quels enregistrements de la valeur du paramètre in_dataset les pièces jointes spécifiées seront supprimées. Ce champ peut avoir des valeurs qui correspondent au champ d’ID d’objet in_dataset ou à un autre attribut d’identification.

Field
in_match_name_field
(Facultatif)

Champ de la table d’appariement contenant les noms des pièces jointes à supprimer des enregistrements de la valeur du paramètre in_dataset. Si aucun champ de nom n’est spécifié, toutes les pièces jointes seront supprimées de chaque enregistrement spécifié dans la valeur du paramètre in_match_join_field. Si un champ de nom est spécifié, mais qu’un enregistrement a une valeur nulle ou vide dans le champ de nom, toutes les pièces jointes seront supprimées de cet enregistrement. Les valeurs de ce champ doivent être des noms courts de la pièce jointe à supprimer, pas les chemins complets aux fichiers utilisés pour attacher les pièces jointes d’origine.

Field

Sortie obtenue

NomExplicationType de données
out_dataset

Jeu de données en entrée mis à jour

Table View

Exemple de code

Exemple 1 d'utilisation de l'outil RemoveAttachments (fenêtre Python)

L’extrait de code ci-dessous illustre l’utilisation de la fonction RemoveAttachments dans la fenêtre Python.

import arcpy
arcpy.management.RemoveAttachments(r"C:\Data\City.gdb\Parcels", "ParcelID", 
                                   r"C:\Data\matchtable.csv", "ParcelID", 
                                   "Picture")
Exemple 2 d’utilisation de l’outil RemoveAttachments (script autonome)

Le script ci-dessous illustre l’utilisation de la fonction RemoveAttachments dans un script autonome.

# Delete unnecessary attachments from a feature class

import arcpy
import csv

input = r"C:\Data\City.gdb\Parcels"
inputField = "ParcelID"
matchTable = r"C:\Data\matchtable.csv"
matchField = "ParcelID"
nameField = "Picture" 

# Create a new Match Table csv file that will tell the RemoveAttachments tool 
# which attachments to delete.
writer = csv.writer(open(matchTable, "wb"), delimiter=",")

# Write a header row (the table will have two columns: ParcelID and Picture)
writer.writerow([matchField, nameField])

# Create a list of the attachments to delete.
# Removes attachments pic1a.jpg and pic1b.jpg from feature 1, pic3.jpg from 
# feature 3, and pic4.jpg from feature 4.
deleteList = [[1, "pic1a.jpg"], [1, "pic1b.jpg"], [3, "pic3.jpg"], [4, "pic4.jpg"]]

# Iterate through the delete list and write it to the Match Table csv.
for row in deleteList:
    writer.writerow(row)

del writer

# Use the match table with the Remove Attachments tool.
arcpy.RemoveAttachments_management(input, inputField, matchTable, matchField, 
                                   nameField)