ฉันต้องการเข้าถึงเลเยอร์คำอธิบายประกอบโดยใช้ arcpy (วัตถุประสงค์คือเพื่อตรวจสอบสตริงข้อความเล็กน้อยในคำอธิบายประกอบข้อความ) เมื่อใช้คำอธิบายประกอบฉันหมายถึงวาดคำอธิบายประกอบเครื่องมือไม่ใช่ป้ายกำกับแบบไดนามิก เลเยอร์คำอธิบายประกอบเหล่านี้อยู่ภายใต้เลเยอร์กลุ่มด้วยชื่อ 'เริ่มต้น'
เอกสาร Esriพูดของวาดคำอธิบายประกอบเป็นชั้นตัวเอง:
มีชั้นสามประเภทในเอกสารแผนที่: เลเยอร์คุณสมบัติเลเยอร์กลุ่มและเลเยอร์แรสเตอร์ คุณสมบัติ isFeatureLayer, isGroupLayer และ isRasterLayer อนุญาตให้คุณระบุหรือแยกประเภทชั้นส่วนใหญ่ แต่ไม่ใช่ประเภทชั้นทั้งหมด มีเลเยอร์พิเศษและชุดข้อมูลไม่กี่รายการที่ไม่จัดอยู่ในหนึ่งในสามหมวดหมู่นี้: ซับคลาสย่อย, คุณสมบัติมิติ, ชุดข้อมูลเครือข่าย, ชุดข้อมูลภูมิประเทศ, ชุดข้อมูลภูมิประเทศ, ชุดข้อมูลโทโพโลยีและอื่น ๆ ในกรณีเหล่านี้คุณอาจต้องทดสอบคุณสมบัติอื่น ๆ เพื่อแยกชั้นของความสนใจก่อนที่จะทำอะไรลงไป
สิ่งหนึ่งที่ต้องระวังคือวิธีที่ ArcGIS จัดการกับคำอธิบายประกอบการวาดการกำหนดค่าเฉลี่ยสองค่าเป็นไปได้:
ArcGIS รองรับการเพิ่มความคิดเห็นสองประเภท: geodatabase และเอกสารแผนที่
ในกรณีของฉันมันเป็นเอกสารแผนที่
ในแง่ของเอกสารทั้งหมดนี้มันจึงปรากฏว่าคำอธิบายประกอบการวาดเป็นเลเยอร์เพียงดังนั้นรหัสง่ายๆเช่นนี้ควรจะทำงาน:
mxd = arcpy.mapping.MapDocument("some\mxdpath\here")
df = arcpy.mapping.ListDataFrames(mxd,"Layers")
lyr = arcpy.mapping.ListLayers(mxd,"current_annotation_layer",df)
แต่ปัญหาคือคำอธิบายประกอบดูเหมือนจะไม่สามารถหาได้ผ่าน dataframe (ซึ่งเป็นเรื่องแปลกเมื่อพิจารณาเลเยอร์คำอธิบายประกอบแต่ละชั้นของฉันจะเชื่อมโยงกับเลเยอร์คุณลักษณะ)
คลาสอาร์คซี่เฉพาะใด ๆ ในการเข้าถึงคำอธิบายประกอบ (อันหนึ่งที่เทียบเท่ากับIAnnotationFeature2ของ ArcObject SDK)? วิธีแก้ปัญหาใด ๆ
ขอบคุณมาก!