HOW TO

Auflisten ausgewählter Layer aus einer ArcGIS Pro-Karte mit ArcPy

Last Published: June 20, 2024

Zusammenfassung

Eine ArcGIS Pro-Karte besteht aus mehreren Layern, die jeweils unterschiedliche Datasets repräsentieren. Die Priorisierung der Layer unterstützt das Datenmanagement und die Organisation und stellt sicher, dass relevante Layer verwendet, aktualisiert oder freigegeben werden.

In diesem Artikel wird der Workflow zur Auflistung der ausgewählten Layer aus einer ArcGIS Pro-Karte mit ArcPy beschrieben.

Vorgehensweise

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. Öffnen Sie in ArcGIS Pro die Karte mit den Layern.
  2. Öffnen Sie das Python-Fenster. Weitere Informationen finden Sie unter ArcGIS Pro: Python-Fenster.
Note: 
Select the features interactively before running the Python code. Refer to ArcGIS Pro: Select features for instructions.
  1. Führen Sie das folgende Skript aus.
    1. Rufen Sie die aktuell aktive Karte ab.
import arcpy

def get_selected_layers():
    active_map = arcpy.mp.ArcGISProject("CURRENT").activeMap
    1. Rufen Sie die Liste der Layer in der Karte ab.
    layers = active_map.listLayers()
    1. Erstellen Sie eine leere Liste zum Speichern der ausgewählten Layer.
    selected_layers = []
    1. Durchlaufen Sie die einzelnen Layer, um zu prüfen, ob sie ausgewählt sind.
    for layer in layers:
        selection_set = layer.getSelectionSet()
        if selection_set:
            selected_layers.append(layer.name)

    return selected_layers
    1. Drucken Sie die Liste der ausgewählten Layer.
if __name__ == "__main__":
    selected_layers = get_selected_layers()
    print("Selected Layers:")
    for layer_name in selected_layers:
        print(layer_name)

Mit dem folgenden Code wird das voll funktionsfähige Skript demonstriert.

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)

Die folgende Abbildung zeigt die Liste der ausgewählten Layer, die im Python-Fenster gedruckt wurde.

Die Liste der im Python-Fenster gedruckten ausgewählten Layer

Artikel-ID: 000032814

Holen Sie sich Unterstützung mit KI

Lösen Sie Ihr Problem schnell mit dem Esri Support AI Chatbot.

Beginnen Sie jetzt mit dem Chatten

Zugehörige Informationen

Weitere Informationen zu diesem Thema erkunden

Unterstützung durch ArcGIS-Experten anfordern

An den technischen Support wenden

Beginnen Sie jetzt mit dem Chatten

Zu Download-Optionen wechseln