ใช้ Data Driven Pages (DDP) เพื่อสร้างชุดแผนที่ที่มีขอบเขตเท่ากัน แต่มีเลเยอร์ต่างกันหรือไม่?


9

เป็นไปได้หรือไม่ที่จะใช้เครื่องมือ Data Driven Pages (DDP) ใน ArcMap หรือ ArcPy เพื่อสร้างชุดของแผนที่ที่มีขอบเขตเท่ากัน แต่แสดงเลเยอร์ต่างกัน?

เพื่อความกระจ่างแจ้งฉันจัดทำแผนที่ขนาดใหญ่เป็นประจำสำหรับโครงการทั้งหมดในสถานที่เดียวกันบ่อยครั้งที่มีผู้อ้างอิงรายเดิม แต่ได้รับการแก้ไขเพื่อให้ความสำคัญกับแง่มุมต่าง ๆ สำหรับส่วนที่เกี่ยวข้องของรายงานเช่นสถานที่ตรวจสอบการใช้ที่ดินคุณสมบัติหลัก ฯลฯ ต้องมี. mxds แยกต่างหากในการสร้างและดูแล

ระบบประเภท DDP จะอนุญาตให้ฉันใช้ข้อความแบบไดนามิกและทำให้แน่ใจว่ามีเทมเพลต / เอาต์พุตมาตรฐานตลอดมันจะทำให้ชีวิตง่ายขึ้นมากเมื่ออัปเดตหมายเลขตัวเลขทั่วไปหรือแสดงความคิดเห็นเนื่องจากมีการเขียนรายงานในหนึ่ง. xdd มากกว่า ลูกค้า

ฉันใช้ ArcMap 10.1 แต่การอ่านArcGIS DDP ช่วยฉันคิดว่านี่จะต้องใช้กับ ArcPy เพราะฉันไม่สามารถหาวิธีที่จะทำได้ใน ArcMap ฉันทราบว่า QGIS มีปลั๊กอิน Atlasแม้ว่าฉันจะไม่คุ้นเคยกับความสามารถของมัน แต่จะใช้เป็นทางเลือกอย่างมีความสุข


1
ฉันคิดว่าสิ่งที่คุณกำลังมองหาคือการเขียนสคริปต์เอกสารแผนที่ของคุณเปลี่ยนแปลงใน Python โดยใช้ชุดเครื่องมือarcpy.mapping ดูการอ้างอิงเพื่อสร้างหนังสือแผนที่ที่สมบูรณ์และอื่น ๆ โดยเฉพาะอย่างยิ่งในเอกสาร "หนังสือแผนที่ชุดอ้างอิงอย่างง่าย"
RyanKDalton

คำตอบ:


4

นี่คือความคิดของฉันใน pseudocode: คุณจะได้รับ MapDocument ของคุณจากนั้น ListDataFrames จากนั้น ListLayers จากนั้นคุณควรจะวนซ้ำผ่านเลเยอร์สลับคุณสมบัติการมองเห็นของเลเยอร์ ExportToPDF (หรืออะไรก็ตาม) จากนั้นสลับการเปิดเผยข้อมูลอีกครั้งและย้ายไปยังเลเยอร์ถัดไป หากคุณต้องการปล่อยให้เลเยอร์บางอย่างเป็นเลเยอร์พื้นฐานบางทีคุณอาจจัดกลุ่มสิ่งที่คุณต้องการเปลี่ยนสำหรับแต่ละแผนที่และสลับเฉพาะการมองเห็นสำหรับผู้ใช้เหล่านั้นด้วยการทดสอบ IsGroupLayer = True หรือไม่ บางทีคนอื่นอาจมีตัวอย่างรหัสจริง ...


ฉันไม่เคยพบโซลูชัน Arc ในตัว แต่เพื่อนร่วมงานได้พัฒนาสคริปต์ไพ ธ อนสำหรับกระบวนการที่เป็นไปตามโครงสร้างพื้นฐานที่คุณแนะนำ สคริปต์ใช้กลุ่มเพื่อสร้างหน้าใหม่ใน pdf และสามารถใช้ร่วมกับ DDP เพื่อสร้างแผนที่ด้วยชุดของแผนที่สำหรับหลาย ๆ ไซต์
MAJ742

5

วิธีการรหัสฟรี

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

  1. ตั้งค่าเฟรมแผนที่ของคุณให้อยู่ในตำแหน่งเดียวกัน แต่มีฟิลด์สำหรับหมายเลขหน้า ตั้งค่าข้อมูลที่ขับเคลื่อนด้วยหน้าที่มีหมายเลขหน้าเป็นฟิลด์ชื่อ
  2. หากคุณต้องการเปิดเลเยอร์สำหรับหน้าใดหน้าหนึ่งให้เพิ่มแอททริบิว "หน้า" ลงในตารางและตั้งค่าเป็นหมายเลขหน้าที่เกี่ยวข้อง
  3. เพิ่มแบบสอบถามคำจำกัดความของหน้าให้กับเลเยอร์ที่ต้องการด้วยฟิลด์ที่สร้างขึ้นใหม่ของคุณ

เมื่อเลือกหน้าเลเยอร์ที่ต้องการจะปรากฏให้เห็นตามการสืบค้นคำจำกัดความของหน้า


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