Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Suite à un problème technique intervenu entre le 22 et le 23 mars, nous avons du procéder dans la soirée du 25 mars, à la restauration de la base de données du 24 mars (matinée).

En clair, nous avons perdu vos contributions et inscriptions du dimanche 24 et du lundi 25 mars.
Nous vous prions de nous excuser.

#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

gvellut
Participant actif
Lieu: Annecy
Date d'inscription: 13 Apr 2006
Messages: 112
Site web

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

 

Pied de page des forums

Powered by FluxBB