Solution:
Ce code python ajoute le champ FILENAME à toutes les classes d’entités (à l’exception de celles des jeux de données) et se remplit avec le nom de la classe d’entités.
# Import standard library modules
import arcpy, os, sys
from arcpy import env
# Allow for file overwrite
arcpy.env.overwriteOutput = True
# Set the workspace directory
env.workspace = r"P:geodatabase.gdbfilename"
# Get the list of the featureclasses to process
fc_tables = arcpy.ListFeatureClasses()
# Loop through each file and perform the processing
for fc in fc_tables:
print str("processing " + fc)
# Define field name and expression
field = "FILENAME"
expression = str(fc) #populates field
# Create a new field with a new name
arcpy.AddField_management(fc,field,"TEXT")
# Calculate field here
arcpy.CalculateField_management(fc, field, '"'+expression+'"', "PYTHON")
Il existe un script sur le site Web d’arcscripts qui devrait vous aider à le faire
http://arcscripts.esri.com/details.asp?dbid=14534
Résumé Un script simple pour créer un champ appelé “FILENAME” et attacher le nom de fichier du shapefile à chaque entrée dans la table attributaire. À utiliser avec autant de fichiers de formes dans un répertoire spécifié. Utile lors de la sélection d’entrées de fichier de formes et de leur combinaison dans un fichier séparé pour conserver un fil d’Ariane du nom du fichier de formes d’origine.
Exécuter le fichier dans un répertoire contenant tous les shapfiles nécessitant une modification
J’espère que c’est ce que tu cherches
Voici un lien vers un outil encore meilleur et plus simple utilisant le générateur de modèles.
http://catalog.data.gov/dataset/arcgis-tool-inserts-file-name-into-attribute-table#