Suite

Désactiver toutes les couches dans MXD à l'aide d'ArcPy ?

Désactiver toutes les couches dans MXD à l'aide d'ArcPy ?


J'ai essayé ce script autonome pour désactiver toutes les couches du MXD :

print "Ce script désactive les couches suivantes :" try : arcpy except NameError : import arcpy mxd = arcpy.mapping.MapDocument(r"PATH") pour lyr dans arcpy.mapping.ListLayers(mxd): print lyr.name lyr. visible = Faux mxd.save

Il est adapté du script mentionné pour la fenêtre Python ici :

https://geonet.esri.com/thread/16415

L'autonome que j'ai créé pour IDLE à partir de ceci, ci-dessus, n'a affecté l'état de visibilité d'aucune couche lorsque j'ai ouvert le MXD par la suite pour vérifier. C'est étrange car l'exécution du même script dans la fenêtre Python a désactivé toutes les couches pour moi.

Des indices ?


La raison pour laquelle ce code échoue est que vous manquez () de la méthode de sauvegarde sur votre MXD, vous n'avez donc pas enregistré vos modifications. Ce code a fonctionné pour moi

import arcpy print "Ce script désactive les calques suivants :" mxd = arcpy.mapping.MapDocument(r"C:Scratch
ewcode.mxd") pour lyr dans arcpy.mapping.ListLayers(mxd): print lyr.name lyr .visible = Faux mxd.save() del mxd