Mercurial > mxd2map
view contrib/python/FixWorkspacePaths.py @ 174:707f13cfba74
Improved the commandline arguments and save the mapfile in the correct directory.
author | raimund.renkert@intevation.de |
---|---|
date | Wed, 06 Jul 2011 18:38:40 +0200 |
parents | 93699e8f2d1f |
children | 4dc2b9aa3c57 |
line wrap: on
line source
import arcpy, os inputMXD = arcpy.GetParameterAsText(0) newpath = r'C:\mxd-konverter\testdata-frida' rootdir = inputMXD for root, subFolders, files in os.walk(rootdir): for file in files: f = os.path.join(root, file) if os.path.isfile(f): basename, extension = os.path.splitext(f) if extension.lower() == ".mxd": print "Bearbeitet Dokument %s" % f mxd = arcpy.mapping.MapDocument(f) #Report broken sources if len(arcpy.mapping.ListBrokenDataSources(mxd)) > 0: for brkLyr in arcpy.mapping.ListBrokenDataSources(mxd): if brkLyr.supports("dataSource"): oldpath = brkLyr.dataSource oldworkspace = brkLyr.workspacePath print "Old dataSource-Path %s, old workspacePath %s " % (oldpath, oldworkspace) # Replace brkLyr.findAndReplaceWorkspacePath(oldworkspace, newpath) print "Corrected path: %s" % brkLyr.workspacePath print "Corrected dataSource: %s" %brkLyr.dataSource mxd.save() print "Wrote file %s" % f print arcpy.GetMessages() else: print "keine kaputten Layer gefunden" del mxd