Mercurial > mxd2map
view contrib/python/FixWorkspacePaths.py @ 202:1e3a5019c4ed
* INSTALL.txt, LICENCE.txt, doku/source/LICENCE.txt,
doku/source/conf.py, doku/source/functionality.txt,
doku/source/index.txt, doku/source/restrictions.txt: Added some
formatting, a section about the setup of environment vars needed
for runtime, added some more features.
author | Stephan Holl <stephan.holl@intevation.de> |
---|---|
date | Thu, 21 Jul 2011 09:38:44 +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