操作方法
使用 Python 关闭图层组的可见性后,用户无法查看一组图层组中的所需子图层。
子图层将继承图层组的可见性,因此如果将图层组标记为不可见,则任何切换子图层可见性的尝试都将不起作用。
通常情况下,如果不禁用所选子图层的可见性,Python 方法 isGroupLayer 将不允许用户关闭组中其余图层的可见性。
子图层将继承图层组的可见性,因此如果将图层组标记为不可见,则任何切换子图层可见性的尝试都将不起作用。
通常情况下,如果不禁用所选子图层的可见性,Python 方法 isGroupLayer 将不允许用户关闭组中其余图层的可见性。
以下代码片段允许用户切换父图层组的可见性,而不会影响到所选子图层的可见性。 用户可以将方法 layer.longName 的参数定义为所需的子图层,以保留所选子图层的可见性。
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()
相同的代码块也可以通过独立的(.py 文件)脚本来保存和执行。 但是,建议在执行脚本之前启动 ArcMap,以便能够分析结果。
要将上述代码块用作独立脚本,请将:
mxd = arcpy.mapping.MapDocument("current")
替换为 MXD 的 Windows 目录位置:
mxd = arcpy.mapping.MapDocument("C:\ C:\Users\UserName\Documents\TestFiles")
获取来自 ArcGIS 专家的帮助
下载 Esri 支持应用程序