การสร้างตารางสรุปของสัญลักษณ์ของชุดข้อมูลทั้งหมดใน MXD หลายชุด?


9

นี้จะเกี่ยวข้องกับต่อไปนี้เก็บ ESRI สัญลักษณ์ใน Mapinfo TAB เป็นขั้นตอนเริ่มต้น (ใน arcpy) ฉันต้องการเข้าถึงสัญลักษณ์ของชุดข้อมูลทั้งหมดและสร้างเอกสารที่มีรายละเอียดของสัญลักษณ์ตามกราฟิกด้านล่าง ป้อนคำอธิบายรูปภาพที่นี่

เป็นไปได้หรือไม่ (ฉันควรลงทุนเวลาทำงานให้เสร็จ) หรือถ้าเป็นไปไม่ได้ฉันจะต้องทำเองด้วยตนเองกับ MXD หลายร้อยรายการ (: -

เพื่อแยกขั้นตอน - อย่างหวังดีฉันสามารถทำให้กระบวนการเป็นส่วนน้อยโดยอัตโนมัติ

  1. เลื่อนผ่าน mxd's และรับชุดข้อมูลที่อยู่ไม่มีปัญหา

    lyrFile = arcpy.mapping.Layer if lyrFile.visible == จริง:

  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

ปัญหาคือฉันไม่พบสิ่งใดที่ได้รับ RGB, line / point / polygon, น้ำหนัก line, font เป็นต้นหากพบสิ่งเหล่านี้ได้ในขั้นตอนต่อไป

  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

ฉันกำลังขออาร์คกี้มากไหม?


นี่อาจเป็นไปได้กับ ArcObjects แต่ไม่แน่นอน arcpy
blah238

ขอบคุณ ทุกคนสามารถให้ความช่วยเหลือในการประมวลผล arcobjects ได้หรือไม่?
GeorgeC

เท่านั้นที่สามารถชี้ให้คุณที่จะเริ่มต้น: ArcObjects .NET SDK ช่วยเหลือ ; การทำงานกับสัญลักษณ์และสีและการทำงานกับชั้นและโหมดแสดงภาพ หากไม่มีอะไรอื่นหลังจากอ่านผ่านสิ่งเหล่านี้คุณจะสามารถกำหนดความต้องการของคุณได้อย่างแม่นยำมากขึ้นและ จำกัด ขอบเขตของงานเพราะมันจะเป็นงานจำนวนมากฉันคิดว่า
blah238

นี่คือตัวอย่าง VB6 เก่าสำหรับการส่งออกสัญลักษณ์สไตล์: สไตล์การถ่ายโอนข้อมูล ตรวจสอบ StyleDump.bas สำหรับเนื้อของมัน
blah238

คำตอบ:


3

ฉันแก้ไขปัญหาที่คล้ายกันโดยการแปลงเอกสาร MXD เป็น MSD (ซึ่งเป็นเพียงไฟล์ zip) ดังนั้นหากคุณเปลี่ยนนามสกุลเป็น ".zip" และเปิดขึ้นมาคุณจะพบเอกสาร. xml บางตัวที่มีข้อมูลจำนวนมาก ชั้นภายใน mxd จะปรากฏขึ้น arcpy.ConvertToMSDอาจมีงานบางอย่างที่เกี่ยวข้องกับการรับข้อมูลที่คุณต้องการ แต่ควรอยู่ในที่นั้น หวังว่าจะช่วย!


ขอบคุณสำหรับความคิดที่ดีที่สุด มันมีประโยชน์จริงๆ รหัสที่สร้างขึ้นใน xml นั้นค่อนข้างซับซ้อนคุณตั้งโปรแกรมจับ xml ที่เกี่ยวข้องโดยอัตโนมัติหรือไม่และถ้าเป็นเช่นนั้นคุณสามารถแบ่งปันได้หรือไม่ถ้าไม่ใช่ฉันจะเริ่มทำงานในส่วนนี้
GeorgeC

ฉันสนใจเฉพาะค่าสองค่าใน xml เท่านั้นดังนั้นสิ่งใดก็ตามที่ฉันจะสร้างได้ยากมาก แต่มีบทเรียนแบบ python xml ที่ดีมาก ๆ อยู่ที่นั่นดังนั้นถ้าคุณพร้อมที่จะใช้เวลาอ่านฉันแน่ใจว่าคุณจะแก้ปัญหาได้ Happy coding :)
dango

2
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.