มีตัวเลือกใน QGIS ในการวาดเส้นขนานที่ snap บนส่วนด้านนอกของบรรทัด (เส้นที่อยู่ติดกัน) ที่เป็นอิสระจากมาตราส่วนหรือไม่?


12

ฉันต้องวาดแผนที่ของเครือข่ายการขนส่งสาธารณะและฉันมีปัญหาในถนนที่มีหลายสายผ่าน วัตถุประสงค์ของฉันคือการทำแผนที่แสดงภาพที่เส้นในลู่ทางนั้นขนานกันจากที่อื่นและไม่มีที่ว่างระหว่างพวกเขาเพื่อที่จะเห็นพวกมันทั้งหมดในเวลาเดียวกันโดยไม่คำนึงถึงขนาด

ฉันได้ลองใช้ตัวเลือกการสแนปและการวาดภาพแบบขนาน (เครื่องมือ CAD) แต่ปัญหาคือเมื่อฉันเปลี่ยนสเกลระยะทางระหว่างเส้นเปลี่ยนไปและพวกมันก็ชนกันหรือแยกออกจากกันทำให้ทุกอย่างยุ่งเหยิง

ดังนั้นคำถามของฉันคือ:

  • มีตัวเลือกในการวาดเส้นที่อยู่ติดกันซึ่งอยู่ติดกันอย่างอิสระจากระดับของการสร้างภาพ?

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


นี่คือสิ่งที่เกิดขึ้นเมื่อฉันซูมเข้า:

ขยายเข้า

และเมื่อฉันซูมออก:

ซูมออก

แก้ไข: ที่นี่ฉันแบ่งปันสถานการณ์ว่าทำไมโซลูชันที่แนะนำไม่ทำงานสำหรับฉัน สามบรรทัดแชร์ถนนเดียวกันชั่วขณะหนึ่งจากนั้นพวกเขาแยกออกเป็นสามถนนที่แตกต่างกัน

แยก

ฉันไม่สามารถใช้บรรทัดเดียวที่มีสัญลักษณ์หลายรายการได้เนื่องจากทั่วทั้งเครือข่ายเส้นแบ่งและเข้าร่วมอีกครั้ง (มีรถบัสมากกว่า 15 สาย)

ข้อมูลที่อยู่ในข้อมูลคุณลักษณะไม่ได้ช่วยฉันเพราะมันเป็นเพียงเลเยอร์ที่เต็มไปด้วยเส้นโดยไม่มีแอตทริบิวต์อื่นนอกจากข้อมูลเครือข่ายบางอย่าง (จำนวนรถโดยสาร / ชั่วโมงผู้โดยสาร / ชั่วโมง ฯลฯ ) (QGIS 2.8.6 ทำงานบน Windows 7)


1
ใน QGIS 2.16 มีการแนะนำตัวเลือกการทำให้ง่ายขึ้นของการเรนเดอร์ใหม่ แม้ว่าฉันจะไม่สามารถยืนยันได้ว่าสิ่งนี้จะช่วยในสถานการณ์ของคุณหรือไม่
โจเซฟ

วิธีการที่ฉันจะทำเช่นนี้ใน ArcGIS สำหรับเดสก์ท็โดยการตั้งค่าขนาดอ้างอิงในกรอบข้อมูล
PolyGeo

สวัสดี @PolyGeo ปัญหาเกี่ยวกับการแก้ปัญหานี้ (ที่สามารถนำมาใช้ใน QGIS เปลี่ยนหน่วยเป็น "แผนที่หน่วย") คือฉันต้องการเส้นที่จะเปลี่ยนความกว้างของพวกเขาขึ้นอยู่กับขนาด แต่ไม่ใช่ความสัมพันธ์ระหว่างพวกเขา ฉันรู้ว่าสิ่งที่ฉันต้องการคือสิ่งที่เฉพาะเจาะจงและยากที่จะนำไปใช้ มีบางอย่างที่เหมาะสมสำหรับ Illustrator มากกว่าซอฟต์แวร์ GIS ขอบคุณสำหรับการช่วยเหลือ!
Andreu Amoros

รูปทรงของเส้นทั้งหมดอยู่ด้านบนของอีกอันหรือว่ามีออฟเซ็ตอยู่บ้างไหม?
โจเซฟ

ในบางกรณีพวกเขานอนทับกันและในบางกรณีพวกเขาไม่อยู่ คุณเสนออะไร
Andreu Amoros

คำตอบ:


6

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

เริ่มต้นด้วยสาย 1.1 กม. ใน CRS 3857 (ตัวชี้วัด, หลอก - Mercator ตาม Google และบริการเว็บอื่น ๆ ):

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

ในคุณสมบัติเพิ่มเลเยอร์สัญลักษณ์อื่น (เพื่อให้คุณเห็นสองบรรทัด)

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

กำหนดความกว้างของแต่ละบรรทัดในหน่วยแผนที่ - ในกรณีนี้หน่วยเป็นเมตรและฉันเลือกความกว้าง 50 เมตรและตั้งค่าออฟเซ็ตของแต่ละบรรทัดให้ครึ่งหนึ่งของความกว้างโดยหนึ่งในนั้นมีค่าเท่ากัน แต่เป็นค่าลบชดเชย:

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

สิ่งนี้จะทำให้คุณดูหลังจาก:

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

... และมันยังคงอยู่ในระดับที่แตกต่างกัน:

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


2
ฉันคิดเกี่ยวกับเรื่องนี้ แต่มันจะยากที่จะจัดการกับที่เส้นแบ่ง
วิกเตอร์

@Victor เกี่ยวกับการแยก: คุณสามารถสร้างคุณลักษณะที่แตกต่างกันเช่น "บรรทัดเดียว", "สองบรรทัด" ด้วยค่าจริง / เท็จและใช้การติดฉลากตามกฎ
sweet.sugar.cola

1
@Victor เห็นด้วยจำเป็นต้องได้รับข้อมูลเพิ่มเติมจาก OP เกี่ยวกับลักษณะของข้อมูล วิธีนี้อาจไม่ทำงานขึ้นอยู่กับว่าสายเชื่อมต่อและแยกกัน
Simbamangu

1
@Andreu คุณอาจคลิก 'แก้ไข' ในโพสต์ต้นฉบับของคุณและเพิ่มข้อมูลนั้น (และตัวอย่างของวิธีที่โซลูชันนี้ใช้งานไม่ได้ ) และ (ตัวอย่างยังดีกว่า) ข้อมูลบางอย่าง
Simbamangu

@Simbamangu ก่อนอื่นขอขอบคุณที่ลองใช้วิธีแก้ไขปัญหาและแบ่งปันกับฉัน แม้ว่าวิธีการแก้ปัญหานั้นสามารถทำงานได้ในบางกรณีดังที่วิกเตอร์กล่าวว่ามันจะใช้งานได้ยากเมื่อสายแยกจากกัน ในความเป็นจริงมันเกิดขึ้นทุกครั้งที่มีการแยกสายออกเป็นถนนที่แตกต่างกัน ข้อมูลใช้งานได้: ฉันมีเครือข่ายบัสทั้งหมดในรูปร่างที่แตกต่างกัน "ปัญหา" คือพวกมันทั้งหมดถูกวางแผนใหม่ดังนั้นเมื่อฉันเลือกมากกว่าหนึ่งครั้งพวกเขาชนกัน ดังนั้นวัตถุประสงค์ของฉันคือการทำแผนที่ที่คุณสามารถมองเห็นเครือข่ายทั้งหมด ฉันจะแก้ไขโพสต์ของฉัน
Andreu Amoros

3

หากโดย "snapping option" คุณหมายความว่าคุณไม่สามารถเปลี่ยนรูปทรงเรขาคณิตของ polylines และคุณสามารถเปลี่ยน symbology ได้เท่านั้นสิ่งที่คุณอธิบายไม่สามารถทำได้

จากตัวอย่างของคุณดูเหมือนว่าคุณกำลังมองหาการแสดง polylines เพื่อให้ส่วนที่ขนานกันสัมผัสกันโดยไม่ทับซ้อนกันเช่นโดยให้มีเส้นแบ่งระหว่างเส้นขนานสองเส้นเท่ากันโดยแบ่งระยะห่างออกจากกัน หากเราดูการเป็นตัวแทน polyline เป็นบัฟเฟอร์คุณสามารถสร้างเคส (คล้ายกับรูปที่ 4 ของคุณ) โดยที่บรรทัดเดียวกันควรมีความกว้าง "บัฟเฟอร์" ที่แตกต่างกันในแต่ละส่วน (กำหนดโดยบรรทัดที่ใกล้เคียงที่สุด) กล่าวอีกนัยหนึ่งความกว้างของบัฟเฟอร์ของคุณจะขึ้นอยู่กับโพลีนอื่น ๆ และอาจแตกต่างกันไปตามส่วนต่าง ๆ ของโพลีน แต่โดยทั่วไปแล้วการใช้สัญลักษณ์จะใช้เฉพาะข้อมูล / คุณสมบัติของสถานที่นั้น ๆ

แน่นอนคุณสามารถใช้รัศมี "บัฟเฟอร์" รอบ ๆ บรรทัดได้ตลอดเวลาและจัดการจุดยอด (หรือแก้ไขบัฟเฟอร์) ด้วยตนเองเพื่อให้ขอบเขตชิดกัน จากนั้นบัฟเฟอร์จะยังคง "หัก" โดยมีการซูมเข้า / ออกแม้ว่าจะใช้แรงงานคนจำนวนมากและอาจต้องมีการปรับหากมีการเพิ่มบรรทัดใหม่


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

1
@AndreuAmoros นี่คือสิ่งที่ฉันแนะนำ การแก้ไขบรรทัด (หรือ "บัฟเฟอร์" ที่เกี่ยวข้อง) นั้นใช้เวลานาน แต่เป็นสิ่งจำเป็นโดยธรรมชาติของความต้องการของคุณที่บัฟเฟอร์เหล่านี้จัดชิดกัน
tinlyx
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.