Die Projekte von ArcGIS Desktop sind in mxd-Dateien gespeichert. Hat man wie ich viele Dateien die auch noch jeweils viele Layer haben, ist es sehr mühselig und zeitaufwändig alle Layer in jeder mxd per Hand zu aktivieren. Deshalb habe ich mir ein kleines Pythonskript zusammengesetzt, was diese lästige Aufgabe übernimmt:
(Bitte vorher ein Backup der mxds anlegen, um die alten Layersichtbarkeiten bei Bedarf wieder herzustellen.)
# Import import arcpy import os import glob # Create LayerList list = glob.glob(r"Pfad\zum\mxd-Verzeichnis\*.mxd") for k in list: # Select mxd mxd = arcpy.mapping.MapDocument(k) print "Processing "+k+"..." # Activate every Layer in mxd for lyr in arcpy.mapping.ListLayers(mxd): lyr.visible = True # Save the mxd-file mxd.save() # Done print "\nDone."
Den Inhalt einfach in eine Textdatei kopieren und in Zeile 7 das Verzeichnis eintragen, in dem die mxd-Dateien liegen. Die Datei unter einem beliebigen Namen als .py-Datei abspeichern und per Doppelklick ausführen. Damit das Skript sauber durchläuft, muss Python 2.7 und ArcGIS Desktop 10.2.2 (oder neuer) installiert sein.
Wozu das gut ist? Möchte man die Performance von vielen mxds per Skript testen (mxdperfstat), sollten vorher alle Layer aktiviert sein, um verlässliche Werte zu bekommen.