#1 Tue 30 August 2016 21:40
- Evelyne
- Participant occasionnel
- Lieu: Rimouski
- Date d'inscription: 8 Jul 2013
- Messages: 18
Ajouter un champ avec nom du shapefile
Bonjour
Je souhaite ajouter un champs contenant le nom du shapefile sur plus de 60 shp. Y a t'il un outil qui permet de faire cette opération en batch? (je ne connais pas le langage phyton ni ModelBuilder)
Merci
Evelyne, Géographe M. Sc , Auxiliaire de recherche - Laboratoire de dynamique et de gestion intégrée des zones côtières UQAR
Hors ligne
#2 Wed 31 August 2016 15:12
Re: Ajouter un champ avec nom du shapefile
D'autres personnes ont eu ce besoin cf http://gis.stackexchange.com/questions/ … -shapefile et l'ont résolu avec Python donc ça doit être possible d'adapter :
Code:
mxd = arcpy.mapping.MapDocument("Current") layerlist = arcpy.mapping.ListLayers(mxd) x = 0 while x < len(layerlist): layer = layerlist[x] layername = str(layer.name) expression = "'" + layername + "'" arcpy.AddField_management(layer, "identify", "TEXT") arcpy.CalculateField_management (layer, "identify", expression, "PYTHON_9.3", "#") x = x + 1
Le code suppose que tous tes fichiers shp sont dans le MXD courant.
Tu dois sauver le code dans un fichier .py, ouvrir une console Python dans ArcGIS et lancer le script avec execfile par ex execfile(r'c:\Users\evelyne\script.py')
Sinon sans Python, ce n'est pas évident. Si tu as les outils GDAL / OGR, il y aurait moyen de faire ça avec ogr2ogr et la ligne de commande Windows.
Hors ligne