Arc GIS 10.1 - Sortieren von Ebenen, die im Inhaltsverzeichnis aufsteigend in „Liste nach Zeichnungsreihenfolge“ sortiert sind


8

Ich habe ungefähr 100 Funktionen in meinem ArcMap-Projekt. Ich wähle im Inhaltsverzeichnis den Ansichtsmodus "Liste nach Zeichnungsreihenfolge". Wie kann ich diese Liste aufsteigend oder alphabetisch sortieren? Unter dem Optionsfeld ist nichts dergleichen. Die Zeichenreihenfolge sollte nach Namen aufsteigend sein. Oder wie kann ich sie anders sortieren?

Antworten:


4

Ich habe ein Skript mit MoveLayer und einer temporären Gruppenebene geschrieben, damit dies funktioniert. Erstellen Sie zuerst eine neue Gruppenebene an einer beliebigen Stelle in Ihrem Inhaltsverzeichnis (egal wie sie heißt, sie wird am Ende gelöscht). Dies funktioniert nur unter der Annahme, dass diese temporäre Gruppenschicht die einzige im mxd ist. Dies kann natürlich umgangen werden, indem Sie Ihrer temporären Ebene einen konstanten Namen geben (z. B. "TempGroup") und das Skript so ändern, dass diese Gruppenebene speziell für die Sortierung verwendet wird.

mxd = arcpy.mapping.MapDocument("CURRENT")
df = arcpy.mapping.ListDataFrames(mxd)[0] # Assuming one data frame
group_lyr = [lyr for lyr in arcpy.mapping.ListLayers(mxd) if lyr.isGroupLayer][0] # The temp group layer should be the only one
lyr_names = sorted(lyr.name for lyr in arcpy.mapping.ListLayers(mxd) if lyr.isFeatureLayer)

for name in lyr_names:
    arcpy.mapping.MoveLayer(df, group_lyr, arcpy.mapping.ListLayers(mxd, name)[0], "BEFORE")

arcpy.mapping.RemoveLayer(df, group_lyr)

Gist ist hier . Ich verwende ArcGIS 10.3.1 für Desktop.


mxd.save() del mxd
Fügen

Die oben genannte Änderung ist nur erforderlich, wenn das Skript programmgesteuert auf einem vorhandenen mxd aufgerufen wird. Die Antwort wurde mit der Annahme geschrieben, dass sie im Python-Fenster in ArcMap ausgeführt wird.
Cindy Jayakumar

danke Cidny, aber ich laufe in einer externen Python-Datei.
NewGIS

2

Es gibt keine Möglichkeit, die Liste nach Zeichnungsreihenfolge zu sortieren (ohne Programmierung).

Es ist jedoch möglich, die Liste nach Sichtbarkeits- Inhaltsverzeichnis und die Auflistung nach Auswahl- Inhaltsverzeichnis zu sortieren : Gehen Sie zum Optionsfeld im Inhaltsverzeichnis. Wählen Sie auf der Registerkarte "Einstellungen" aus, ob Ebenen nach der Reihenfolge sortiert werden sollen, in der sie gezeichnet werden, oder alphabetisch nach Ebenennamen ( Ebenen sortieren nach ).


Vielen Dank. Aber ich kenne die anderen Sortierwege. Esri hilft dabei, diese Wege zu beschreiben. Aber nicht mein Fall, was ich brauche. Wie kann ich es programmieren? Ich habe etwas mit PLTS gefunden, aber nichts auf diese Weise gefunden. Nochmals vielen Dank für jeden Rat.
Luis

0

Ja, du kannst es schaffen

Einzelheiten zum Sortieren des Inhaltsverzeichnisses in alphabetischer Reihenfolge finden Sie unter: http://resources.arcgis.com/de/help/main/10.1/index.html#//0106000001qt000000


1
Dies scheint nur möglich zu sein, wenn Sie über diese Erweiterung verfügen und nicht über ArcMap.
Devdatta Tengshe
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.