การสร้างเส้นคู่ขนานที่ระยะทางเฉพาะจากบรรทัดที่เป็นส่วนหนึ่งของ shapefile


11

ฉันใช้ QGIS 2.18 ฉันมี shapefile ซึ่งมีหลายบรรทัด หลังจากการประมวลผลข้อมูลบางอย่างฉันต้องวาดเส้นคู่ขนานในระยะทางที่แตกต่างจากบรรทัดที่มีอยู่ ตัวอย่างเช่นฉันมี 32 บรรทัดใน shapefile ที่มีอยู่ ฉันต้องการวาดเส้นขนานที่ระยะ 50, 100, 170, 500,400 จากหมายเลขบรรทัด 3, 6,20,25,31 ในครั้งเดียว มีวิธีการหรือปลั๊กอินใน QGIS ที่ทำแบบเดียวกันหรือไม่?

คำตอบ:


6

คุณสามารถใช้ปลั๊กอินQADซึ่งมีคำสั่งเหมือน CAD ใน QGIS

ใช้งานได้กับระบบที่คาดการณ์ไว้เท่านั้น (ดังนั้นคุณจำเป็นต้องฉายข้อมูลของคุณก่อนใช้งาน) และเปิดใช้งานโหมดแก้ไข (คลิกขวาที่เลเยอร์และเลือกToggle Editing)

สำหรับกรณีของคุณคุณต้องคลิกที่ปุ่มOffset :

ป้อนคำอธิบายรูปภาพที่นี่

และทำตามคำแนะนำที่จะปรากฏบนหน้าต่างข้อความ QAD (เหมือนกับใน AutoCAD):

ป้อนคำอธิบายรูปภาพที่นี่

ตัวอย่างเช่นนี่คือผลลัพธ์เมื่อใช้ออฟเซ็ตต่างกันสำหรับคุณสมบัติที่แตกต่างกันสองประการ

ป้อนคำอธิบายรูปภาพที่นี่


ขอบคุณสำหรับการตอบกลับของคุณ. มีวิธีการหรือปลั๊กอินอื่น ๆ ที่จะทำงานนี้โดยไม่ต้องฉายข้อมูล?
Jitendra

ฉันใช้วิธีการกับข้อมูลที่คาดการณ์เนื่องจากดูเหมือนว่าคุณกำลังติดต่อกับเมตร ( ระยะทาง 50, 100, 170, 500,400 .. ) การเปลี่ยนการฉายนั้นง่ายมาก: คลิกขวาที่เลเยอร์แล้วSave asเลือกระบบพิกัดที่ฉายไว้ เมื่อคุณดำเนินการออฟเซ็ตแล้วคุณอาจย้อนกลับไปยังระบบพิกัดทางภูมิศาสตร์ด้วยการดำเนินการย้อนกลับ ... มันควรจะถูกต้อง
mgri

โดยไม่ต้องฉายข้อมูลที่คุณจำเป็นต้องจัดการกับมุมแทนเมตรและผมไม่ทราบว่ามันกลายเป็นเรื่องง่ายสำหรับคุณ ...
mgri

เครื่องมือ QAD ทำงานได้ดี แต่ฉันต้องทำซ้ำสำหรับทุกบรรทัดใน shapefile ด้วยตนเอง มีวิธีการอ่าน line_ID และระยะทางจากบรรทัดที่อ่านจากตารางคุณลักษณะหรือไฟล์ exel หรือ CSV โดยอัตโนมัติและวาดเส้นขนานทั้งหมดพร้อมกัน
Jitendra

ฉันไม่รู้จักเครื่องมือที่ใช้งานนี้ แต่ฉันอาจลองใช้วิธีแก้ไขปัญหาด้วย PyQGIS ... คุณสนใจหรือไม่
mgri

6

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

คุณสามารถใช้Single sided buffers (and offset lines) for linesอัลกอริทึมภายใต้GDAL/OGR > [OGR] Geoprocessingในกล่องเครื่องมือการประมวลผล คุณจะต้องตั้งค่าการทำงานเป็นOffset Curveและใส่ชื่อของคอลัมน์ที่มีระยะห่างในระยะบัฟเฟอร์ (ในกรณีของฉันชื่อของคอลัมน์คือความกว้าง ) นอกจากนี้คุณสามารถตั้งค่าว่าควรลากเส้นข้างใดของเส้นคู่ขนานโดยเลือกด้านบัฟเฟอร์เป็นขวาหรือซ้าย

ป้อนคำอธิบายรูปภาพที่นี่


ขอบคุณสำหรับการตอบ. ฉันใช้เครื่องมือ OGR ตามคำแนะนำของคุณ แต่ไม่มีอะไรปรากฏในไฟล์รูปร่างออกใหม่
Jitendra

คุณสามารถแชร์ระบบการฉายไฟล์รูปร่างของคุณได้หรือไม่? ภาพหน้าจอของตารางแอตทริบิวต์ชั้นผลลัพธ์อาจเป็นประโยชน์
แนช

ระบบการฉายของ shapefile คือ EPSG 4326
Jitendra

ดังนั้นคุณจะเข้าใจว่าบรรทัดใหม่ถูกสร้างขึ้นที่ระยะ 50,100,170,500 และ 400 ซึ่งอยู่ในหน่วยองศาและไม่ใช่เมตร (ซึ่งฉันสมมติว่าคุณต้องการ?)
nash

สมมติว่าคุณต้องการระยะทางเป็นเมตรคุณจะต้องแปลงรูปร่างไฟล์ของคุณในระบบการฉายด้วยหน่วยเป็นเมตร (ตัวอย่างเช่นระบบการฉาย UTM ของโซนที่เกี่ยวข้อง) จากนั้นเรียกใช้อัลกอริทึม
แนช

6

คุณอาจใช้ "v.parallel" คุณสามารถพบเครื่องมือนี้ในกล่องประมวลผล QGIS

  1. เลือกบรรทัดที่มีหมายเลขบรรทัด 3, 6,20,25,31 เลือกเส้น

  2. ใช้ "v.parallel" สร้างเส้นคู่ขนานจากบรรทัดที่เลือก แต่คุณต้องทำหลาย ๆ ครั้งเพื่อสร้างระยะทางชดเชยที่แตกต่างกัน (50, 100, 170, 500,400) มีตัวเลือก "ด้าน" คุณสามารถกำหนดตำแหน่งของเส้นคู่ขนาน "v.parallel"

  3. ผลลัพธ์: เส้นคู่ขนาน (สีฟ้า) ที่ด้านซ้ายของเส้นที่เลือก ผลลัพธ์

ขอบคุณ Cy Y สำหรับการตอบกลับ ฉันใช้คำสั่ง v.parallel แต่ไม่มีอะไรแสดงในไฟล์รูปร่างออกใหม่
Jitendra

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