मेरे पास लगभग 50 mxd की सभी टूटी हुई परतों के साथ है जो मुझे गुजरना और मैन्युअल रूप से रीसेट करना है।
डेटा को किसी अन्य कंप्यूटर से स्थानांतरित किया गया था और फ़ोल्डर संरचना को बदल दिया गया था, इसलिए यह बदलने की एक सरल प्रक्रिया नहीं है (उदाहरण):
"F: \ Data \ Rivers.shp" से "C: \ Data \ Rivers.shp"
यह अधिक पसंद है:
"F: \ Data \ Rivers.shp" को C: \ Data \ Park \ Water \ Rivers.shp
और इसलिए सभी प्रकार के डेटा (सीमाएं, शाकाहारी कवर, सड़क, आदि) के लिए प्रत्येक अपने स्वयं के उप-फ़ोल्डर में।
मैं एक स्क्रिप्ट बनाना चाहता हूं कि जब भी मैं इनमें से किसी एक mxd को खोलूं तो मैं बार-बार चला सकता हूं जो कि कम से कम कुछ सामान्य परतों की मरम्मत करता है जो कि मेरे mxd में से अधिकांश में पाई जाती हैं, और फिर मैं मैन्युअल रूप से बाकी की मरम्मत कर सकता हूं। इस तरह मैं कम से कम खुद को कुछ समय बचा सकता हूं ।
मैं कुछ लाइनों का उपयोग कर रहा हूं:
import arcpy
mxd = arcpy.mapping.MapDocument("CURRENT")
for lyr in arcpy.mapping.ListLayers(mxd):
if lyr == "Rivers": #Should this be the layner name in TOC or FC name?
lyr.replaceDataSource(r"C:\Data\Park\Water", "SHAPEFILE_WORKSPACE", "Rivers")
फिर विचार यह होगा कि किसी भी तरह से अन्य "परतों" लिपियों को अन्य सामान्य परतों में जोड़ा जाए जो कि मेरे mxd में हैं।
हालाँकि उपरोक्त लिपि भी नदियों की परत को ठीक नहीं करती है।
मैं इसे काम करने के लिए कैसे प्राप्त कर सकता हूं, और मरम्मत के लिए अन्य परतों में भी जोड़ सकता हूं जिनके पास अलग-अलग फ़ाइल पथ हैं?