Skript: Layer in mxd-Dateien aktivieren

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.

Beitrag kommentieren +

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.