操作方法

操作方法:在 ArcMap 中使用 Python 脚本切换图层组的特定子图层的可见性

Last Published: November 30, 2021

摘要

使用 Python 关闭图层组的可见性后,用户无法查看一组图层组中的所需子图层。
子图层将继承图层组的可见性,因此如果将图层组标记为不可见,则任何切换子图层可见性的尝试都将不起作用。
通常情况下,如果不禁用所选子图层的可见性,Python 方法 isGroupLayer 将不允许用户关闭组中其余图层的可见性。

原因

子图层将继承图层组的可见性,因此如果将图层组标记为不可见,则任何切换子图层可见性的尝试都将不起作用。

通常情况下,如果不禁用所选子图层的可见性,Python 方法 isGroupLayer 将不允许用户关闭组中其余图层的可见性。

过程

以下代码片段允许用户切换父图层组的可见性,而不会影响到所选子图层的可见性。 用户可以将方法 layer.longName 的参数定义为所需的子图层,以保留所选子图层的可见性。

  1. 在 ArcMap 中,单击地理处理 > Python
  2. 输入以下代码块:
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()
  1. Enter 键。

相同的代码块也可以通过独立的(.py 文件)脚本来保存和执行。 但是,建议在执行脚本之前启动 ArcMap,以便能够分析结果。

要将上述代码块用作独立脚本,请将:

mxd = arcpy.mapping.MapDocument("current")

替换为 MXD 的 Windows 目录位置:

mxd = arcpy.mapping.MapDocument("C:\ C:\Users\UserName\Documents\TestFiles")

文章 ID: 000013577

接收通知并查找新问题或常见问题的解决方案

从我们全新的 AI 聊天机器人中获得简明答案和视频解决方案。

下载 Esri 支持应用程序

相关信息

发现关于本主题的更多内容

获取来自 ArcGIS 专家的帮助

联系技术支持部门

下载 Esri 支持应用程序

转至下载选项