操作方法

操作方法:使用 ArcPy 列出 ArcGIS Pro 地图中所选图层

Last Published: June 20, 2024

摘要

ArcGIS Pro 地图包含多个图层,每个图层代表不同的数据集。 对图层进行优先级排序可提升数据管理与组织效率,确保正确使用、更新或共享相关图层。

本文介绍了使用 ArcPy 列出 ArcGIS Pro 地图中所选图层的工作流。

过程

Note:
This workflow requires a full script to run in the ArcGIS Pro Python window. The indents must be retained as portrayed in the code block.
  1. 在 ArcGIS Pro 中,打开包含图层的地图。
  2. 打开 Python 窗口。 有关详细信息,请参阅 ArcGIS Pro:Python 窗口
Note: 
Select the features interactively before running the Python code. Refer to ArcGIS Pro: Select features for instructions.
  1. 运行以下脚本。
    1. 检索当前活动地图。
import arcpy

def get_selected_layers():
    active_map = arcpy.mp.ArcGISProject("CURRENT").activeMap
    1. 检索该地图中的图层列表。
    layers = active_map.listLayers()
    1. 创建一个空列表以存储所选图层。
    selected_layers = []
    1. 循环遍历每个图层以检查其是否处于选中状态。
    for layer in layers:
        selection_set = layer.getSelectionSet()
        if selection_set:
            selected_layers.append(layer.name)

    return selected_layers
    1. 打印所选图层的列表。
if __name__ == "__main__":
    selected_layers = get_selected_layers()
    print("Selected Layers:")
    for layer_name in selected_layers:
        print(layer_name)

以下代码演示了完整工作脚本。

import arcpy

def get_selected_layers():
    active_map = arcpy.mp.ArcGISProject("CURRENT").activeMap

    layers = active_map.listLayers()

    selected_layers = []

  for layer in layers:
        selection_set = layer.getSelectionSet()
        if selection_set:
            selected_layers.append(layer.name)

    return selected_layers

if __name__ == "__main__":
    selected_layers = get_selected_layers()
    print("Selected Layers:")
    for layer_name in selected_layers:
        print(layer_name)

下图显示了在 Python 窗口中打印的所选图层列表。

将在 Python 窗口中打印所选图层的列表

文章 ID: 000032814

获得人工智能支持

使用 Esri Support AI Chatbot 快速解决您的问题。

立即开始聊天

相关信息

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

获取来自 ArcGIS 专家的帮助

联系技术支持部门

立即开始聊天

转至下载选项