français

Procédure : activer/désactiver la visibilité d’une sous-couche spécifique d’un groupe de couches parent à l’aide d’un script Python

Résumé

Les utilisateurs ne peuvent pas afficher la sous-couche souhaitée dans un jeu de groupes de couches après avoir désactivé la visibilité du groupe de couches parent via Python.

Procédure

La section de code ci-après autorise l’utilisateur à activer/désactiver la visibilité des groupes de couches parent sans affecter la visibilité de la sous-couche sélectionnée. En définissant le paramètre de la méthode layer.longName sur la sous-couche souhaitée, les utilisateurs peuvent conserver la visibilité de la sous-couche sélectionnée.

  1. Dans ArcMap, cliquez sur Geoprocessing (Géotraitement) > Python.
  2. Entrez le bloc de code suivant :
    import arcpy
    mxd = arcpy.mapping.MapDocument("current")
    data_frame = arcpy.mapping.ListDataFrames(mxd, "Layers")[0]
    layers = arcpy.mapping.ListLayers(mxd)
    
    for layer in layers:
      if layer.isGroupLayer:
        layer.visible = True
      if layer.longName =="Group Name\SubLayer Name":
        layer.visible = True
    
    arcpy.RefreshTOC()
    arcpy.RefreshActiveView()
    
  3. Appuyez sur Entrée.
Il est également possible d’enregistrer et d’exécuter le même bloc de code via un script autonome (fichier .py) Il est toutefois conseillé de démarrer ArcMap avant d’exécuter le script pour pouvoir analyser les résultats.

Pour utiliser le bloc de code ci-dessus en tant que script autonome, remplacez :
mxd = arcpy.mapping.MapDocument("current")
par l’emplacement du répertoire Windows du fichier MXD :
mxd = arcpy.mapping.MapDocument("C:\ C:\Users\UserName\Documents\TestFiles")

Informations associées