प्रोग्राम रूप से ArcGIS लेयर (*। Lyr) फ़ाइल संस्करण का निर्धारण करें


10

मैं .tr फ़ाइल संस्करण का पता लगाने की कोशिश कर रहा है, मैं IStorage, Microsoft यौगिक फ़ाइल कल्पना, ArcObjects deserialization आदि के माध्यम से किया गया है।

ArcObjects का उपयोग करते हुए, मैं लेयर प्रॉपर्टीज़, डेटा स्रोत, सीमा, आदि पर प्राप्त कर सकता हूं, लेकिन LayerFileClass की डॉक्यूमेंटवर्जन प्रॉपर्टी हमेशा 9.3 लेयर फ़ाइलों पर 'esriArcGISVersion10' की रिपोर्ट करती है।

ILayerFile l = new LayerFileClass();
l.Open(fileName);
LayerFileClass t = (LayerFileClass)l;
string version = t.DocumentVersion.ToString();

किसी भी मदद की सराहना की है।

2007 से इस क्रस्टी फोरम पोस्ट पर ध्यान दें ।


क्या आपको .NET बनाम जावा में अलग-अलग परिणाम मिलते हैं?
कर्क कुक्केंडल

1
क्या आपने LayerFileClass के बजाय MemoryBlobStreamClass का उपयोग करने का प्रयास किया? IMemoryBlobStream.LoadFromFile के साथ lyr फ़ाइल खोलें, फिर IDocumentVersion पर जाएं।
कर्क कुक्केंडाल

RE टिप्पणी 2: मैंने अभी कोशिश की - मुझे 8.3, 9 / 9.1, 9.2 और 9.3 लेयर फाइलों के लिए esriArcGISVersion10 मिलता है। RE टिप्पणी 1: जावा ....? वह क्या है? ;) आपकी सहायता के लिए धन्यवाद। मुझे नहीं लगता कि यह संभव है।
वाल्वलेंडन

यह उपयोगी हो सकता है अगर हम समझ गए कि आप .lyr फ़ाइल संस्करण का पता लगाने की कोशिश क्यों कर रहे हैं?
स्टीफन क्वान

1
क्योंकि मैं जानना चाहता हूं कि संस्करण क्या है।
वाल्वलोनडॉन

जवाबों:


6

एक बार एक लेयर फ़ाइल लोड हो जाने के बाद, यह अपग्रेड को खोलने के रूप में वर्तमान संस्करण है। DocumentVersion गुण केवल LayerFile वर्ग के साथ एक पूर्व संस्करण में वापस सहेजने के लिए एक संस्करण सेट करने के लिए मौजूद है।

वास्तविक दस्तावेज़ संस्करण परत फ़ाइल में नहीं लिखा गया है। केवल लिखित संस्करण की जानकारी वस्तु का आंतरिक दृढ़ता संस्करण है। यह जानकारी संरचित भंडारण के माध्यम से निकाली जा सकती है, लेकिन आपको हर संभव परत प्रकार के लिए इस संस्करण संख्या की खोज की आवश्यकता होगी (और आपको परत प्रकार बताने के लिए परत प्रकार मार्गदर्शिका भी निकालने की आवश्यकता होगी)।


उत्तर के लिए धन्यवाद, लेकिन मैं इसके द्वारा थोड़ा खो गया हूं। 'हर संभव परत प्रकार' से क्या अभिप्राय है - जहाँ तक मैं बता सकता हूँ कि पाँच संभावित संस्करण हैं: 8.3, 9 / 9.1, 9.2, 9.3 और 10.
वाल्वलैंडन

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