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

Last Published: November 30, 2021

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.

Cause

La sous-couche (enfant) hérite de la visibilité de la couche parent. Par conséquent, toute tentative d’activation/de désactivation de la visibilité de la sous-couche ne fonctionne pas si la couche parent est marquée comme invisible.

La méthode Python isGroupLayer n’autorise généralement pas les utilisateurs à désactiver la visibilité des couches restantes du groupe sans désactiver la visibilité de la sous-couche sélectionnée.

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")

ID d’article:000013577

Obtenir de l’aide auprès des experts ArcGIS

Contacter le support technique

Télécharger l’application Esri Support

Accéder aux options de téléchargement

Informations associées

En savoir plus sur ce sujet