मैं आर्कपी का उपयोग करके एनोटेशन परतों तक पहुंचना चाहता हूं (उद्देश्य पाठ एनोटेशन में कुछ पाठ स्ट्रिंग को सत्यापित करना है)। एनोटेशन से मेरा मतलब है कि टूल एनोटेशन , न कि डायनामिक लेबल। ये एनोटेशन लेयर्स 'डिफ़ॉल्ट' के नाम से एक ग्रुप लेयर के अंतर्गत हैं।
ESRI प्रलेखन परतों खुद को किया जा रहा है के रूप में ड्रा एनोटेशन की बात करती है:
मैप दस्तावेज़ में परतों की तीन श्रेणियां अनिवार्य रूप से हैं: फ़ीचर लेयर्स, ग्रुप लेयर्स और रैस्टर लेयर्स। IsFeatureLayer, isGroupLayer, और isRasterLayer गुण आपको परत के अधिकांश प्रकारों को पहचानने या अलग करने की अनुमति देते हैं लेकिन सभी प्रकार की परतें नहीं। कुछ विशेष परतें और डेटासेट हैं जो इन तीन श्रेणियों में से एक में नहीं आते हैं: एनोटेशन उपवर्ग, आयाम सुविधाएँ, नेटवर्क डेटासेट, इलाके डेटासेट, टोपोलॉजी डेटासेट, और इसी तरह। इन मामलों में आपको कुछ करने से पहले ब्याज की एक परत को अलग करने के लिए अन्य गुणों का परीक्षण करने की आवश्यकता हो सकती है।
एक बात से अवगत होना है कि कैसे आर्कजीस एनोटेशन को संभालता है , दो माध्य विन्यास संभव हैं:
आर्कगिस पूरी तरह से दो प्रकार के एनोटेशन का समर्थन करता है: जियोडेटाबेस और मैप दस्तावेज़
मेरे मामले में, यह नक्शा दस्तावेज है।
इस सभी प्रलेखन के प्रकाश में, ऐसा प्रतीत होता है कि ड्रा एनोटेशन केवल परतें हैं, इस प्रकार एक सरल कोड जैसे कि यह काम करना चाहिए:
mxd = arcpy.mapping.MapDocument("some\mxdpath\here")
df = arcpy.mapping.ListDataFrames(mxd,"Layers")
lyr = arcpy.mapping.ListLayers(mxd,"current_annotation_layer",df)
लेकिन समस्या यह है कि एनोटेशन डेटाफ़्रेम (जो मेरी एनोटेशन परतों में से प्रत्येक एक फ़ीचर परत से जुड़ा हुआ है) पर विचार करने के माध्यम से प्राप्य नहीं लगता है।
पहुँच एनोटेशन के लिए कोई विशिष्ट arcpy वर्ग (एक करने के लिए तुलनीय IAnnotationFeature2 ArcObject SDK के)? कोई वर्कअराउंड?
धन्यवाद !