कई MXDs में सभी डेटासेटों के सहजीवन की सारांश तालिका बनाना?


9

यह Mapinfo TAB में निम्नलिखित रिटेन ESRI सिम्बोलॉजी से संबंधित है । एक प्रारंभिक चरण के रूप में (आर्कपी में) मैं सभी डेटासेट के सिम्बॉलॉजी तक पहुंचना चाहता हूं और एक दस्तावेज बनाना चाहता हूं जिसमें नीचे दिए गए ग्राफिक के अनुसार सिम्बोलॉजी का विवरण है। यहां छवि विवरण दर्ज करें

क्या यह संभव है (क्या मुझे इसे काम करने के लिए समय का निवेश करना चाहिए) या यदि यह संभव नहीं है, तो मुझे सैकड़ों MXD पर मैन्युअल रूप से इसे करने के लिए क्रैकिंग प्राप्त करना होगा: (: -

चरण-दर-चरण को तोड़ने के लिए-मैं प्रक्रिया के कम से कम भाग को स्वचालित कर सकता हूं।

  1. mxd के माध्यम से स्क्रॉल करना और उन डेटासेट को प्राप्त करना जो कोई समस्या नहीं है

    lyrFile = arcpy.mapping। अगर lyrFile.v अदृश्य == सच:

  2. जैसा कि यह एक डेटासेट पाता है, इसे एक .lyr फ़ाइल बनानी चाहिए (जैसा कि ज्यादातर shp / gdb फाइलें हैं) और फिर AttribXXX = lyrFile.xxx

XXX और xxx कहां हैं

BRIGHTNESS = lyrFile.brightness

(ऊपर प्रारूप करने के लिए निम्नलिखित)

CONTRAST contrast
DATASETNAME datasetName
DATASOURCE dataSource
DESCRIPTION description
LABELCLASSES labelClasses
LONGNAME longName
NAME name
SHOWLABELS showLabels
TRANSPARENCY transparency
WORKSPACEPATH A layer's workspace or connection file path

मुद्दा यह है कि मुझे आरजीबी, लाइन / पॉइंट / पॉलीगॉन टाइप, लाइन वेट, फॉन्ट आदि कुछ भी नहीं मिल रहा है। यदि ये मिल सकते हैं तो अगला चरण

  1. ऊपर दिए गए प्रत्येक मान को CSV (आसान) पर लिखें ... उदाहरण के लिए (इसका विस्तार करना होगा)

                    f = open(origPath+'\\LayerAtrributes_LOG.txt', 'a')
                    f.write(str(DATASETNAME)+","+str(DATASOURCE)+","+str(DESCRIPTION)+","+str(MXDName)+"\n")
                    f.close()
    
  2. यदि संभव हो तो सिम्बॉलॉजी का एक jpg उदाहरण के रूप में निर्मित किया जाना चाहिए और इसमें दिए गए लिंक को csv में जोड़ा जाएगा।

क्या मैं बहुत खस्ता है?


यह संभव हो सकता है आर्कोबजेक्ट्स के साथ लेकिन निश्चित रूप से आर्कपी नहीं।
blah238

धन्यवाद। क्या कोई भी आर्कोबजेक्ट्स प्रसंस्करण के साथ सहायता कर सकता है?
जार्ज

केवल आपको इंगित करना है कि कहां से शुरू करें: ArcObjects .NET SDK मदद ; प्रतीकों और रंगों के साथ कार्य करना और परतों और दाता के साथ काम कर रहे । यदि और कुछ नहीं, शायद उन के माध्यम से पढ़ने के बाद आप क्योंकि यह, और अधिक स्पष्ट अपनी आवश्यकताओं को परिभाषित करने और काम के दायरे को सीमित करने में सक्षम हो जाएगा होगा बहुत काम हो सकता है, मुझे लगता है।
blah238

शैली प्रतीकों के निर्यात के लिए यहां एक पुराना VB6 नमूना है: स्टाइल डंप । इसके मांस के लिए StyleDump.bas की जाँच करें।
blah238

जवाबों:


3

मैंने MXD दस्तावेज़ को MSD (जो कि केवल एक ज़िप फ़ाइल है) में परिवर्तित करके इसी तरह की समस्या को हल किया है, इसलिए यदि आप एक्सटेंशन को ".zip" में बदलते हैं और इसे खोलें तो आपको कुछ .xml दस्तावेज़ मिलेंगे जिनमें जानकारी का एक बहुत कुछ है। Mxd के भीतर परत प्रदर्शित किया जाता है। arcpy.ConvertToMSD आपकी इच्छित जानकारी प्राप्त करने में कुछ काम अनपेक्षित हो सकते हैं लेकिन यह कहीं न कहीं होना चाहिए। उम्मीद है की वो मदद करदे!


इस सेमिनल विचार के लिए धन्यवाद। यह वास्तव में मददगार है। Xml में उत्पन्न कोड काफी जटिल है, क्या आपने प्रोग्राम को स्वचालित रूप से संबंधित xml पर कब्जा कर लिया है और यदि आप इसे साझा कर सकते हैं, यदि नहीं तो मैं इस पहलू पर काम करना शुरू कर दूंगा।
जॉर्ज 1

मैं केवल xml में दो मूल्यों में दिलचस्पी रखता था, इसलिए मेरे पास कुछ भी बनाने के लिए बहुत कठिन होगा। लेकिन वहाँ वास्तव में अच्छा अजगर xml ट्यूटोरियल के ढेर हैं अगर आप कुछ समय पढ़ने के लिए तैयार हैं तो मुझे यकीन है कि आप समस्या का समाधान करेंगे। हैप्पी कोडिंग :)
डांगो

2

मूल रूप से यह संभव नहीं था, लेकिन परिणाम प्राप्त करने के लिए एक गोल चक्कर रास्ता तैयार किया। अंतिम परिणाम के लिए टूल इशू को आर्कगिस पाइथन स्क्रिप्ट देखें ।

इस चरण में आने के लिए अन्य प्रश्न हैं

MapInfo / OpenGeo के लिए फ़ॉन्ट के लिए आर्कगिस शैली (सिम्बोलोजी) परिवर्तित करना?

Mapinfo TAB में ईएसआरआई सिम्बॉलॉजी को बनाए रखें

तथा

कई MXDs में सभी डेटासेटों के सहजीवन की सारांश तालिका बनाना?

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.